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