Mercurial > bday
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 |