2 # Makefile for the Squid Object Cache server
4 # $Id: Makefile.am,v 1.29 2002/09/15 05:41:56 robertc Exp $
6 # Uncomment and customize the following to suit your needs:
13 DNSSOURCE = dns_internal.c
18 SNMPSOURCE = snmp_core.c snmp_agent.c
24 DELAY_POOL_SOURCE = delay_pools.c
34 LEAKFINDERSOURCE = leakfinder.c
40 UNLINKDSOURCE = unlinkd.c
42 UNLINKD_EXE = unlinkd$(EXEEXT)
50 SSLSOURCE = ssl_support.c
55 if ENABLE_WIN32SPECIFIC
61 SUBDIRS = fs repl auth
63 INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include
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
91 EXTRA_squid_SOURCES = \
117 client_side_reply.c \
118 client_side_request.c \
126 $(DELAY_POOL_SOURCE) \
161 $(LEAKFINDERSOURCE) \
210 nodist_squid_SOURCES = \
233 unlinkd_LDADD = unlinkd-daemon.o
234 unlinkd-daemon.o: unlinkd.c
235 $(COMPILE) -DUNLINK_DAEMON -c $(srcdir)/unlinkd.c -o $@
241 nodist_pinger_SOURCES = \
260 LDADD = -L../lib -lmiscutil @XTRA_LIBS@
266 mk-string-arrays.pl \
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@
291 DEFS = @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\"
293 $(OBJS): $(top_srcdir)/include/version.h ../include/autoconf.h
295 snmp_core.o snmp_agent.o: ../snmplib/libsnmp.a $(top_srcdir)/include/cache_snmp.h
297 globals.c: globals.h mk-globals-c.pl
298 $(PERL) $(srcdir)/mk-globals-c.pl < $(srcdir)/globals.h > $@
300 string_arrays.c: enums.h mk-string-arrays.pl
301 $(PERL) $(srcdir)/mk-string-arrays.pl < $(srcdir)/enums.h > $@
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)
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)
309 ## If autodependency works well this is not needed anymore
310 cache_cf.o: cf_parser.h
312 squid.conf.default: cf_parser.h
313 $(SHELL) -c "test -f squid.conf.default || ./cf_gen cf.data"
315 cf_parser.h: cf.data cf_gen$(EXEEXT)
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
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
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 >$@
343 store_modules.c: store_modules.sh Makefile
344 $(SHELL) $(srcdir)/store_modules.sh $(STORE_MODULES) >store_modules.c
346 repl_modules.c: repl_modules.sh Makefile
347 $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.c
349 auth_modules.c: auth_modules.sh Makefile
350 @$(SHELL) $(srcdir)/auth_modules.sh $(AUTH_MODULES) >auth_modules.c
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)" ; \
356 echo "$(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE)" ;\
357 $(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE); \
359 @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \
360 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_CONFIG_FILE)" ; \
362 echo "$(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE)"; \
363 $(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE); \
365 $(mkinstalldirs) $(DESTDIR)$(DEFAULT_LOG_PREFIX)
368 @if test -f $(DESTDIR)$(DEFAULT_MIME_TABLE) ; then \
369 echo "rm -f $(DESTDIR)$(DEFAULT_MIME_TABLE)"; \
370 $(RM) -f $(DESTDIR)$(DEFAULT_MIME_TABLE); \
372 @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \
373 echo "rm -f $(DESTDIR)$(DEFAULT_CONFIG_FILE)"; \
374 $(RM) -f $(DESTDIR)$(DEFAULT_CONFIG_FILE); \
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
381 ## @f=$(PINGER_EXE); \
382 ## if test -f $(libexecdir)/$$f; then \
383 ## echo $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
384 ## $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
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; \