Mercurial > baum
comparison Makefile @ 62:80df58d240b2 default tip
merge
author | meillo@marmaro.de |
---|---|
date | Thu, 13 Nov 2008 13:19:42 +0100 |
parents | f5f06d6f62b3 |
children |
comparison
equal
deleted
inserted
replaced
61:73de2151aebd | 62:80df58d240b2 |
---|---|
7 NV=${NAME}-${VERSION} | 7 NV=${NAME}-${VERSION} |
8 | 8 |
9 DOCS=LICENSE README ChangeLog TODO examples | 9 DOCS=LICENSE README ChangeLog TODO examples |
10 | 10 |
11 # paths | 11 # paths |
12 PREFIX = /usr | 12 PREFIX = /usr/local |
13 BINDIR = ${PREFIX}/bin | 13 BINDIR = ${PREFIX}/bin |
14 MANDIR = ${PREFIX}/share/man | 14 MANDIR = ${PREFIX}/share/man |
15 | 15 |
16 # compile env | 16 # compile env |
17 CC = gcc | 17 CC = gcc |
24 SRC=baum.c actions.c | 24 SRC=baum.c actions.c |
25 OBJ=$(SRC:.c=.o) | 25 OBJ=$(SRC:.c=.o) |
26 DEP = baum.h | 26 DEP = baum.h |
27 | 27 |
28 | 28 |
29 .PHONY: all | |
30 all: options $(NAME) | |
29 | 31 |
30 all: options build | 32 .PHONY: options |
31 | |
32 options: | 33 options: |
33 @echo build options: | 34 @echo build options: |
34 @echo "CC = ${CC}" | 35 @echo "CC = ${CC}" |
35 @echo "LD = ${LD}" | 36 @echo "LD = ${LD}" |
36 @echo "CFLAGS = ${CFLAGS}" | 37 @echo "CFLAGS = ${CFLAGS}" |
37 @echo "LDFLAGS = ${LDFLAGS}" | 38 @echo "LDFLAGS = ${LDFLAGS}" |
38 @echo | 39 @echo |
39 | 40 |
40 build: options ${NAME} | |
41 | 41 |
42 ${NAME}: $(OBJ) ${DEP} | 42 ${NAME}: $(OBJ) ${DEP} |
43 $(CC) $(LDFLAGS) $(OBJ) -o $@ | 43 $(CC) $(LDFLAGS) $(OBJ) -o $@ |
44 | 44 |
45 | |
45 ${OBJ}: ${DEP} | 46 ${OBJ}: ${DEP} |
46 | 47 |
47 car: clean all | |
48 | 48 |
49 debug: all | 49 .PHONY: strip |
50 gdb ${NAME} | |
51 | |
52 strip: ${NAME} | 50 strip: ${NAME} |
53 @echo stripping ${NAME} | 51 @echo stripping ${NAME} |
54 @strip ${NAME} | 52 @strip ${NAME} |
55 | 53 |
56 dist: build changelog | 54 |
55 .PHONY: dist | |
56 dist: all changelog | |
57 @echo "generating tarball" | 57 @echo "generating tarball" |
58 @mkdir -p ${NV} | 58 @mkdir -p ${NV} |
59 @cp -rf ${SRC} ${DEP} ${NAME}.1 Makefile ${DOCS} ${NV} | 59 @cp -rf ${SRC} ${DEP} ${NAME}.1 Makefile ${DOCS} ${NV} |
60 @fakeroot tar -czhof ${NV}.tar.gz ${NV} | 60 @fakeroot tar -czhof ${NV}.tar.gz ${NV} |
61 @rm -rf ${NV} | 61 @rm -rf ${NV} |
62 | 62 |
63 deb: dist | |
64 @mkdir -p Packages | |
65 @cp ${NV}.tar.gz Packages/ | |
66 @( \ | |
67 cd Packages/ ;\ | |
68 tar -xzf ${NV}.tar.gz ;\ | |
69 mv ${NV}.tar.gz ${NAME}_${VERSION}.orig.tar.gz ;\ | |
70 cd ${NV}/ ;\ | |
71 cp -r ../../debian/ . ;\ | |
72 debuild ;\ | |
73 ) | |
74 @rm -rf Packages/${NV} | |
75 | 63 |
64 .PHONY: changelog | |
76 changelog: | 65 changelog: |
77 @echo generating changelog from mercurial log | 66 @echo generating changelog from mercurial log |
78 @hg log -v --style changelog > ChangeLog | 67 @hg log -v --style changelog > ChangeLog |
79 | 68 |
80 install: build strip | 69 |
70 .PHONY: install | |
71 install: all strip | |
81 @echo installing executable file to ${DESTDIR}${BINDIR} | 72 @echo installing executable file to ${DESTDIR}${BINDIR} |
82 @mkdir -p ${DESTDIR}${BINDIR} | 73 @mkdir -p ${DESTDIR}${BINDIR} |
83 @cp ${NAME} ${DESTDIR}${BINDIR} | 74 @cp ${NAME} ${DESTDIR}${BINDIR} |
84 @chmod 755 ${DESTDIR}${BINDIR}/${NAME} | 75 @chmod 755 ${DESTDIR}${BINDIR}/${NAME} |
85 @echo installing manual page to ${DESTDIR}${MANDIR}/man1 | 76 @echo installing manual page to ${DESTDIR}${MANDIR}/man1 |
86 @mkdir -p ${DESTDIR}${MANDIR}/man1 | 77 @mkdir -p ${DESTDIR}${MANDIR}/man1 |
87 @sed 's/VERSION/${VERSION}/g' < ${NAME}.1 > ${DESTDIR}${MANDIR}/man1/${NAME}.1 | 78 @cp ${NAME}.1 ${DESTDIR}${MANDIR}/man1 |
88 @chmod 644 ${DESTDIR}${MANDIR}/man1/${NAME}.1 | 79 @chmod 644 ${DESTDIR}${MANDIR}/man1/${NAME}.1 |
89 | 80 |
81 | |
82 .PHONY: uninstall | |
90 uninstall: | 83 uninstall: |
91 @echo removing executable file from ${DESTDIR}${BINDIR} | 84 @echo removing executable file from ${DESTDIR}${BINDIR} |
92 @rm -f ${DESTDIR}${BINDIR}/${NAME} | 85 @rm -f ${DESTDIR}${BINDIR}/${NAME} |
93 @echo removing manual page from ${DESTDIR}${MANDIR}/man1 | 86 @echo removing manual page from ${DESTDIR}${MANDIR}/man1 |
94 @rm -f ${DESTDIR}${MANDIR}/man1/${NAME}.1 | 87 @rm -f ${DESTDIR}${MANDIR}/man1/${NAME}.1 |
95 | 88 |
96 | 89 |
90 .PHONY: clean | |
97 clean: | 91 clean: |
98 rm -f *.o | 92 rm -f *.o |
99 | 93 |
94 | |
95 .PHONY: realclean | |
100 realclean: clean | 96 realclean: clean |
101 rm -f ${NAME} | 97 rm -f ${NAME} ChangeLog |
102 | |
103 distclean: realclean | |
104 @rm -f ${NAME}-*.tar.gz ChangeLog | |
105 | |
106 debclean: distclean | |
107 @cd Packages/${NV}/ ; debuild clean ; | |
108 | |
109 | |
110 .PHONY: all dist deb changelog clean distclean debclean build install uninstall |