Mercurial > baum
annotate Makefile @ 44:bc693c51970d
updated TODO; minor stuff in debian/
author | meillo@marmaro.de |
---|---|
date | Sat, 01 Mar 2008 21:24:00 +0100 |
parents | 88a51653db83 |
children | 0b82169d4129 |
rev | line source |
---|---|
20 | 1 # baum by meillo@marmaro.de |
2 | |
3 | |
4 NAME=baum | |
28
ed3eb4b497e5
version in Makefile is extracted from sources now
meillo@marmaro.de
parents:
24
diff
changeset
|
5 # extracts VERSION from the sources |
ed3eb4b497e5
version in Makefile is extracted from sources now
meillo@marmaro.de
parents:
24
diff
changeset
|
6 VERSION=$(shell cat *.c | sed -n '/define VERSION/ s/.*"\([^"]*\)".*/\1/p' ) |
20 | 7 NV=${NAME}-${VERSION} |
0 | 8 |
20 | 9 DOCS=LICENSE README ChangeLog TODO examples |
10 | |
11 # paths | |
12 PREFIX = /usr | |
13 BINDIR = ${PREFIX}/bin | |
14 MANDIR = ${PREFIX}/share/man | |
0 | 15 |
16 # compile env | |
17 CC = gcc | |
18 LD = ${CC} | |
19 DEBUG = -g | |
20 CFLAGS = -Wall -c ${DEBUG} | |
20 | 21 LDFLAGS = -Wall ${DEBUG} |
0 | 22 |
20 | 23 # files |
24 SRC=baum.c actions.c | |
25 OBJ=$(SRC:.c=.o) | |
26 DEP = baum.h actions.h | |
0 | 27 |
20 | 28 |
29 | |
30 all: options build | |
0 | 31 |
32 options: | |
33 @echo build options: | |
34 @echo "CC = ${CC}" | |
35 @echo "LD = ${LD}" | |
36 @echo "CFLAGS = ${CFLAGS}" | |
20 | 37 @echo "LDFLAGS = ${LDFLAGS}" |
0 | 38 @echo |
39 | |
29
88a51653db83
removed binary from dist tarball; new debian package
meillo@marmaro.de
parents:
28
diff
changeset
|
40 build: options ${NAME} |
20 | 41 |
42 ${NAME}: $(OBJ) ${DEP} | |
43 $(CC) $(LDFLAGS) $(OBJ) -o $@ | |
0 | 44 |
45 ${OBJ}: ${DEP} | |
46 | |
20 | 47 car: clean all |
0 | 48 |
49 debug: all | |
20 | 50 gdb ${NAME} |
51 | |
52 strip: ${NAME} | |
53 @echo stripping ${NAME} | |
54 @strip ${NAME} | |
55 | |
29
88a51653db83
removed binary from dist tarball; new debian package
meillo@marmaro.de
parents:
28
diff
changeset
|
56 dist: build changelog |
20 | 57 @echo "generating tarball" |
58 @mkdir -p ${NV} | |
29
88a51653db83
removed binary from dist tarball; new debian package
meillo@marmaro.de
parents:
28
diff
changeset
|
59 @cp -rf ${SRC} ${DEP} ${NAME}.1 Makefile ${DOCS} ${NV} |
20 | 60 @tar -czhof ${NV}.tar.gz ${NV} |
61 @rm -rf ${NV} | |
0 | 62 |
20 | 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 | |
76 changelog: | |
77 @echo generating changelog from mercurial log | |
78 @hg log -v --style changelog > ChangeLog | |
0 | 79 |
24
69a7cf2f0c06
make dist includes now a stripped executable (should we include the exe at all?)
meillo@marmaro.de
parents:
21
diff
changeset
|
80 install: build strip |
20 | 81 @echo installing executable file to ${DESTDIR}${BINDIR} |
82 @mkdir -p ${DESTDIR}${BINDIR} | |
83 @cp ${NAME} ${DESTDIR}${BINDIR} | |
84 @chmod 755 ${DESTDIR}${BINDIR}/${NAME} | |
85 @echo installing manual page to ${DESTDIR}${MANDIR}/man1 | |
86 @mkdir -p ${DESTDIR}${MANDIR}/man1 | |
87 @sed 's/VERSION/${VERSION}/g' < ${NAME}.1 > ${DESTDIR}${MANDIR}/man1/${NAME}.1 | |
88 @chmod 644 ${DESTDIR}${MANDIR}/man1/${NAME}.1 | |
89 | |
90 uninstall: | |
91 @echo removing executable file from ${DESTDIR}${BINDIR} | |
92 @rm -f ${DESTDIR}${BINDIR}/${NAME} | |
93 @echo removing manual page from ${DESTDIR}${MANDIR}/man1 | |
94 @rm -f ${DESTDIR}${MANDIR}/man1/${NAME}.1 | |
95 | |
0 | 96 |
97 clean: | |
20 | 98 rm -f *.o |
99 | |
100 realclean: clean | |
101 rm -f ${NAME} | |
0 | 102 |
20 | 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 |