resize-gd
annotate Makefile @ 12:61ca4934fb34
improved Makefile
author | meillo@marmaro.de |
---|---|
date | Sat, 14 Jun 2008 19:11:21 +0200 |
parents | aa24986b8969 |
children |
rev | line source |
---|---|
meillo@4 | 1 # by meillo@marmaro.de |
meillo@4 | 2 |
meillo@4 | 3 NAME=resize-gd |
meillo@4 | 4 |
meillo@4 | 5 # extracts VERSION from the sources |
meillo@4 | 6 VERSION=$(shell cat *.c | sed -n '/define[ \t]*VERSION/ s/.*"\([^"]*\)".*/\1/p' ) |
meillo@4 | 7 NV=${NAME}-${VERSION} |
meillo@4 | 8 |
meillo@12 | 9 DOCS = COPYRIGHT ChangeLog |
meillo@4 | 10 |
meillo@4 | 11 # paths |
meillo@4 | 12 PREFIX = /usr/local |
meillo@4 | 13 BINDIR = ${PREFIX}/bin |
meillo@4 | 14 MANDIR = ${PREFIX}/share/man |
meillo@4 | 15 |
meillo@4 | 16 # compile env |
meillo@4 | 17 CC = gcc |
meillo@4 | 18 LD = ${CC} |
meillo@4 | 19 DEBUG = -g |
meillo@4 | 20 LIBS = -lgd |
meillo@12 | 21 CFLAGS = -Wall -ansi -pedantic -c ${DEBUG} |
meillo@12 | 22 LDFLAGS = -Wall -ansi -pedantic ${DEBUG} $(LIBS) |
meillo@4 | 23 |
meillo@4 | 24 # files |
meillo@4 | 25 SRC=resize-gd.c |
meillo@4 | 26 OBJ=$(SRC:.c=.o) |
meillo@4 | 27 DEP = |
meillo@4 | 28 |
meillo@4 | 29 |
meillo@4 | 30 |
meillo@4 | 31 .PHONY: all |
meillo@4 | 32 all: options build |
meillo@4 | 33 |
meillo@4 | 34 |
meillo@4 | 35 .PHONY: options |
meillo@4 | 36 options: |
meillo@4 | 37 @echo build options: |
meillo@4 | 38 @echo "CC = ${CC}" |
meillo@4 | 39 @echo "LD = ${LD}" |
meillo@4 | 40 @echo "CFLAGS = ${CFLAGS}" |
meillo@4 | 41 @echo "LDFLAGS = ${LDFLAGS}" |
meillo@4 | 42 @echo |
meillo@4 | 43 |
meillo@4 | 44 |
meillo@4 | 45 .PHONY: build |
meillo@4 | 46 build: options ${NAME} |
meillo@4 | 47 |
meillo@4 | 48 |
meillo@4 | 49 ${NAME}: $(OBJ) |
meillo@4 | 50 $(CC) $(LDFLAGS) $(OBJ) -o $@ |
meillo@4 | 51 |
meillo@4 | 52 |
meillo@4 | 53 ${OBJ}: ${DEP} |
meillo@4 | 54 |
meillo@4 | 55 |
meillo@4 | 56 .PHONY: strip |
meillo@4 | 57 strip: ${NAME} |
meillo@4 | 58 @echo stripping ${NAME} |
meillo@4 | 59 @strip ${NAME} |
meillo@4 | 60 |
meillo@4 | 61 |
meillo@4 | 62 .PHONY: dist |
meillo@4 | 63 dist: build changelog |
meillo@4 | 64 @echo "generating tarball" |
meillo@4 | 65 @mkdir -p ${NV} |
meillo@4 | 66 @cp -rf ${SRC} ${DEP} ${NAME}.1 Makefile ${DOCS} ${NV} |
meillo@4 | 67 @tar -czf ${NV}.tar.gz ${NV} |
meillo@4 | 68 @rm -rf ${NV} |
meillo@4 | 69 |
meillo@4 | 70 |
meillo@4 | 71 .PHONY: changelog |
meillo@4 | 72 changelog: |
meillo@4 | 73 @echo generating changelog from mercurial log |
meillo@4 | 74 @hg log -v --style changelog > ChangeLog |
meillo@4 | 75 |
meillo@4 | 76 |
meillo@4 | 77 .PHONY: install |
meillo@4 | 78 install: build strip |
meillo@4 | 79 @echo installing executable file to ${DESTDIR}${BINDIR} |
meillo@4 | 80 @mkdir -p ${DESTDIR}${BINDIR} |
meillo@4 | 81 @cp ${NAME} ${DESTDIR}${BINDIR} |
meillo@4 | 82 @chmod 755 ${DESTDIR}${BINDIR}/${NAME} |
meillo@4 | 83 @echo installing manual page to ${DESTDIR}${MANDIR}/man1 |
meillo@4 | 84 @mkdir -p ${DESTDIR}${MANDIR}/man1 |
meillo@4 | 85 @cp ${NAME}.1 ${DESTDIR}${MANDIR}/man1/${NAME}.1 |
meillo@4 | 86 @chmod 644 ${DESTDIR}${MANDIR}/man1/${NAME}.1 |
meillo@4 | 87 |
meillo@4 | 88 |
meillo@4 | 89 .PHONY: uninstall |
meillo@4 | 90 uninstall: |
meillo@4 | 91 @echo removing executable file from ${DESTDIR}${BINDIR} |
meillo@4 | 92 @rm -f ${DESTDIR}${BINDIR}/${NAME} |
meillo@4 | 93 @echo removing manual page from ${DESTDIR}${MANDIR}/man1 |
meillo@4 | 94 @rm -f ${DESTDIR}${MANDIR}/man1/${NAME}.1 |
meillo@4 | 95 |
meillo@4 | 96 |
meillo@4 | 97 .PHONY: clean |
meillo@4 | 98 clean: |
meillo@4 | 99 rm -f *.o |
meillo@4 | 100 |
meillo@4 | 101 |
meillo@4 | 102 .PHONY: realclean |
meillo@4 | 103 realclean: clean |
meillo@12 | 104 rm -f ${NAME} |