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