Makefile - extractjson - extract embedded JSON metadata from HTML pages
(HTM) git clone git://git.codemadness.org/extractjson
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
Makefile (1844B)
---
1 .POSIX:
2
3 NAME = extractjson
4 VERSION = 0.1
5
6 # paths
7 PREFIX = /usr/local
8 MANPREFIX = ${PREFIX}/man
9 DOCPREFIX = ${PREFIX}/share/doc/${NAME}
10
11 # use system flags.
12 EXTRACTJSON_CFLAGS = ${CFLAGS}
13 EXTRACTJSON_LDFLAGS = ${LDFLAGS}
14 EXTRACTJSON_CPPFLAGS = -D_DEFAULT_SOURCE
15
16 # uncomment for conservative locked I/O.
17 #EXTRACTJSON_CPPFLAGS = -D_DEFAULT_SOURCE -DGETNEXT=getchar
18
19 BIN = ${NAME}
20 SRC = ${BIN:=.c}
21 MAN1 = ${BIN:=.1}
22 DOC = \
23 LICENSE\
24 README
25
26 all: ${BIN}
27
28 ${BIN}: ${@:=.o}
29
30 OBJ = ${SRC:.c=.o}
31
32 ${OBJ}: ${HDR}
33
34 .o:
35 ${CC} ${EXTRACTJSON_LDFLAGS} -o $@ $<
36
37 .c.o:
38 ${CC} ${EXTRACTJSON_CFLAGS} ${EXTRACTJSON_CPPFLAGS} -o $@ -c $<
39
40 dist:
41 rm -rf "${NAME}-${VERSION}"
42 mkdir -p "${NAME}-${VERSION}"
43 cp -f ${MAN1} ${DOC} ${HDR} \
44 ${SRC} Makefile "${NAME}-${VERSION}"
45 # make tarball
46 tar cf - "${NAME}-${VERSION}" | gzip -c > "${NAME}-${VERSION}.tar.gz"
47 rm -rf "${NAME}-${VERSION}"
48
49 clean:
50 rm -f ${BIN} ${OBJ}
51
52 install: all
53 # installing executable files.
54 mkdir -p "${DESTDIR}${PREFIX}/bin"
55 cp -f ${BIN} "${DESTDIR}${PREFIX}/bin"
56 for f in ${BIN}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
57 # installing example files.
58 mkdir -p "${DESTDIR}${DOCPREFIX}"
59 cp -f ${DOC} "${DESTDIR}${DOCPREFIX}"
60 for d in ${DOC}; do chmod 644 "${DESTDIR}${DOCPREFIX}/$$d"; done
61 # installing manual pages for general commands: section 1.
62 mkdir -p "${DESTDIR}${MANPREFIX}/man1"
63 cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1"
64 for m in ${MAN1}; do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; done
65
66 uninstall:
67 # removing executable files.
68 for f in ${BIN}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
69 # removing example files.
70 for d in ${DOC}; do rm -f "${DESTDIR}${DOCPREFIX}/$$d"; done
71 -rmdir "${DESTDIR}${DOCPREFIX}"
72 # removing manual pages.
73 for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done
74
75 .PHONY: all clean dist install uninstall