]> git.ipfire.org Git - thirdparty/squid.git/blame - src/Makefile.am
fix headers to allow inclusion into C++ source
[thirdparty/squid.git] / src / Makefile.am
CommitLineData
a2794549 1#
2# Makefile for the Squid Object Cache server
3#
29b8d8d6 4# $Id: Makefile.am,v 1.30 2002/09/15 06:40:56 robertc 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
c16209de 73sbin_PROGRAMS = \
74 squid
75
25a51990 76bin_PROGRAMS = \
79456070 77 squidclient
25a51990 78
79libexec_PROGRAMS = \
80 @OPT_PINGER@ \
81 $(DNSSERVER) \
82 $(UNLINKD) \
7aeb8001 83 cachemgr$(CGIEXT)
a2794549 84
85cf_gen_SOURCES = cf_gen.c defines.h
86nodist_cf_gen_HEADER = cf_gen_defines.h
87cf_gen.$(OBJEXT): cf_gen_defines.h
79456070 88squidclient_SOURCES = client.c
7aeb8001 89cachemgr__CGIEXT__SOURCES = cachemgr.c
a2794549 90
25a51990 91EXTRA_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 \
449e3a26 102 ssl_support.h \
25a51990 103 win32.c
104
a2794549 105squid_SOURCES = \
25a51990 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 \
edce4d98 117 client_side_reply.c \
118 client_side_request.c \
119 clientStream.c \
25a51990 120 comm.c \
121 comm_select.c \
1b3db6d9 122 comm_poll.c \
92b9f1fd 123 comm_kqueue.c \
25a51990 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 \
d9572179 133 external_acl.c \
25a51990 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 \
25a51990 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
210nodist_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
218squid_LDADD = \
678a3272 219 -L../lib \
25a51990 220 @XTRA_OBJS@ \
221 @REPL_OBJS@ \
222 @STORE_OBJS@ \
223 @AUTH_OBJS@ \
224 @CRYPTLIB@ \
225 @REGEXLIB@ \
25a51990 226 @SNMPLIB@ \
227 @LIB_MALLOC@ \
228 @SSLLIB@ \
678a3272 229 -lmiscutil \
25a51990 230 @XTRA_LIBS@
29b8d8d6 231squid_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a
a2794549 232
233unlinkd_SOURCES =
234unlinkd_LDADD = unlinkd-daemon.o
235unlinkd-daemon.o: unlinkd.c
236 $(COMPILE) -DUNLINK_DAEMON -c $(srcdir)/unlinkd.c -o $@
237
25a51990 238pinger_SOURCES = \
239 pinger.c \
7f826018 240 debug.c
241
242nodist_pinger_SOURCES = \
25a51990 243 globals.c
a2794549 244
25a51990 245BUILT_SOURCES = \
246 cf_gen_defines.h \
247 cf_parser.h \
248 globals.c \
249 string_arrays.c \
250 repl_modules.c \
251 auth_modules.c \
252 store_modules.c
a2794549 253
25a51990 254sysconf_DATA = \
255 squid.conf.default \
25a51990 256 mime.conf.default
a2794549 257
d79d5e6d 258data_DATA = \
259 mib.txt
260
678a3272 261LDADD = -L../lib -lmiscutil @XTRA_LIBS@
a2794549 262
25a51990 263EXTRA_DIST = \
264 cf_gen_defines \
265 cf.data.pre \
266 mk-globals-c.pl \
267 mk-string-arrays.pl \
268 auth_modules.sh \
269 store_modules.sh \
270 repl_modules.sh \
271 mib.txt \
272 mime.conf.default
a2794549 273
274DEFAULT_PREFIX = $(prefix)
275DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf
276DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf
bacca099 277DEFAULT_DNSSERVER = $(libexecdir)/@OPT_DNSSERVER_EXE@
5367f41f 278DEFAULT_LOG_PREFIX = $(localstatedir)/logs
279DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log
280DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
281DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
282DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pid
a2794549 283DEFAULT_SWAP_DIR = $(localstatedir)/cache
8efddab9 284DEFAULT_PINGER = $(libexecdir)/@OPT_PINGER_EXE@
a2794549 285DEFAULT_UNLINKD = $(libexecdir)/$(UNLINKD_EXE)
bacca099 286DEFAULT_DISKD = $(libexecdir)/@OPT_DISKD_EXE@
0fafbbef 287DEFAULT_ICON_DIR = $(datadir)/icons
288DEFAULT_ERROR_DIR = $(datadir)/errors/@ERR_DEFAULT_LANGUAGE@
d79d5e6d 289DEFAULT_MIB_PATH = $(datadir)/mib.txt
9d798391 290DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
a2794549 291
c4ed961a 292DEFS = @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\"
a2794549 293
294$(OBJS): $(top_srcdir)/include/version.h ../include/autoconf.h
295
296snmp_core.o snmp_agent.o: ../snmplib/libsnmp.a $(top_srcdir)/include/cache_snmp.h
297
298globals.c: globals.h mk-globals-c.pl
299 $(PERL) $(srcdir)/mk-globals-c.pl < $(srcdir)/globals.h > $@
300
301string_arrays.c: enums.h mk-string-arrays.pl
302 $(PERL) $(srcdir)/mk-string-arrays.pl < $(srcdir)/enums.h > $@
303
304cache_diff: cache_diff.o debug.o globals.o store_key_md5.o
305 $(CC) -o $@ $(LDFLAGS) $@.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
306
307test_cache_digest: test_cache_digest.o CacheDigest.o debug.o globals.o store_key_md5.o
308 $(CC) -o $@ $(LDFLAGS) $@.o CacheDigest.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
309
310## If autodependency works well this is not needed anymore
311cache_cf.o: cf_parser.h
312
313squid.conf.default: cf_parser.h
314 $(SHELL) -c "test -f squid.conf.default || ./cf_gen cf.data"
315
316cf_parser.h: cf.data cf_gen$(EXEEXT)
317 ./cf_gen cf.data
318
319cf_gen_defines.h: $(srcdir)/cf_gen_defines $(srcdir)/cf.data.pre
320 awk -f $(srcdir)/cf_gen_defines <$(srcdir)/cf.data.pre >cf_gen_defines.h
321
322
323## FIXME: generate a sed command file from configure. Then this doesn't
324## depend on the Makefile.
325cf.data: cf.data.pre Makefile
326 sed "\
327 s%@DEFAULT_MIME_TABLE@%$(DEFAULT_MIME_TABLE)%g;\
328 s%@DEFAULT_DNSSERVER@%$(DEFAULT_DNSSERVER)%g;\
329 s%@DEFAULT_UNLINKD@%$(DEFAULT_UNLINKD)%g;\
330 s%@DEFAULT_PINGER@%$(DEFAULT_PINGER)%g;\
331 s%@DEFAULT_DISKD@%$(DEFAULT_DISKD)%g;\
332 s%@DEFAULT_CACHE_LOG@%$(DEFAULT_CACHE_LOG)%g;\
333 s%@DEFAULT_ACCESS_LOG@%$(DEFAULT_ACCESS_LOG)%g;\
334 s%@DEFAULT_STORE_LOG@%$(DEFAULT_STORE_LOG)%g;\
335 s%@DEFAULT_PID_FILE@%$(DEFAULT_PID_FILE)%g;\
336 s%@DEFAULT_SWAP_DIR@%$(DEFAULT_SWAP_DIR)%g;\
337 s%@DEFAULT_ICON_DIR@%$(DEFAULT_ICON_DIR)%g;\
338 s%@DEFAULT_MIB_PATH@%$(DEFAULT_MIB_PATH)%g;\
339 s%@DEFAULT_ERROR_DIR@%$(DEFAULT_ERROR_DIR)%g;\
9d798391 340 s%@DEFAULT_PREFIX@%$(DEFAULT_PREFIX)%g;\
341 s%@DEFAULT_HOSTS@%$(DEFAULT_HOSTS)%g;"\
a2794549 342 < $(srcdir)/cf.data.pre >$@
343
449021e7 344store_modules.c: store_modules.sh Makefile
a2794549 345 $(SHELL) $(srcdir)/store_modules.sh $(STORE_MODULES) >store_modules.c
346
06b95d10 347repl_modules.c: repl_modules.sh Makefile
a2794549 348 $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.c
349
06b95d10 350auth_modules.c: auth_modules.sh Makefile
a2794549 351 @$(SHELL) $(srcdir)/auth_modules.sh $(AUTH_MODULES) >auth_modules.c
352
d79d5e6d 353install-data-local: install-sysconfDATA install-dataDATA
bba19395 354 @if test -f $(DESTDIR)$(DEFAULT_MIME_TABLE) ; then \
355 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_MIME_TABLE)" ; \
a2794549 356 else \
bba19395 357 echo "$(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE)" ;\
358 $(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE); \
a2794549 359 fi
bba19395 360 @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \
361 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_CONFIG_FILE)" ; \
a2794549 362 else \
bba19395 363 echo "$(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE)"; \
364 $(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE); \
a2794549 365 fi
5367f41f 366 $(mkinstalldirs) $(DESTDIR)$(DEFAULT_LOG_PREFIX)
a2794549 367
368uninstall-local:
bba19395 369 @if test -f $(DESTDIR)$(DEFAULT_MIME_TABLE) ; then \
370 echo "rm -f $(DESTDIR)$(DEFAULT_MIME_TABLE)"; \
371 $(RM) -f $(DESTDIR)$(DEFAULT_MIME_TABLE); \
a2794549 372 fi
bba19395 373 @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \
374 echo "rm -f $(DESTDIR)$(DEFAULT_CONFIG_FILE)"; \
375 $(RM) -f $(DESTDIR)$(DEFAULT_CONFIG_FILE); \
a2794549 376 fi
377
378DISTCLEANFILES = cf_gen_defines.h cf.data cf_parser.h squid.conf.default \
379 globals.c string_arrays.c repl_modules.c auth_modules.c store_modules.c
380
381##install-pinger:
382## @f=$(PINGER_EXE); \
383## if test -f $(libexecdir)/$$f; then \
384## echo $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
385## $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
386## fi; \
387## echo $(INSTALL_SUID) $$f $(libexecdir); \
388## $(INSTALL_SUID) $$f $(libexecdir) || exit 1; \
389## if test -f $(libexecdir)/-$$f; then \
390## echo $(RM) -f $(libexecdir)/-$$f; \
391## $(RM) -f $(libexecdir)/-$$f; \
392## fi
393