Makefile - jfconvert - JSON Feed (subset) to sfeed or Atom converter | |
git clone git://git.codemadness.org/jfconvert | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
Makefile (2066B) | |
--- | |
1 .POSIX: | |
2 | |
3 NAME = jfconvert | |
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 JFCONVERT_CFLAGS = ${CFLAGS} | |
15 JFCONVERT_LDFLAGS = ${LDFLAGS} | |
16 JFCONVERT_CPPFLAGS = -D_DEFAULT_SOURCE | |
17 | |
18 # uncomment for conservative locked I/O. | |
19 #JFCONVERT_CPPFLAGS = -D_DEFAULT_SOURCE -DGETNEXT=getchar | |
20 | |
21 BIN = jf2atom jf2sfeed | |
22 SRC = ${BIN:=.c} | |
23 HDR = json.h | |
24 MAN1 = ${BIN:=.1} | |
25 DOC = \ | |
26 LICENSE\ | |
27 README | |
28 | |
29 LIBJSON = libjson.a | |
30 LIBJSONSRC = json.c | |
31 LIBJSONOBJ = ${LIBJSONSRC:.c=.o} | |
32 | |
33 LIB = ${LIBJSON} | |
34 | |
35 all: ${BIN} | |
36 | |
37 ${BIN}: ${LIB} ${@:=.o} | |
38 | |
39 OBJ = ${SRC:.c=.o} ${LIBJSONOBJ} | |
40 | |
41 ${OBJ}: ${HDR} | |
42 | |
43 .o: | |
44 ${CC} ${JFCONVERT_LDFLAGS} -o $@ $< ${LIB} | |
45 | |
46 .c.o: | |
47 ${CC} ${JFCONVERT_CFLAGS} ${JFCONVERT_CPPFLAGS} -o $@ -c $< | |
48 | |
49 ${LIBJSON}: ${LIBJSONOBJ} | |
50 ${AR} -rc $@ $? | |
51 ${RANLIB} $@ | |
52 | |
53 dist: | |
54 rm -rf "${NAME}-${VERSION}" | |
55 mkdir -p "${NAME}-${VERSION}" | |
56 cp -f ${MAN1} ${DOC} ${HDR} \ | |
57 ${SRC} ${LIBJSONSRC} Makefile "${NAME}-${VERSION}" | |
58 # make tarball | |
59 tar cf - "${NAME}-${VERSION}" | gzip -c > "${NAME}-${VERSION}.ta… | |
60 rm -rf "${NAME}-${VERSION}" | |
61 | |
62 clean: | |
63 rm -f ${BIN} ${OBJ} ${LIB} | |
64 | |
65 install: all | |
66 # installing executable files. | |
67 mkdir -p "${DESTDIR}${PREFIX}/bin" | |
68 cp -f ${BIN} "${DESTDIR}${PREFIX}/bin" | |
69 for f in ${BIN}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done | |
70 # installing example files. | |
71 mkdir -p "${DESTDIR}${DOCPREFIX}" | |
72 cp -f ${DOC} "${DESTDIR}${DOCPREFIX}" | |
73 for d in ${DOC}; do chmod 644 "${DESTDIR}${DOCPREFIX}/$$d"; done | |
74 # installing manual pages for general commands: section 1. | |
75 mkdir -p "${DESTDIR}${MANPREFIX}/man1" | |
76 cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1" | |
77 for m in ${MAN1}; do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"… | |
78 | |
79 uninstall: | |
80 # removing executable files. | |
81 for f in ${BIN}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done | |
82 # removing example files. | |
83 for d in ${DOC}; do rm -f "${DESTDIR}${DOCPREFIX}/$$d"; done | |
84 -rmdir "${DESTDIR}${DOCPREFIX}" | |
85 # removing manual pages. | |
86 for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; do… | |
87 | |
88 .PHONY: all clean dist install uninstall |