]> git.armaanb.net Git - stagit.git/blob - Makefile
compat: add strlcpy, strlcat, for glibc
[stagit.git] / Makefile
1 include config.mk
2
3 NAME = urmoms
4 VERSION = 0.1
5 SRC = \
6         urmoms.c\
7         urmoms-index.c
8 COMPATSRC = \
9         strlcat.c\
10         strlcpy.c
11 BIN = \
12         urmoms\
13         urmoms-index
14 MAN1 = \
15         urmoms.1\
16         urmoms-index.1
17 DOC = \
18         LICENSE\
19         README\
20         TODO
21 HDR = compat.h
22
23 OBJ = ${SRC:.c=.o} ${EXTRAOBJ}
24
25 all: $(BIN)
26
27 .c.o:
28         ${CC} -c ${CFLAGS} $<
29
30 dist: $(BIN)
31         rm -rf release/${VERSION}
32         mkdir -p release/${VERSION}
33         cp -f ${MAN1} ${HDR} ${SCRIPTS} ${SRC} ${COMPATSRC} ${DOC} \
34                 Makefile config.mk \
35                 logo.png style.css \
36                 release/${VERSION}/
37         # make tarball
38         rm -f urmoms-${VERSION}.tar.gz
39         (cd release/${VERSION}; \
40         tar -czf ../../urmoms-${VERSION}.tar.gz .)
41
42 ${OBJ}: config.h config.mk ${HDR}
43
44 config.h:
45         @echo creating $@ from config.def.h
46         @cp config.def.h $@
47
48 urmoms: urmoms.o ${EXTRAOBJ}
49         ${CC} -o $@ urmoms.o ${LDFLAGS}
50
51 urmoms-index: urmoms-index.o ${EXTRAOBJ}
52         ${CC} -o $@ urmoms-index.o ${LDFLAGS}
53
54 clean:
55         rm -f ${BIN} ${OBJ}
56
57 install: all
58         # installing executable files.
59         mkdir -p ${DESTDIR}${PREFIX}/bin
60         cp -f ${BIN} ${SCRIPTS} ${DESTDIR}${PREFIX}/bin
61         for f in $(BIN) $(SCRIPTS); do chmod 755 ${DESTDIR}${PREFIX}/bin/$$f; done
62         # installing example files.
63         mkdir -p ${DESTDIR}${PREFIX}/share/${NAME}
64         cp -f style.css\
65                 logo.png\
66                 README\
67                 ${DESTDIR}${PREFIX}/share/${NAME}
68         # installing manual pages.
69         mkdir -p ${DESTDIR}${MANPREFIX}/man1
70         cp -f ${MAN1} ${DESTDIR}${MANPREFIX}/man1
71         for m in $(MAN1); do chmod 644 ${DESTDIR}${MANPREFIX}/man1/$$m; done
72
73 uninstall:
74         # removing executable files and scripts.
75         for f in $(BIN) $(SCRIPTS); do rm -f ${DESTDIR}${PREFIX}/bin/$$f; done
76         # removing example files.
77         rm -f \
78                 ${DESTDIR}${PREFIX}/share/${NAME}/style.css\
79                 ${DESTDIR}${PREFIX}/share/${NAME}/logo.png\
80                 ${DESTDIR}${PREFIX}/share/${NAME}/README
81         -rmdir ${DESTDIR}${PREFIX}/share/${NAME}
82         # removing manual pages.
83         for m in $(MAN1); do rm -f ${DESTDIR}${MANPREFIX}/man1/$$m; done
84
85 .PHONY: all clean dist install uninstall