]> git.ipfire.org Git - thirdparty/squid.git/blob - src/Makefile.am
clientStreams, rationalising the client side logic to allow plugin output streams...
[thirdparty/squid.git] / src / Makefile.am
1 #
2 # Makefile for the Squid Object Cache server
3 #
4 # $Id: Makefile.am,v 1.29 2002/09/15 05:41:56 robertc Exp $
5 #
6 # Uncomment and customize the following to suit your needs:
7 #
8
9 if USE_DNSSERVER
10 DNSSOURCE = dns.c
11 DNSSERVER = dnsserver
12 else
13 DNSSOURCE = dns_internal.c
14 DNSSERVER =
15 endif
16
17 if USE_SNMP
18 SNMPSOURCE = snmp_core.c snmp_agent.c
19 else
20 SNMPSOURCE =
21 endif
22
23 if USE_DELAY_POOLS
24 DELAY_POOL_SOURCE = delay_pools.c
25 else
26 DELAY_POOL_SOURCE =
27 endif
28
29 if ENABLE_HTCP
30 HTCPSOURCE = htcp.c
31 endif
32
33 if MAKE_LEAKFINDER
34 LEAKFINDERSOURCE = leakfinder.c
35 else
36 LEAKFINDERSOURCE =
37 endif
38
39 if ENABLE_UNLINKD
40 UNLINKDSOURCE = unlinkd.c
41 UNLINKD = unlinkd
42 UNLINKD_EXE = unlinkd$(EXEEXT)
43 else
44 UNLINKDSOURCE =
45 UNLINKD =
46 UNLINKD_EXE =
47 endif
48
49 if ENABLE_SSL
50 SSLSOURCE = ssl_support.c
51 else
52 SSLSOURCE =
53 endif
54
55 if ENABLE_WIN32SPECIFIC
56 WIN32SOURCE = win32.c
57 else
58 WIN32SOURCE =
59 endif
60
61 SUBDIRS = fs repl auth
62
63 INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include
64
65 EXTRA_PROGRAMS = \
66 unlinkd \
67 pinger \
68 dnsserver
69
70 noinst_PROGRAMS = \
71 cf_gen
72
73 sbin_PROGRAMS = \
74 squid
75
76 bin_PROGRAMS = \
77 squidclient
78
79 libexec_PROGRAMS = \
80 @OPT_PINGER@ \
81 $(DNSSERVER) \
82 $(UNLINKD) \
83 cachemgr$(CGIEXT)
84
85 cf_gen_SOURCES = cf_gen.c defines.h
86 nodist_cf_gen_HEADER = cf_gen_defines.h
87 cf_gen.$(OBJEXT): cf_gen_defines.h
88 squidclient_SOURCES = client.c
89 cachemgr__CGIEXT__SOURCES = cachemgr.c
90
91 EXTRA_squid_SOURCES = \
92 delay_pools.c \
93 dns.c \
94 dnsserver.c \
95 dns_internal.c \
96 htcp.c \
97 leakfinder.c \
98 snmp_core.c \
99 snmp_agent.c \
100 unlinkd.c \
101 ssl_support.c \
102 ssl_support.h \
103 win32.c
104
105 squid_SOURCES = \
106 access_log.c \
107 acl.c \
108 asn.c \
109 authenticate.c \
110 cache_cf.c \
111 CacheDigest.c \
112 cache_manager.c \
113 carp.c \
114 cbdata.c \
115 client_db.c \
116 client_side.c \
117 client_side_reply.c \
118 client_side_request.c \
119 clientStream.c \
120 comm.c \
121 comm_select.c \
122 comm_poll.c \
123 comm_kqueue.c \
124 debug.c \
125 defines.h \
126 $(DELAY_POOL_SOURCE) \
127 disk.c \
128 $(DNSSOURCE) \
129 enums.h \
130 errorpage.c \
131 ETag.c \
132 event.c \
133 external_acl.c \
134 fd.c \
135 filemap.c \
136 forward.c \
137 fqdncache.c \
138 ftp.c \
139 globals.h \
140 gopher.c \
141 helper.c \
142 $(HTCPSOURCE) \
143 http.c \
144 HttpStatusLine.c \
145 HttpHdrCc.c \
146 HttpHdrRange.c \
147 HttpHdrContRange.c \
148 HttpHeader.c \
149 HttpHeaderTools.c \
150 HttpBody.c \
151 HttpMsg.c \
152 HttpReply.c \
153 HttpRequest.c \
154 icmp.c \
155 icp_v2.c \
156 icp_v3.c \
157 ident.c \
158 internal.c \
159 ipc.c \
160 ipcache.c \
161 $(LEAKFINDERSOURCE) \
162 logfile.c \
163 main.c \
164 mem.c \
165 MemBuf.c \
166 mime.c \
167 multicast.c \
168 neighbors.c \
169 net_db.c \
170 Packer.c \
171 pconn.c \
172 peer_digest.c \
173 peer_select.c \
174 protos.h \
175 redirect.c \
176 referer.c \
177 refresh.c \
178 send-announce.c \
179 $(SNMPSOURCE) \
180 squid.h \
181 ssl.c \
182 $(SSLSOURCE) \
183 stat.c \
184 StatHist.c \
185 String.c \
186 stmem.c \
187 store.c \
188 store_io.c \
189 store_client.c \
190 store_digest.c \
191 store_dir.c \
192 store_key_md5.c \
193 store_log.c \
194 store_rebuild.c \
195 store_swapin.c \
196 store_swapmeta.c \
197 store_swapout.c \
198 structs.h \
199 tools.c \
200 typedefs.h \
201 $(UNLINKDSOURCE) \
202 url.c \
203 urn.c \
204 useragent.c \
205 wais.c \
206 wccp.c \
207 whois.c \
208 $(WIN32SOURCE)
209
210 nodist_squid_SOURCES = \
211 repl_modules.c \
212 auth_modules.c \
213 store_modules.c \
214 cf_parser.h \
215 globals.c \
216 string_arrays.c
217
218 squid_LDADD = \
219 -L../lib \
220 @XTRA_OBJS@ \
221 @REPL_OBJS@ \
222 @STORE_OBJS@ \
223 @AUTH_OBJS@ \
224 @CRYPTLIB@ \
225 @REGEXLIB@ \
226 @SNMPLIB@ \
227 @LIB_MALLOC@ \
228 @SSLLIB@ \
229 -lmiscutil \
230 @XTRA_LIBS@
231
232 unlinkd_SOURCES =
233 unlinkd_LDADD = unlinkd-daemon.o
234 unlinkd-daemon.o: unlinkd.c
235 $(COMPILE) -DUNLINK_DAEMON -c $(srcdir)/unlinkd.c -o $@
236
237 pinger_SOURCES = \
238 pinger.c \
239 debug.c
240
241 nodist_pinger_SOURCES = \
242 globals.c
243
244 BUILT_SOURCES = \
245 cf_gen_defines.h \
246 cf_parser.h \
247 globals.c \
248 string_arrays.c \
249 repl_modules.c \
250 auth_modules.c \
251 store_modules.c
252
253 sysconf_DATA = \
254 squid.conf.default \
255 mime.conf.default
256
257 data_DATA = \
258 mib.txt
259
260 LDADD = -L../lib -lmiscutil @XTRA_LIBS@
261
262 EXTRA_DIST = \
263 cf_gen_defines \
264 cf.data.pre \
265 mk-globals-c.pl \
266 mk-string-arrays.pl \
267 auth_modules.sh \
268 store_modules.sh \
269 repl_modules.sh \
270 mib.txt \
271 mime.conf.default
272
273 DEFAULT_PREFIX = $(prefix)
274 DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf
275 DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf
276 DEFAULT_DNSSERVER = $(libexecdir)/@OPT_DNSSERVER_EXE@
277 DEFAULT_LOG_PREFIX = $(localstatedir)/logs
278 DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log
279 DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
280 DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
281 DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pid
282 DEFAULT_SWAP_DIR = $(localstatedir)/cache
283 DEFAULT_PINGER = $(libexecdir)/@OPT_PINGER_EXE@
284 DEFAULT_UNLINKD = $(libexecdir)/$(UNLINKD_EXE)
285 DEFAULT_DISKD = $(libexecdir)/@OPT_DISKD_EXE@
286 DEFAULT_ICON_DIR = $(datadir)/icons
287 DEFAULT_ERROR_DIR = $(datadir)/errors/@ERR_DEFAULT_LANGUAGE@
288 DEFAULT_MIB_PATH = $(datadir)/mib.txt
289 DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
290
291 DEFS = @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\"
292
293 $(OBJS): $(top_srcdir)/include/version.h ../include/autoconf.h
294
295 snmp_core.o snmp_agent.o: ../snmplib/libsnmp.a $(top_srcdir)/include/cache_snmp.h
296
297 globals.c: globals.h mk-globals-c.pl
298 $(PERL) $(srcdir)/mk-globals-c.pl < $(srcdir)/globals.h > $@
299
300 string_arrays.c: enums.h mk-string-arrays.pl
301 $(PERL) $(srcdir)/mk-string-arrays.pl < $(srcdir)/enums.h > $@
302
303 cache_diff: cache_diff.o debug.o globals.o store_key_md5.o
304 $(CC) -o $@ $(LDFLAGS) $@.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
305
306 test_cache_digest: test_cache_digest.o CacheDigest.o debug.o globals.o store_key_md5.o
307 $(CC) -o $@ $(LDFLAGS) $@.o CacheDigest.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
308
309 ## If autodependency works well this is not needed anymore
310 cache_cf.o: cf_parser.h
311
312 squid.conf.default: cf_parser.h
313 $(SHELL) -c "test -f squid.conf.default || ./cf_gen cf.data"
314
315 cf_parser.h: cf.data cf_gen$(EXEEXT)
316 ./cf_gen cf.data
317
318 cf_gen_defines.h: $(srcdir)/cf_gen_defines $(srcdir)/cf.data.pre
319 awk -f $(srcdir)/cf_gen_defines <$(srcdir)/cf.data.pre >cf_gen_defines.h
320
321
322 ## FIXME: generate a sed command file from configure. Then this doesn't
323 ## depend on the Makefile.
324 cf.data: cf.data.pre Makefile
325 sed "\
326 s%@DEFAULT_MIME_TABLE@%$(DEFAULT_MIME_TABLE)%g;\
327 s%@DEFAULT_DNSSERVER@%$(DEFAULT_DNSSERVER)%g;\
328 s%@DEFAULT_UNLINKD@%$(DEFAULT_UNLINKD)%g;\
329 s%@DEFAULT_PINGER@%$(DEFAULT_PINGER)%g;\
330 s%@DEFAULT_DISKD@%$(DEFAULT_DISKD)%g;\
331 s%@DEFAULT_CACHE_LOG@%$(DEFAULT_CACHE_LOG)%g;\
332 s%@DEFAULT_ACCESS_LOG@%$(DEFAULT_ACCESS_LOG)%g;\
333 s%@DEFAULT_STORE_LOG@%$(DEFAULT_STORE_LOG)%g;\
334 s%@DEFAULT_PID_FILE@%$(DEFAULT_PID_FILE)%g;\
335 s%@DEFAULT_SWAP_DIR@%$(DEFAULT_SWAP_DIR)%g;\
336 s%@DEFAULT_ICON_DIR@%$(DEFAULT_ICON_DIR)%g;\
337 s%@DEFAULT_MIB_PATH@%$(DEFAULT_MIB_PATH)%g;\
338 s%@DEFAULT_ERROR_DIR@%$(DEFAULT_ERROR_DIR)%g;\
339 s%@DEFAULT_PREFIX@%$(DEFAULT_PREFIX)%g;\
340 s%@DEFAULT_HOSTS@%$(DEFAULT_HOSTS)%g;"\
341 < $(srcdir)/cf.data.pre >$@
342
343 store_modules.c: store_modules.sh Makefile
344 $(SHELL) $(srcdir)/store_modules.sh $(STORE_MODULES) >store_modules.c
345
346 repl_modules.c: repl_modules.sh Makefile
347 $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.c
348
349 auth_modules.c: auth_modules.sh Makefile
350 @$(SHELL) $(srcdir)/auth_modules.sh $(AUTH_MODULES) >auth_modules.c
351
352 install-data-local: install-sysconfDATA install-dataDATA
353 @if test -f $(DESTDIR)$(DEFAULT_MIME_TABLE) ; then \
354 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_MIME_TABLE)" ; \
355 else \
356 echo "$(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE)" ;\
357 $(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE); \
358 fi
359 @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \
360 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_CONFIG_FILE)" ; \
361 else \
362 echo "$(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE)"; \
363 $(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE); \
364 fi
365 $(mkinstalldirs) $(DESTDIR)$(DEFAULT_LOG_PREFIX)
366
367 uninstall-local:
368 @if test -f $(DESTDIR)$(DEFAULT_MIME_TABLE) ; then \
369 echo "rm -f $(DESTDIR)$(DEFAULT_MIME_TABLE)"; \
370 $(RM) -f $(DESTDIR)$(DEFAULT_MIME_TABLE); \
371 fi
372 @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \
373 echo "rm -f $(DESTDIR)$(DEFAULT_CONFIG_FILE)"; \
374 $(RM) -f $(DESTDIR)$(DEFAULT_CONFIG_FILE); \
375 fi
376
377 DISTCLEANFILES = cf_gen_defines.h cf.data cf_parser.h squid.conf.default \
378 globals.c string_arrays.c repl_modules.c auth_modules.c store_modules.c
379
380 ##install-pinger:
381 ## @f=$(PINGER_EXE); \
382 ## if test -f $(libexecdir)/$$f; then \
383 ## echo $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
384 ## $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
385 ## fi; \
386 ## echo $(INSTALL_SUID) $$f $(libexecdir); \
387 ## $(INSTALL_SUID) $$f $(libexecdir) || exit 1; \
388 ## if test -f $(libexecdir)/-$$f; then \
389 ## echo $(RM) -f $(libexecdir)/-$$f; \
390 ## $(RM) -f $(libexecdir)/-$$f; \
391 ## fi
392