2 # Makefile for the Squid Object Cache server
4 # $Id: Makefile.am,v 1.13 2001/11/30 14:52:12 hno 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
83 cf_gen_SOURCES = cf_gen.c defines.h
84 nodist_cf_gen_HEADER = cf_gen_defines.h
85 cf_gen.$(OBJEXT): cf_gen_defines.h
87 EXTRA_squid_SOURCES = \
116 $(DELAY_POOL_SOURCE) \
150 $(LEAKFINDERSOURCE) \
200 nodist_squid_SOURCES = \
217 @SQUID_PTHREAD_LIB@ \
225 unlinkd_LDADD = unlinkd-daemon.o
226 unlinkd-daemon.o: unlinkd.c
227 $(COMPILE) -DUNLINK_DAEMON -c $(srcdir)/unlinkd.c -o $@
248 LDADD = -L../lib -lmiscutil @XTRA_LIBS@
254 mk-string-arrays.pl \
261 DEFAULT_PREFIX = $(prefix)
262 DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf
263 DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf
264 DEFAULT_DNSSERVER = $(libexecdir)/@OPT_DNSSERVER_EXE@
265 DEFAULT_LOG_PREFIX = $(localstatedir)/logs
266 DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log
267 DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
268 DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
269 DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pid
270 DEFAULT_SWAP_DIR = $(localstatedir)/cache
271 DEFAULT_PINGER = $(libexecdir)/@OPT_PINGER_EXE@
272 DEFAULT_UNLINKD = $(libexecdir)/$(UNLINKD_EXE)
273 DEFAULT_DISKD = $(libexecdir)/@OPT_DISKD_EXE@
274 DEFAULT_ICON_DIR = $(datadir)/squid/icons
275 DEFAULT_ERROR_DIR = $(datadir)/squid/errors/@ERR_DEFAULT_LANGUAGE@
276 DEFAULT_MIB_PATH = $(sysconfdir)/mib.txt
278 DEFS = @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\"
280 $(OBJS): $(top_srcdir)/include/version.h ../include/autoconf.h
282 snmp_core.o snmp_agent.o: ../snmplib/libsnmp.a $(top_srcdir)/include/cache_snmp.h
284 globals.c: globals.h mk-globals-c.pl
285 $(PERL) $(srcdir)/mk-globals-c.pl < $(srcdir)/globals.h > $@
287 string_arrays.c: enums.h mk-string-arrays.pl
288 $(PERL) $(srcdir)/mk-string-arrays.pl < $(srcdir)/enums.h > $@
290 cache_diff: cache_diff.o debug.o globals.o store_key_md5.o
291 $(CC) -o $@ $(LDFLAGS) $@.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
293 test_cache_digest: test_cache_digest.o CacheDigest.o debug.o globals.o store_key_md5.o
294 $(CC) -o $@ $(LDFLAGS) $@.o CacheDigest.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
296 ## If autodependency works well this is not needed anymore
297 cache_cf.o: cf_parser.h
299 squid.conf.default: cf_parser.h
300 $(SHELL) -c "test -f squid.conf.default || ./cf_gen cf.data"
302 cf_parser.h: cf.data cf_gen$(EXEEXT)
305 cf_gen_defines.h: $(srcdir)/cf_gen_defines $(srcdir)/cf.data.pre
306 awk -f $(srcdir)/cf_gen_defines <$(srcdir)/cf.data.pre >cf_gen_defines.h
309 ## FIXME: generate a sed command file from configure. Then this doesn't
310 ## depend on the Makefile.
311 cf.data: cf.data.pre Makefile
313 s%@DEFAULT_MIME_TABLE@%$(DEFAULT_MIME_TABLE)%g;\
314 s%@DEFAULT_DNSSERVER@%$(DEFAULT_DNSSERVER)%g;\
315 s%@DEFAULT_UNLINKD@%$(DEFAULT_UNLINKD)%g;\
316 s%@DEFAULT_PINGER@%$(DEFAULT_PINGER)%g;\
317 s%@DEFAULT_DISKD@%$(DEFAULT_DISKD)%g;\
318 s%@DEFAULT_CACHE_LOG@%$(DEFAULT_CACHE_LOG)%g;\
319 s%@DEFAULT_ACCESS_LOG@%$(DEFAULT_ACCESS_LOG)%g;\
320 s%@DEFAULT_STORE_LOG@%$(DEFAULT_STORE_LOG)%g;\
321 s%@DEFAULT_PID_FILE@%$(DEFAULT_PID_FILE)%g;\
322 s%@DEFAULT_SWAP_DIR@%$(DEFAULT_SWAP_DIR)%g;\
323 s%@DEFAULT_ICON_DIR@%$(DEFAULT_ICON_DIR)%g;\
324 s%@DEFAULT_MIB_PATH@%$(DEFAULT_MIB_PATH)%g;\
325 s%@DEFAULT_ERROR_DIR@%$(DEFAULT_ERROR_DIR)%g;\
326 s%@DEFAULT_PREFIX@%$(DEFAULT_PREFIX)%g;"\
327 < $(srcdir)/cf.data.pre >$@
329 store_modules.c: store_modules.sh Makefile
330 $(SHELL) $(srcdir)/store_modules.sh $(STORE_MODULES) >store_modules.c
332 repl_modules.c: repl_modules.sh Makefile
333 $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.c
335 auth_modules.c: auth_modules.sh Makefile
336 @$(SHELL) $(srcdir)/auth_modules.sh $(AUTH_MODULES) >auth_modules.c
338 install-data-local: install-sysconfDATA
339 @if test -f $(DESTDIR)$(sysconfdir)/mime.conf ; then \
340 echo "$@ will not overwrite existing $(DESTDIR)$(sysconfdir)/mime.conf" ; \
342 echo "$(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(sysconfdir)/mime.conf" ;\
343 $(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(sysconfdir)/mime.conf; \
345 @if test -f $(DESTDIR)$(sysconfdir)/squid.conf ; then \
346 echo "$@ will not overwrite existing $(DESTDIR)$(sysconfdir)/squid.conf" ; \
348 echo "$(INSTALL_DATA) squid.conf.default $(DESTDIR)$(sysconfdir)/squid.conf"; \
349 $(INSTALL_DATA) squid.conf.default $(DESTDIR)$(sysconfdir)/squid.conf; \
351 $(mkinstalldirs) $(DESTDIR)$(DEFAULT_LOG_PREFIX)
354 @if test -f $(DESTDIR)$(sysconfdir)/mime.conf ; then \
355 echo "rm -f $(DESTDIR)$(sysconfdir)/mime.conf"; \
356 $(RM) -f $(DESTDIR)$(sysconfdir)/mime.conf; \
358 @if test -f $(DESTDIR)$(sysconfdir)/squid.conf ; then \
359 echo "rm -f $(DESTDIR)$(sysconfdir)/squid.conf"; \
360 $(RM) -f $(DESTDIR)$(sysconfdir)/squid.conf; \
363 DISTCLEANFILES = cf_gen_defines.h cf.data cf_parser.h squid.conf.default \
364 globals.c string_arrays.c repl_modules.c auth_modules.c store_modules.c
367 ## @f=$(PINGER_EXE); \
368 ## if test -f $(libexecdir)/$$f; then \
369 ## echo $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
370 ## $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
372 ## echo $(INSTALL_SUID) $$f $(libexecdir); \
373 ## $(INSTALL_SUID) $$f $(libexecdir) || exit 1; \
374 ## if test -f $(libexecdir)/-$$f; then \
375 ## echo $(RM) -f $(libexecdir)/-$$f; \
376 ## $(RM) -f $(libexecdir)/-$$f; \