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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
1 # baum by meillo@marmaro.de
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
2
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
3
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
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
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
7 NV=${NAME}-${VERSION}
0
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
8
20
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
9 DOCS=LICENSE README ChangeLog TODO examples
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
10
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
11 # paths
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
12 PREFIX = /usr
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
13 BINDIR = ${PREFIX}/bin
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
14 MANDIR = ${PREFIX}/share/man
0
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
15
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
16 # compile env
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
17 CC = gcc
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
18 LD = ${CC}
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
19 DEBUG = -g
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
20 CFLAGS = -Wall -c ${DEBUG}
20
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
21 LDFLAGS = -Wall ${DEBUG}
0
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
22
20
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
23 # files
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
24 SRC=baum.c actions.c
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
25 OBJ=$(SRC:.c=.o)
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
26 DEP = baum.h actions.h
0
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
27
20
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
28
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
29
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
30 all: options build
0
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
31
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
32 options:
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
33 @echo build options:
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
34 @echo "CC = ${CC}"
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
35 @echo "LD = ${LD}"
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
36 @echo "CFLAGS = ${CFLAGS}"
20
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
37 @echo "LDFLAGS = ${LDFLAGS}"
0
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
38 @echo
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
39
29
88a51653db83 removed binary from dist tarball; new debian package
meillo@marmaro.de
parents: 28
diff changeset
40 build: options ${NAME}
20
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
41
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
42 ${NAME}: $(OBJ) ${DEP}
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
43 $(CC) $(LDFLAGS) $(OBJ) -o $@
0
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
44
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
45 ${OBJ}: ${DEP}
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
46
20
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
47 car: clean all
0
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
48
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
49 debug: all
20
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
50 gdb ${NAME}
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
51
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
52 strip: ${NAME}
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
53 @echo stripping ${NAME}
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
54 @strip ${NAME}
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
55
29
88a51653db83 removed binary from dist tarball; new debian package
meillo@marmaro.de
parents: 28
diff changeset
56 dist: build changelog
20
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
57 @echo "generating tarball"
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
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
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
60 @tar -czhof ${NV}.tar.gz ${NV}
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
61 @rm -rf ${NV}
0
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
62
20
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
63 deb: dist
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
64 @mkdir -p Packages
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
65 @cp ${NV}.tar.gz Packages/
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
66 @( \
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
67 cd Packages/ ;\
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
68 tar -xzf ${NV}.tar.gz ;\
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
69 mv ${NV}.tar.gz ${NAME}_${VERSION}.orig.tar.gz ;\
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
70 cd ${NV}/ ;\
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
71 cp -r ../../debian/ . ;\
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
72 debuild ;\
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
73 )
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
74 @rm -rf Packages/${NV}
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
75
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
76 changelog:
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
77 @echo generating changelog from mercurial log
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
78 @hg log -v --style changelog > ChangeLog
0
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
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
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
81 @echo installing executable file to ${DESTDIR}${BINDIR}
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
82 @mkdir -p ${DESTDIR}${BINDIR}
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
83 @cp ${NAME} ${DESTDIR}${BINDIR}
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
84 @chmod 755 ${DESTDIR}${BINDIR}/${NAME}
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
85 @echo installing manual page to ${DESTDIR}${MANDIR}/man1
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
86 @mkdir -p ${DESTDIR}${MANDIR}/man1
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
87 @sed 's/VERSION/${VERSION}/g' < ${NAME}.1 > ${DESTDIR}${MANDIR}/man1/${NAME}.1
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
88 @chmod 644 ${DESTDIR}${MANDIR}/man1/${NAME}.1
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
89
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
90 uninstall:
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
91 @echo removing executable file from ${DESTDIR}${BINDIR}
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
92 @rm -f ${DESTDIR}${BINDIR}/${NAME}
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
93 @echo removing manual page from ${DESTDIR}${MANDIR}/man1
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
94 @rm -f ${DESTDIR}${MANDIR}/man1/${NAME}.1
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
95
0
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
96
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
97 clean:
20
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
98 rm -f *.o
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
99
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
100 realclean: clean
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
101 rm -f ${NAME}
0
2f71d692d4f9 initial commit
meillo@marmaro.de
parents:
diff changeset
102
20
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
103 distclean: realclean
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
104 @rm -f ${NAME}-*.tar.gz ChangeLog
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
105
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
106 debclean: distclean
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
107 @cd Packages/${NV}/ ; debuild clean ;
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
108
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
109
3c64b5ac821b added Debian stuff; new Makefile
meillo@marmaro.de
parents: 2
diff changeset
110 .PHONY: all dist deb changelog clean distclean debclean build install uninstall