1 ## $Id: Makefile 7727 2008-04-06 07:59:46Z iulius $
3 include ../Makefile.global
8 # The base library files that are always compiled and included.
9 SOURCES = buffer.c cleanfrom.c clientactive.c clientlib.c concat.c \
10 conffile.c confparse.c daemonize.c date.c dbz.c defdist.c \
11 fdflags.c fdlimit.c genid.c getfqdn.c getmodaddr.c gettime.c \
12 hash.c hashtab.c innconf.c inndcomm.c list.c localopen.c \
13 lockfile.c makedir.c md5.c messages.c mmap.c parsedate.c \
14 qio.c radix32.c readin.c remopen.c reservedfd.c resource.c \
15 sendarticle.c sendpass.c sequence.c sockaddr.c timer.c tst.c \
16 uwildmat.c vector.c version.c wire.c xfopena.c xmalloc.c \
19 # Sources for additional functions only built to replace missing system ones.
20 EXTRA_SOURCES = fseeko.c ftello.c getpagesize.c hstrerror.c inet_aton.c \
21 inet_ntoa.c memcmp.c mkstemp.c pread.c pwrite.c setenv.c \
22 setproctitle.c strcasecmp.c strerror.c strlcat.c strlcpy.c \
25 OBJECTS = $(LIBOBJS) $(SOURCES:.c=.o)
26 LOBJECTS = $(OBJECTS:.o=.lo)
30 all: libinn.$(EXTLIB) perl.o
33 $(MAKE) COPT='$(WARNINGS)' all
36 $(LI_XPUB) libinn.$(EXTLIB) $D$(PATHLIB)/libinn.$(EXTLIB)
38 clobber clean distclean:
39 rm -f *.o *.lo libinn.la libinn.a parsedate.c parsedate
40 rm -f profiled perl$(PROFSUFFIX).o libinn$(PROFSUFFIX).a
41 rm -f libinn_pure_*.a .pure
44 tags ctags: $(SOURCES)
45 $(CTAGS) $(SOURCES) ../include/*.h
47 libinn.la: $(OBJECTS) $(LOBJECTS)
48 $(LIBLD) $(LDFLAGS) -o $@ $(LOBJECTS) $(LIBS) \
49 -rpath $(PATHLIB) -version-info 2:0:0
56 $(LIBCC) $(CFLAGS) -c $*.c
59 $(CC) $(CFLAGS) $(PERLINC) $(LDFLAGS) -c perl.c
61 ../include/inn/system.h:
62 (cd ../include && $(MAKE))
64 parsedate.c: parsedate.y
65 @echo Expect 6 shift/reduce conflicts
67 @mv y.tab.c parsedate.c
69 parsedate: parsedate.c gettime.o
70 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ -DTEST -DYYDEBUG parsedate.c gettime.o
72 ## Profiling. The rules are a bit brute-force, but good enough.
73 profiled: libinn$(PROFSUFFIX).a perl$(PROFSUFFIX).o
76 libinn$(PROFSUFFIX).a perl$(PROFSUFFIX).o: $(OBJECTS) perl.o
78 $(MAKEPROFILING) libinn.a
79 $(MAKEPROFILING) perl.o
80 mv libinn.a libinn$(PROFSUFFIX).a
81 mv perl.o perl$(PROFSUFFIX).o
82 $(RANLIB) libinn$(PROFSUFFIX).a
85 ## Dependencies. Default list, below, is probably good enough.
87 depend: Makefile $(SOURCES) $(EXTRA_SOURCES) perl.c ../include/inn/system.h
88 $(MAKEDEPEND) '$(CFLAGS) $(PERLINC)' $(SOURCES) $(EXTRA_SOURCES) perl.c
90 # Special dependency to teach make to build the include directory properly.
91 ../include/inn/defines.h: ../include/inn/system.h
93 # DO NOT DELETE THIS LINE -- make depend depends on it.
94 buffer.o: buffer.c ../include/config.h ../include/inn/defines.h \
95 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
96 ../include/inn/buffer.h ../include/inn/defines.h ../include/libinn.h
97 cleanfrom.o: cleanfrom.c ../include/config.h ../include/inn/defines.h \
98 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
100 clientactive.o: clientactive.c ../include/config.h \
101 ../include/inn/defines.h ../include/inn/system.h ../include/clibrary.h \
102 ../include/config.h ../include/inn/innconf.h ../include/inn/defines.h \
103 ../include/libinn.h ../include/nntp.h ../include/paths.h
104 clientlib.o: clientlib.c ../include/config.h ../include/inn/defines.h \
105 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
106 ../include/inn/innconf.h ../include/inn/defines.h ../include/libinn.h \
108 concat.o: concat.c ../include/config.h ../include/inn/defines.h \
109 ../include/inn/system.h ../include/libinn.h ../include/config.h
110 conffile.o: conffile.c ../include/config.h ../include/inn/defines.h \
111 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
112 ../include/conffile.h ../include/libinn.h
113 confparse.o: confparse.c ../include/config.h ../include/inn/defines.h \
114 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
115 ../include/inn/confparse.h ../include/inn/defines.h \
116 ../include/inn/hashtab.h ../include/inn/messages.h \
117 ../include/inn/vector.h ../include/libinn.h
118 daemonize.o: daemonize.c ../include/config.h ../include/inn/defines.h \
119 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
120 ../include/inn/messages.h ../include/inn/defines.h ../include/libinn.h
121 date.o: date.c ../include/config.h ../include/inn/defines.h \
122 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
124 dbz.o: dbz.c ../include/config.h ../include/inn/defines.h \
125 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
126 ../include/dbz.h ../include/libinn.h ../include/inn/messages.h \
127 ../include/inn/defines.h ../include/inn/innconf.h ../include/inn/mmap.h \
129 defdist.o: defdist.c ../include/config.h ../include/inn/defines.h \
130 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
131 ../include/inn/innconf.h ../include/inn/defines.h ../include/libinn.h \
133 fdflags.o: fdflags.c ../include/config.h ../include/inn/defines.h \
134 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
136 fdlimit.o: fdlimit.c ../include/config.h ../include/inn/defines.h \
137 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
139 genid.o: genid.c ../include/config.h ../include/inn/defines.h \
140 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
141 ../include/inn/innconf.h ../include/inn/defines.h ../include/libinn.h
142 getfqdn.o: getfqdn.c ../include/config.h ../include/inn/defines.h \
143 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
144 ../include/libinn.h ../include/paths.h
145 getmodaddr.o: getmodaddr.c ../include/config.h ../include/inn/defines.h \
146 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
147 ../include/inn/innconf.h ../include/inn/defines.h ../include/libinn.h \
148 ../include/nntp.h ../include/paths.h
149 gettime.o: gettime.c ../include/config.h ../include/inn/defines.h \
150 ../include/inn/system.h ../include/libinn.h ../include/config.h
151 hash.o: hash.c ../include/config.h ../include/inn/defines.h \
152 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
153 ../include/inn/md5.h ../include/inn/defines.h ../include/libinn.h
154 hashtab.o: hashtab.c ../include/config.h ../include/inn/defines.h \
155 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
156 ../include/inn/hashtab.h ../include/inn/defines.h ../include/libinn.h
157 innconf.o: innconf.c ../include/config.h ../include/inn/defines.h \
158 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
159 ../include/inn/confparse.h ../include/inn/defines.h \
160 ../include/inn/innconf.h ../include/inn/messages.h \
161 ../include/inn/vector.h ../include/libinn.h ../include/paths.h
162 inndcomm.o: inndcomm.c ../include/config.h ../include/inn/defines.h \
163 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
164 ../include/portable/time.h ../include/config.h \
165 ../include/portable/socket.h ../include/inn/innconf.h \
166 ../include/inn/defines.h ../include/inndcomm.h ../include/libinn.h \
168 list.o: list.c ../include/config.h ../include/inn/defines.h \
169 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
170 ../include/inn/list.h ../include/inn/defines.h
171 localopen.o: localopen.c ../include/config.h ../include/inn/defines.h \
172 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
173 ../include/inn/innconf.h ../include/inn/defines.h ../include/libinn.h \
174 ../include/nntp.h ../include/paths.h
175 lockfile.o: lockfile.c ../include/config.h ../include/inn/defines.h \
176 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
178 makedir.o: makedir.c ../include/config.h ../include/inn/defines.h \
179 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
181 md5.o: md5.c ../include/config.h ../include/inn/defines.h \
182 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
183 ../include/inn/md5.h ../include/inn/defines.h
184 messages.o: messages.c ../include/config.h ../include/inn/defines.h \
185 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
186 ../include/inn/messages.h ../include/inn/defines.h ../include/libinn.h
187 mmap.o: mmap.c ../include/config.h ../include/inn/defines.h \
188 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
189 ../include/portable/mmap.h ../include/config.h \
190 ../include/inn/messages.h ../include/inn/defines.h \
191 ../include/inn/mmap.h
192 parsedate.o: parsedate.c ../include/config.h ../include/inn/defines.h \
193 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
195 qio.o: qio.c ../include/config.h ../include/inn/defines.h \
196 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
197 ../include/inn/qio.h ../include/inn/defines.h ../include/libinn.h
198 radix32.o: radix32.c ../include/config.h ../include/inn/defines.h \
199 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
201 readin.o: readin.c ../include/config.h ../include/inn/defines.h \
202 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
204 remopen.o: remopen.c ../include/config.h ../include/inn/defines.h \
205 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
206 ../include/portable/socket.h ../include/config.h \
207 ../include/inn/innconf.h ../include/inn/defines.h ../include/libinn.h \
208 ../include/nntp.h ../include/paths.h
209 reservedfd.o: reservedfd.c ../include/config.h ../include/inn/defines.h \
210 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
212 resource.o: resource.c ../include/config.h ../include/inn/defines.h \
213 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
215 sendarticle.o: sendarticle.c ../include/config.h ../include/inn/defines.h \
216 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
217 ../include/libinn.h ../include/nntp.h
218 sendpass.o: sendpass.c ../include/config.h ../include/inn/defines.h \
219 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
220 ../include/inn/innconf.h ../include/inn/defines.h ../include/libinn.h \
221 ../include/nntp.h ../include/paths.h
222 sequence.o: sequence.c ../include/config.h ../include/inn/defines.h \
223 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
224 ../include/inn/sequence.h ../include/inn/defines.h
225 sockaddr.o: sockaddr.c ../include/config.h ../include/inn/defines.h \
226 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
227 ../include/portable/socket.h ../include/config.h ../include/libinn.h
228 timer.o: timer.c ../include/config.h ../include/inn/defines.h \
229 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
230 ../include/portable/time.h ../include/config.h \
231 ../include/inn/messages.h ../include/inn/defines.h \
232 ../include/inn/timer.h ../include/libinn.h
233 tst.o: tst.c ../include/config.h ../include/inn/defines.h \
234 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
235 ../include/inn/tst.h ../include/inn/defines.h ../include/libinn.h
236 uwildmat.o: uwildmat.c ../include/config.h ../include/inn/defines.h \
237 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
239 vector.o: vector.c ../include/config.h ../include/inn/defines.h \
240 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
241 ../include/inn/vector.h ../include/inn/defines.h ../include/libinn.h
242 version.o: version.c ../include/config.h ../include/inn/defines.h \
243 ../include/inn/system.h ../include/inn/version.h
244 wire.o: wire.c ../include/config.h ../include/inn/defines.h \
245 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
246 ../include/inn/wire.h ../include/inn/defines.h ../include/libinn.h
247 xfopena.o: xfopena.c ../include/config.h ../include/inn/defines.h \
248 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
250 xmalloc.o: xmalloc.c ../include/config.h ../include/inn/defines.h \
251 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
252 ../include/inn/messages.h ../include/inn/defines.h ../include/libinn.h
253 xsignal.o: xsignal.c ../include/config.h ../include/inn/defines.h \
254 ../include/inn/system.h ../include/libinn.h ../include/config.h
255 xwrite.o: xwrite.c ../include/config.h ../include/inn/defines.h \
256 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
258 fseeko.o: fseeko.c ../include/config.h ../include/inn/defines.h \
259 ../include/inn/system.h ../include/clibrary.h ../include/config.h
260 ftello.o: ftello.c ../include/config.h ../include/inn/defines.h \
261 ../include/inn/system.h ../include/clibrary.h ../include/config.h
262 getpagesize.o: getpagesize.c ../include/config.h ../include/inn/defines.h \
263 ../include/inn/system.h
264 hstrerror.o: hstrerror.c ../include/config.h ../include/inn/defines.h \
265 ../include/inn/system.h ../include/clibrary.h ../include/config.h
266 inet_aton.o: inet_aton.c ../include/config.h ../include/inn/defines.h \
267 ../include/inn/system.h ../include/clibrary.h ../include/config.h
268 inet_ntoa.o: inet_ntoa.c ../include/config.h ../include/inn/defines.h \
269 ../include/inn/system.h ../include/clibrary.h ../include/config.h
270 memcmp.o: memcmp.c ../include/config.h ../include/inn/defines.h \
271 ../include/inn/system.h
272 mkstemp.o: mkstemp.c ../include/config.h ../include/inn/defines.h \
273 ../include/inn/system.h ../include/clibrary.h ../include/config.h \
274 ../include/portable/time.h ../include/config.h
275 pread.o: pread.c ../include/config.h ../include/inn/defines.h \
276 ../include/inn/system.h ../include/clibrary.h ../include/config.h
277 pwrite.o: pwrite.c ../include/config.h ../include/inn/defines.h \
278 ../include/inn/system.h ../include/clibrary.h ../include/config.h
279 setenv.o: setenv.c ../include/config.h ../include/inn/defines.h \
280 ../include/inn/system.h ../include/clibrary.h ../include/config.h
281 setproctitle.o: setproctitle.c ../include/config.h \
282 ../include/inn/defines.h ../include/inn/system.h ../include/clibrary.h \
283 ../include/config.h ../include/portable/setproctitle.h \
284 ../include/config.h ../include/inn/messages.h ../include/inn/defines.h
285 strcasecmp.o: strcasecmp.c ../include/config.h ../include/inn/defines.h \
286 ../include/inn/system.h ../include/clibrary.h ../include/config.h
287 strerror.o: strerror.c ../include/config.h ../include/inn/defines.h \
288 ../include/inn/system.h
289 strlcat.o: strlcat.c ../include/config.h ../include/inn/defines.h \
290 ../include/inn/system.h ../include/clibrary.h ../include/config.h
291 strlcpy.o: strlcpy.c ../include/config.h ../include/inn/defines.h \
292 ../include/inn/system.h ../include/clibrary.h ../include/config.h
293 strspn.o: strspn.c ../include/config.h ../include/inn/defines.h \
294 ../include/inn/system.h ../include/clibrary.h ../include/config.h
295 strtok.o: strtok.c ../include/config.h ../include/inn/defines.h \
296 ../include/inn/system.h ../include/clibrary.h ../include/config.h
297 perl.o: perl.c ../include/config.h ../include/inn/defines.h \
298 ../include/inn/system.h