tMakefile - webdump - [FORK] git://git.codemadness.org/webdump
HTML git clone git://git.z3bra.org/webdump.git
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
tMakefile (2152B)
---
1 .POSIX:
2
3 NAME = webdump
4 VERSION = 0.1
5
6 # paths
7 PREFIX = /usr/local
8 MANPREFIX = ${PREFIX}/man
9 DOCPREFIX = ${PREFIX}/share/doc/${NAME}
10
11 RANLIB = ranlib
12
13 # use system flags.
14 WEBDUMP_CFLAGS = ${CFLAGS}
15 WEBDUMP_LDFLAGS = ${LDFLAGS}
16 WEBDUMP_CPPFLAGS = -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -D_BSD_SOURCE
17
18 BIN = ${NAME}
19 SCRIPTS =
20
21 SRC = ${BIN:=.c}
22 HDR = arg.h namedentities.h namedentities.all.h xml.h
23
24 LIBXML = libxml.a
25 LIBXMLSRC = \
26 xml.c
27 LIBXMLOBJ = ${LIBXMLSRC:.c=.o}
28
29 COMPATSRC = \
30 strlcat.c\
31 strlcpy.c
32 COMPATOBJ =\
33 strlcat.o\
34 strlcpy.o
35
36 LIB = ${LIBXML} ${COMPATOBJ}
37
38 MAN1 = ${BIN:=.1}\
39 ${SCRIPTS:=.1}
40
41 DOC = \
42 LICENSE\
43 README
44
45 all: ${BIN}
46
47 ${BIN}: ${LIB} ${@:=.o}
48
49 OBJ = ${SRC:.c=.o} ${LIBXMLOBJ} ${COMPATOBJ}
50
51 ${OBJ}: ${HDR}
52
53 .o:
54 ${CC} ${WEBDUMP_LDFLAGS} -o $@ $< ${LIB}
55
56 .c.o:
57 ${CC} ${WEBDUMP_CFLAGS} ${WEBDUMP_CPPFLAGS} -o $@ -c $<
58
59 ${LIBXML}: ${LIBXMLOBJ}
60 ${AR} rc $@ $?
61 ${RANLIB} $@
62
63 dist:
64 rm -rf "${NAME}-${VERSION}"
65 mkdir -p "${NAME}-${VERSION}"
66 cp -f ${MAN1} ${DOC} ${HDR} \
67 ${SRC} ${LIBXMLSRC} ${COMPATSRC} ${SCRIPTS} \
68 Makefile \
69 "${NAME}-${VERSION}"
70 # make tarball
71 tar -cf - "${NAME}-${VERSION}" | \
72 gzip -c > "${NAME}-${VERSION}.tar.gz"
73 rm -rf "${NAME}-${VERSION}"
74
75 clean:
76 rm -f ${BIN} ${OBJ} ${LIB}
77
78 install: all
79 # installing executable files and scripts.
80 mkdir -p "${DESTDIR}${PREFIX}/bin"
81 cp -f ${BIN} ${SCRIPTS} "${DESTDIR}${PREFIX}/bin"
82 for f in ${BIN} ${SCRIPTS}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
83 # installing example files.
84 mkdir -p "${DESTDIR}${DOCPREFIX}"
85 cp -f README "${DESTDIR}${DOCPREFIX}"
86 # installing manual pages for general commands: section 1.
87 mkdir -p "${DESTDIR}${MANPREFIX}/man1"
88 cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1"
89 for m in ${MAN1}; do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; done
90
91 uninstall:
92 # removing executable files and scripts.
93 for f in ${BIN} ${SCRIPTS}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
94 # removing example files.
95 rm -f "${DESTDIR}${DOCPREFIX}/README"
96 -rmdir "${DESTDIR}${DOCPREFIX}"
97 # removing manual pages.
98 for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done
99
100 .PHONY: all clean dist install uninstall