Makefile (1886B)
1 -include config.mk 2 3 VERSION = 0.6 4 5 CFLAGS_STD ?= -std=c99 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DNDEBUG 6 CFLAGS_STD += -DVERSION=\"${VERSION}\" 7 8 LDFLAGS_STD ?= -lc -lutil 9 10 STRIP ?= strip 11 INSTALL ?= install 12 13 PREFIX ?= /usr/local 14 SHAREDIR ?= ${PREFIX}/share 15 16 SRC = abduco.c 17 18 all: abduco 19 20 config.h: 21 cp config.def.h config.h 22 23 config.mk: 24 @touch $@ 25 26 abduco: config.h config.mk *.c 27 ${CC} ${CFLAGS} ${CFLAGS_STD} ${CFLAGS_AUTO} ${CFLAGS_EXTRA} ${SRC} ${LDFLAGS} ${LDFLAGS_STD} ${LDFLAGS_AUTO} -o $@ 28 29 debug: clean 30 make CFLAGS_EXTRA='${CFLAGS_DEBUG}' 31 32 clean: 33 @echo cleaning 34 @rm -f abduco abduco-*.tar.gz 35 36 dist: clean 37 @echo creating dist tarball 38 @git archive --prefix=abduco-${VERSION}/ -o abduco-${VERSION}.tar.gz HEAD 39 40 installdirs: 41 @${INSTALL} -d ${DESTDIR}${PREFIX}/bin \ 42 ${DESTDIR}${MANPREFIX}/man1 43 44 install: abduco installdirs 45 @echo installing executable file to ${DESTDIR}${PREFIX}/bin 46 @${INSTALL} -m 0755 abduco ${DESTDIR}${PREFIX}/bin 47 @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 48 @mkdir -p ${DESTDIR}${MANPREFIX}/man1 49 @sed "s/VERSION/${VERSION}/g" < abduco.1 > ${DESTDIR}${MANPREFIX}/man1/abduco.1 50 @chmod 644 ${DESTDIR}${MANPREFIX}/man1/abduco.1 51 52 install-strip: install 53 ${STRIP} ${DESTDIR}${PREFIX}/bin/abduco 54 55 install-completion: 56 @echo installing zsh completion file to ${DESTDIR}${SHAREDIR}/zsh/site-functions 57 @install -Dm644 contrib/abduco.zsh ${DESTDIR}${SHAREDIR}/zsh/site-functions/_abduco 58 59 uninstall: 60 @echo removing executable file from ${DESTDIR}${PREFIX}/bin 61 @rm -f ${DESTDIR}${PREFIX}/bin/abduco 62 @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 63 @rm -f ${DESTDIR}${MANPREFIX}/man1/abduco.1 64 @echo removing zsh completion file from ${DESTDIR}${SHAREDIR}/zsh/site-functions 65 @rm -f ${DESTDIR}${SHAREDIR}/zsh/site-functions/_abduco 66 67 .PHONY: all clean dist install installdirs install-strip install-completion uninstall debug