Mercurial > baum
view Makefile @ 53:036779d5da75
"sum" node clears its value now everytime it gets called
author | meillo@marmaro.de |
---|---|
date | Sun, 02 Mar 2008 16:32:52 +0100 |
parents | c31b5bb6d493 |
children | f5f06d6f62b3 |
line wrap: on
line source
# baum by meillo@marmaro.de NAME=baum # extracts VERSION from the sources VERSION=$(shell cat *.c | sed -n '/define VERSION/ s/.*"\([^"]*\)".*/\1/p' ) NV=${NAME}-${VERSION} DOCS=LICENSE README ChangeLog TODO examples # paths PREFIX = /usr BINDIR = ${PREFIX}/bin MANDIR = ${PREFIX}/share/man # compile env CC = gcc LD = ${CC} DEBUG = -g CFLAGS = -Wall -c ${DEBUG} LDFLAGS = -Wall ${DEBUG} # files SRC=baum.c actions.c OBJ=$(SRC:.c=.o) DEP = baum.h all: options build options: @echo build options: @echo "CC = ${CC}" @echo "LD = ${LD}" @echo "CFLAGS = ${CFLAGS}" @echo "LDFLAGS = ${LDFLAGS}" @echo build: options ${NAME} ${NAME}: $(OBJ) ${DEP} $(CC) $(LDFLAGS) $(OBJ) -o $@ ${OBJ}: ${DEP} car: clean all debug: all gdb ${NAME} strip: ${NAME} @echo stripping ${NAME} @strip ${NAME} dist: build changelog @echo "generating tarball" @mkdir -p ${NV} @cp -rf ${SRC} ${DEP} ${NAME}.1 Makefile ${DOCS} ${NV} @fakeroot tar -czhof ${NV}.tar.gz ${NV} @rm -rf ${NV} deb: dist @mkdir -p Packages @cp ${NV}.tar.gz Packages/ @( \ cd Packages/ ;\ tar -xzf ${NV}.tar.gz ;\ mv ${NV}.tar.gz ${NAME}_${VERSION}.orig.tar.gz ;\ cd ${NV}/ ;\ cp -r ../../debian/ . ;\ debuild ;\ ) @rm -rf Packages/${NV} changelog: @echo generating changelog from mercurial log @hg log -v --style changelog > ChangeLog install: build strip @echo installing executable file to ${DESTDIR}${BINDIR} @mkdir -p ${DESTDIR}${BINDIR} @cp ${NAME} ${DESTDIR}${BINDIR} @chmod 755 ${DESTDIR}${BINDIR}/${NAME} @echo installing manual page to ${DESTDIR}${MANDIR}/man1 @mkdir -p ${DESTDIR}${MANDIR}/man1 @sed 's/VERSION/${VERSION}/g' < ${NAME}.1 > ${DESTDIR}${MANDIR}/man1/${NAME}.1 @chmod 644 ${DESTDIR}${MANDIR}/man1/${NAME}.1 uninstall: @echo removing executable file from ${DESTDIR}${BINDIR} @rm -f ${DESTDIR}${BINDIR}/${NAME} @echo removing manual page from ${DESTDIR}${MANDIR}/man1 @rm -f ${DESTDIR}${MANDIR}/man1/${NAME}.1 clean: rm -f *.o realclean: clean rm -f ${NAME} distclean: realclean @rm -f ${NAME}-*.tar.gz ChangeLog debclean: distclean @cd Packages/${NV}/ ; debuild clean ; .PHONY: all dist deb changelog clean distclean debclean build install uninstall