Makefile - sfeed - RSS and Atom parser | |
git clone git://git.codemadness.org/sfeed | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
Makefile (4402B) | |
--- | |
1 .POSIX: | |
2 | |
3 NAME = sfeed | |
4 VERSION = 2.2 | |
5 | |
6 # curses theme, see themes/ directory. | |
7 SFEED_THEME = mono | |
8 | |
9 # paths | |
10 PREFIX = /usr/local | |
11 MANPREFIX = ${PREFIX}/man | |
12 DOCPREFIX = ${PREFIX}/share/doc/${NAME} | |
13 | |
14 RANLIB = ranlib | |
15 | |
16 # use system flags. | |
17 SFEED_CFLAGS = ${CFLAGS} | |
18 SFEED_LDFLAGS = ${LDFLAGS} | |
19 SFEED_CPPFLAGS = -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 -D_BSD_SOURCE | |
20 | |
21 # uncomment for conservative locked I/O. | |
22 #SFEED_CPPFLAGS = -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 -D_BSD_SOURCE \ | |
23 # -DGETNEXT=getchar | |
24 | |
25 # set $SFEED_CURSES to empty to not build sfeed_curses. | |
26 SFEED_CURSES = sfeed_curses | |
27 SFEED_CURSES_CFLAGS = ${CFLAGS} | |
28 SFEED_CURSES_CPPFLAGS = -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 -D_BSD_SOU… | |
29 -DSFEED_THEME=\"themes/${SFEED_THEME}.h\" | |
30 SFEED_CURSES_LDFLAGS = ${LDFLAGS} -lcurses | |
31 | |
32 # Linux: some distros use ncurses and require -lncurses. | |
33 #SFEED_CURSES_LDFLAGS = ${LDFLAGS} -lncurses | |
34 | |
35 # Gentoo Linux: some distros might also require -ltinfo and -D_DEFAULT_S… | |
36 # to prevent warnings about feature test macros. | |
37 #SFEED_CURSES_LDFLAGS = ${LDFLAGS} -lncurses -ltinfo | |
38 | |
39 # FreeBSD: unset feature test macros for SIGWINCH etc. | |
40 #SFEED_CURSES_CPPFLAGS = | |
41 | |
42 # use minicurses with hardcoded escape sequences (not the system curses). | |
43 #SFEED_CURSES_CPPFLAGS = -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 -D_BSD_SO… | |
44 # -DSFEED_THEME=\"themes/${SFEED_THEME}.h\" -DSFEED_MINICURSES | |
45 #SFEED_CURSES_LDFLAGS = ${LDFLAGS} | |
46 | |
47 BIN = \ | |
48 sfeed\ | |
49 sfeed_atom\ | |
50 ${SFEED_CURSES}\ | |
51 sfeed_frames\ | |
52 sfeed_gopher\ | |
53 sfeed_html\ | |
54 sfeed_json\ | |
55 sfeed_mbox\ | |
56 sfeed_opml_import\ | |
57 sfeed_plain\ | |
58 sfeed_twtxt\ | |
59 sfeed_web\ | |
60 sfeed_xmlenc | |
61 SCRIPTS = \ | |
62 sfeed_content\ | |
63 sfeed_markread\ | |
64 sfeed_opml_export\ | |
65 sfeed_update | |
66 | |
67 SRC = ${BIN:=.c} | |
68 HDR = \ | |
69 minicurses.h\ | |
70 util.h\ | |
71 xml.h | |
72 | |
73 LIBUTIL = libutil.a | |
74 LIBUTILSRC = \ | |
75 util.c | |
76 LIBUTILOBJ = ${LIBUTILSRC:.c=.o} | |
77 | |
78 LIBXML = libxml.a | |
79 LIBXMLSRC = \ | |
80 xml.c | |
81 LIBXMLOBJ = ${LIBXMLSRC:.c=.o} | |
82 | |
83 COMPATSRC = \ | |
84 strlcat.c\ | |
85 strlcpy.c | |
86 COMPATOBJ =\ | |
87 strlcat.o\ | |
88 strlcpy.o | |
89 | |
90 LIB = ${LIBUTIL} ${LIBXML} ${COMPATOBJ} | |
91 | |
92 MAN1 = ${BIN:=.1}\ | |
93 ${SCRIPTS:=.1} | |
94 MAN5 = \ | |
95 sfeed.5\ | |
96 sfeedrc.5 | |
97 DOC = \ | |
98 LICENSE\ | |
99 README\ | |
100 README.xml | |
101 | |
102 all: ${BIN} | |
103 | |
104 ${BIN}: ${LIB} ${@:=.o} | |
105 | |
106 OBJ = ${SRC:.c=.o} ${LIBXMLOBJ} ${LIBUTILOBJ} ${COMPATOBJ} | |
107 | |
108 ${OBJ}: ${HDR} | |
109 | |
110 .o: | |
111 ${CC} -o $@ $< ${LIB} ${SFEED_LDFLAGS} | |
112 | |
113 .c.o: | |
114 ${CC} -o $@ -c $< ${SFEED_CFLAGS} ${SFEED_CPPFLAGS} | |
115 | |
116 sfeed_curses.o: sfeed_curses.c themes/${SFEED_THEME}.h | |
117 ${CC} -o $@ -c sfeed_curses.c ${SFEED_CURSES_CFLAGS} ${SFEED_CUR… | |
118 | |
119 sfeed_curses: ${LIB} sfeed_curses.o | |
120 ${CC} -o $@ sfeed_curses.o ${LIB} ${SFEED_CURSES_LDFLAGS} | |
121 | |
122 ${LIBUTIL}: ${LIBUTILOBJ} | |
123 ${AR} -rc $@ $? | |
124 ${RANLIB} $@ | |
125 | |
126 ${LIBXML}: ${LIBXMLOBJ} | |
127 ${AR} -rc $@ $? | |
128 ${RANLIB} $@ | |
129 | |
130 dist: | |
131 rm -rf "${NAME}-${VERSION}" | |
132 mkdir -p "${NAME}-${VERSION}" | |
133 cp -fR ${MAN1} ${MAN5} ${DOC} ${HDR} \ | |
134 ${SRC} ${LIBXMLSRC} ${LIBUTILSRC} ${COMPATSRC} ${SCRIPTS… | |
135 themes Makefile \ | |
136 sfeedrc.example style.css \ | |
137 "${NAME}-${VERSION}" | |
138 # make tarball | |
139 tar cf - "${NAME}-${VERSION}" | \ | |
140 gzip -c > "${NAME}-${VERSION}.tar.gz" | |
141 rm -rf "${NAME}-${VERSION}" | |
142 | |
143 clean: | |
144 rm -f ${BIN} ${OBJ} ${LIB} | |
145 | |
146 install: all | |
147 # installing executable files and scripts. | |
148 mkdir -p "${DESTDIR}${PREFIX}/bin" | |
149 cp -fRP ${BIN} ${SCRIPTS} "${DESTDIR}${PREFIX}/bin" | |
150 for f in ${BIN} ${SCRIPTS}; do chmod 755 "${DESTDIR}${PREFIX}/bi… | |
151 # installing example files. | |
152 mkdir -p "${DESTDIR}${DOCPREFIX}" | |
153 cp -f sfeedrc.example\ | |
154 style.css\ | |
155 README\ | |
156 README.xml\ | |
157 "${DESTDIR}${DOCPREFIX}" | |
158 # installing manual pages for general commands: section 1. | |
159 mkdir -p "${DESTDIR}${MANPREFIX}/man1" | |
160 cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1" | |
161 for m in ${MAN1}; do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"… | |
162 # installing manual pages for file formats: section 5. | |
163 mkdir -p "${DESTDIR}${MANPREFIX}/man5" | |
164 cp -f ${MAN5} "${DESTDIR}${MANPREFIX}/man5" | |
165 for m in ${MAN5}; do chmod 644 "${DESTDIR}${MANPREFIX}/man5/$$m"… | |
166 | |
167 uninstall: | |
168 # removing executable files and scripts. | |
169 for f in ${BIN} ${SCRIPTS}; do rm -f "${DESTDIR}${PREFIX}/bin/$$… | |
170 # removing example files. | |
171 rm -f \ | |
172 "${DESTDIR}${DOCPREFIX}/sfeedrc.example"\ | |
173 "${DESTDIR}${DOCPREFIX}/style.css"\ | |
174 "${DESTDIR}${DOCPREFIX}/README"\ | |
175 "${DESTDIR}${DOCPREFIX}/README.xml" | |
176 -rmdir "${DESTDIR}${DOCPREFIX}" | |
177 # removing manual pages. | |
178 for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; do… | |
179 for m in ${MAN5}; do rm -f "${DESTDIR}${MANPREFIX}/man5/$$m"; do… | |
180 | |
181 .PHONY: all clean dist install uninstall |