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