comparison Makefile @ 16:79d22407a6be

a lot of refactoring
author markus schnalke <meillo@marmaro.de>
date Mon, 24 Feb 2014 21:11:38 +0100
parents dc220ec8248d
children
comparison
equal deleted inserted replaced
15:032af48d590b 16:79d22407a6be
1 # bday by meillo@marmaro.de 1 # bday by meillo@marmaro.de
2 2
3 3
4 NAME=bday 4 VERSION = 0.2
5 VERSION = 0.1
6 NV=${NAME}-${VERSION}
7 5
8 DOCS=COPYRIGHT COPYING ChangeLog TODO examples 6 DOCS=COPYRIGHT COPYING ChangeLog
9 7
10 # paths 8 # paths
11 PREFIX = /usr 9 PREFIX = /usr/local
12 BINDIR = ${PREFIX}/bin 10 BINDIR = ${PREFIX}/bin
13 MANDIR = ${PREFIX}/share/man 11 MANDIR = ${PREFIX}/share/man
14
15 SRC=bday.c
16 OBJ=$(SRC:.c=.o)
17 12
18 CFLAGS=-O2 -Wall 13 CFLAGS=-O2 -Wall
19 14
20 all: build 15 all: build
16 build: bday
21 17
22 build: ${NAME} 18 bday: bday.o
23 19 $(CC) $(LDFLAGS) bday.o -o $@
24 ${NAME}: $(OBJ)
25 $(CC) $(LDFLAGS) $(OBJ) -o $@
26
27 car: clean all
28 20
29 dist: build changelog 21 dist: build changelog
30 @mkdir -p ${NV} 22 @mkdir -p bday-${VERSION}
31 @cp -rf ${NAME} ${SRC} ${NAME}.1 Makefile ${DOCS} ${NV} 23 @cp bday bday.c bday.1 Makefile ${DOCS} bday-${VERSION}
32 @tar -czhof ${NV}.tar.gz ${NV} 24 @tar -czhf bday-${VERSION}.tar.gz bday-${VERSION}
33 @rm -rf ${NV} 25 @rm -rf bday-${VERSION}
34
35 deb: dist
36 @mkdir -p Packages
37 @cp ${NV}.tar.gz Packages/
38 @( \
39 cd Packages/ ;\
40 tar -xzf ${NV}.tar.gz ;\
41 mv ${NV}.tar.gz ${NAME}_${VERSION}.orig.tar.gz ;\
42 cd ${NV}/ ;\
43 cp -r ../../debian/ . ;\
44 debuild -sa ;\
45 )
46 26
47 changelog: 27 changelog:
48 @echo generating changelog from mercurial log 28 @echo generating changelog from mercurial log
49 @hg log -v --style changelog > ChangeLog 29 @hg log -v --style changelog > ChangeLog
50 30
51 install: 31 install:
52 @echo installing executable file to ${DESTDIR}${BINDIR} 32 @echo installing executable file to ${BINDIR}
53 @mkdir -p ${DESTDIR}${BINDIR} 33 @mkdir -p ${BINDIR}
54 @cp ${NAME} ${DESTDIR}${BINDIR} 34 @cp bday ${BINDIR}
55 @chmod 755 ${DESTDIR}${BINDIR}/${NAME} 35 @chmod 755 ${BINDIR}/bday
56 @echo installing manual page to ${DESTDIR}${MANDIR}/man1 36 @echo installing manual page to ${MANDIR}/man1
57 @mkdir -p ${DESTDIR}${MANDIR}/man1 37 @mkdir -p ${MANDIR}/man1
58 @sed 's/VERSION/${VERSION}/g' < ${NAME}.1 > ${DESTDIR}${MANDIR}/man1/${NAME}.1 38 @sed 's/VERSION/${VERSION}/g' <bday.1 >${MANDIR}/man1/bday.1
59 @chmod 644 ${DESTDIR}${MANDIR}/man1/${NAME}.1 39 @chmod 644 ${MANDIR}/man1/bday.1
60 40
61 uninstall: 41 uninstall:
62 @echo removing executable file from ${DESTDIR}${BINDIR} 42 @echo removing executable file from ${BINDIR}
63 @rm -f ${DESTDIR}${BINDIR}/${NAME} 43 @rm -f ${BINDIR}/bday
64 @echo removing manual page from ${DESTDIR}${MANDIR}/man1 44 @echo removing manual page from ${MANDIR}/man1
65 @rm -f ${DESTDIR}${MANDIR}/man1/${NAME}.1 45 @rm -f ${MANDIR}/man1/bday.1
66 46
67 47
68 clean: 48 clean:
69 rm -f *.o 49 rm -f *.o
70
71 realclean: clean 50 realclean: clean
72 rm -f ${NAME} 51 rm -f bday
73
74 distclean: realclean 52 distclean: realclean
75 @rm -f ${NAME}-*.tar.gz ChangeLog 53 @rm -f bday-*.tar.gz ChangeLog
76
77 debclean: distclean
78 @cd Packages/${NV}/ ; debuild clean ;
79
80
81 .PHONY: all dist deb changelog clean distclean debclean build install uninstall