Makefile - tscrape - twitter scraper (not working anymore)
(HTM) git clone git://git.codemadness.org/tscrape
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
Makefile (2796B)
---
1 .POSIX:
2
3 NAME = tscrape
4 VERSION = 0.6
5
6 # paths
7 PREFIX = /usr/local
8 MANPREFIX = ${PREFIX}/man
9 DOCPREFIX = ${PREFIX}/share/doc/tscrape
10
11 RANLIB = ranlib
12
13 # use system flags.
14 TSCRAPE_CFLAGS = ${CFLAGS}
15 TSCRAPE_LDFLAGS = ${LDFLAGS}
16 TSCRAPE_CPPFLAGS = -D_DEFAULT_SOURCE
17
18 BIN = \
19 tscrape\
20 tscrape_html\
21 tscrape_plain
22 SCRIPTS = \
23 tscrape_update
24
25 SRC = ${BIN:=.c}
26 HDR = \
27 util.h\
28 json.h
29
30 LIBUTIL = libutil.a
31 LIBUTILSRC = \
32 util.c
33 LIBUTILOBJ = ${LIBUTILSRC:.c=.o}
34
35 LIBJSON = libjson.a
36 LIBJSONSRC = \
37 json.c
38 LIBJSONOBJ = ${LIBJSONSRC:.c=.o}
39
40 COMPATSRC = \
41 strlcat.c\
42 strlcpy.c
43 COMPATOBJ =\
44 strlcat.o\
45 strlcpy.o
46
47 LIB = ${LIBUTIL} ${LIBJSON} ${COMPATOBJ}
48
49 MAN1 = ${BIN:=.1}\
50 ${SCRIPTS:=.1}
51 MAN5 = \
52 tscrape.5\
53 tscraperc.5
54 DOC = \
55 LICENSE\
56 README
57
58 all: $(BIN)
59
60 ${BIN}: ${LIB} ${@:=.o}
61
62 OBJ = ${SRC:.c=.o} ${LIBJSONOBJ} ${LIBUTILOBJ} ${COMPATOBJ}
63
64 ${OBJ}: ${HDR}
65
66 .o:
67 ${CC} ${TSCRAPE_LDFLAGS} -o $@ $< ${LIB}
68
69 .c.o:
70 ${CC} ${TSCRAPE_CFLAGS} ${TSCRAPE_CPPFLAGS} -o $@ -c $<
71
72 ${LIBUTIL}: ${LIBUTILOBJ}
73 ${AR} rc $@ $?
74 ${RANLIB} $@
75
76 ${LIBJSON}: ${LIBJSONOBJ}
77 ${AR} rc $@ $?
78 ${RANLIB} $@
79
80 dist:
81 rm -rf "${NAME}-${VERSION}"
82 mkdir -p "${NAME}-${VERSION}"
83 cp -f ${MAN1} ${MAN5} ${DOC} ${HDR} \
84 ${SRC} ${LIBJSONSRC} ${LIBUTILSRC} ${COMPATSRC} ${SCRIPTS} \
85 Makefile \
86 tscraperc.example style.css \
87 "${NAME}-${VERSION}"
88 # make tarball
89 tar -cf - "${NAME}-${VERSION}" | \
90 gzip -c > "${NAME}-${VERSION}.tar.gz"
91 rm -rf "${NAME}-${VERSION}"
92
93 clean:
94 rm -f ${BIN} ${OBJ} ${LIB}
95
96 install: all
97 # installing executable files and scripts.
98 mkdir -p "${DESTDIR}${PREFIX}/bin"
99 cp -f ${BIN} ${SCRIPTS} "${DESTDIR}${PREFIX}/bin"
100 for f in $(BIN) $(SCRIPTS); do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
101 # installing example files.
102 mkdir -p "${DESTDIR}${DOCPREFIX}"
103 cp -f tscraperc.example\
104 style.css\
105 README\
106 "${DESTDIR}${DOCPREFIX}"
107 # installing manual pages for general commands: section 1.
108 mkdir -p "${DESTDIR}${MANPREFIX}/man1"
109 cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1"
110 for m in $(MAN1); do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; done
111 # installing manual pages for file formats: section 5.
112 mkdir -p "${DESTDIR}${MANPREFIX}/man5"
113 cp -f ${MAN5} "${DESTDIR}${MANPREFIX}/man5"
114 for m in ${MAN5}; do chmod 644 "${DESTDIR}${MANPREFIX}/man5/$$m"; done
115
116 uninstall:
117 # removing executable files and scripts.
118 for f in $(BIN) $(SCRIPTS); do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
119 # removing example files.
120 rm -f \
121 "${DESTDIR}${DOCPREFIX}/tscraperc.example"\
122 "${DESTDIR}${DOCPREFIX}/style.css"\
123 "${DESTDIR}${DOCPREFIX}/README"
124 -rmdir "${DESTDIR}${DOCPREFIX}"
125 # removing manual pages.
126 for m in $(MAN1); do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done
127 for m in ${MAN5}; do rm -f "${DESTDIR}${MANPREFIX}/man5/$$m"; done
128
129 .PHONY: all clean dist install uninstall