2 # Makefile for the Squid Object Cache server
4 # Uncomment and customize the following to suit your needs:
7 include $(top_srcdir)/src/Common.am
9 AUTOMAKE_OPTIONS = subdir-objects
14 DNSSOURCE = dns_internal.cc
26 SNMP_SOURCE = $(SNMP_ALL_SOURCE)
31 LOADABLE_MODULES_SOURCES = \
37 SUBDIRS = base comm eui acl fs repl auth ip icmp ident log ipc
47 $(top_builddir)/lib/libTrie/src/libTrie.a
48 ESI_LIBS = $(ESI_LOCAL_LIBS) \
55 DELAY_POOL_ALL_SOURCE = \
80 DELAY_POOL_SOURCE = $(DELAY_POOL_ALL_SOURCE)
86 XPROF_STATS_SOURCE = ProfStats.cc
92 HTCPSOURCE = htcp.cc htcp.h
96 LEAKFINDERSOURCE = LeakFinder.cc
102 UNLINKDSOURCE = unlinkd.cc
114 SSL_SOURCE = $(SSL_ALL_SOURCE)
122 if ENABLE_WIN32SPECIFIC
123 WIN32_SOURCE = win32.cc
124 WINSVC_SOURCE = WinSvc.cc
131 IPC_SOURCE = ipc_win32.cc
136 AIO_WIN32_ALL_SOURCES = \
137 DiskIO/AIO/aio_win32.cc \
138 DiskIO/AIO/aio_win32.h
140 AIO_WIN32_SOURCES = $(AIO_WIN32_ALL_SOURCES)
146 AIOPS_SOURCE = DiskIO/DiskThreads/aiops_win32.cc
148 AIOPS_SOURCE = DiskIO/DiskThreads/aiops.cc
151 EXTRA_LIBRARIES = libAIO.a libBlocking.a libDiskDaemon.a libDiskThreads.a
152 noinst_LIBRARIES = $(DISK_LIBS)
153 noinst_LTLIBRARIES = libsquid.la
155 # libraries used by many targets
171 DiskIO/DiskDaemon/diskd \
180 ## cfgen is used when building squid
181 ## ufsdump is a debug utility, it is possibly useful for end users with cache
182 ## corruption, but at this point we do not install it.
197 cf_gen_SOURCES = cf_gen.cc
198 nodist_cf_gen_HEADER = cf_gen_defines.cci
204 cf_gen.$(OBJEXT): cf_gen_defines.cci
206 ## cf_gen.cc needs src/cf_gen_defines.cci
207 INCLUDES += -I$(top_builddir)/src
210 ACL_REGISTRATION_SOURCES = AclRegs.cc AuthReg.cc
213 DiskIO/DiskIOModule.cc \
214 DiskIO/ReadRequest.cc \
215 DiskIO/ReadRequest.h \
216 DiskIO/WriteRequest.cc \
217 DiskIO/WriteRequest.h \
219 DiskIO/DiskIOStrategy.h \
220 DiskIO/IORequestor.h \
221 DiskIO/DiskIOModule.h \
224 DISKIO_GEN_SOURCE = \
225 DiskIO/DiskIOModules_gen.cc
227 DiskIO/DiskIOModules_gen.cc: Makefile
228 $(SHELL) $(srcdir)/DiskIO/modules.sh $(DISK_MODULES) > DiskIO/DiskIOModules_gen.cc
231 squid_COMMSOURCES = \
234 comm_select_win32.cc \
243 # common library for all the binaries and tests. This is kindof a catch all
244 # and smaller libraries split from this are encouraged. Using lt convenience
245 # libraries, dependencies should not be a problem either.
246 libsquid_la_SOURCES = \
256 $(ACL_REGISTRATION_SOURCES) \
269 ChunkedCodingParser.cc \
270 ChunkedCodingParser.h \
274 client_side_reply.cc \
275 client_side_reply.h \
276 client_side_request.cc \
277 client_side_request.h \
282 ClientRequestContext.h \
286 CompletionDispatcher.cc \
287 CompletionDispatcher.h \
288 $(squid_COMMSOURCES) \
297 $(DELAY_POOL_SOURCE) \
314 ExternalACLEntry.cc \
331 HelperChildConfig.h \
332 HelperChildConfig.cc \
334 HierarchyLogEntry.h \
347 HttpHdrContRange.cc \
361 HttpRequestMethod.cc \
362 HttpRequestMethod.h \
372 $(LEAKFINDERSOURCE) \
391 $(XPROF_STATS_SOURCE) \
396 peer_proxy_negotiate_auth.cc \
448 StoreMetaUnpacker.cc \
449 StoreMetaUnpacker.h \
455 StoreSwapLogData.cc \
482 EXTRA_squid_SOURCES = \
483 $(AIO_WIN32_ALL_SOURCES) \
486 $(DELAY_POOL_ALL_SOURCE) \
490 DnsLookupDetails.cc \
502 $(WIN32_ALL_SOURCE) \
503 $(LOADABLE_MODULES_SOURCES) \
504 DiskIO/DiskThreads/aiops.cc \
505 DiskIO/DiskThreads/aiops_win32.cc
508 client_side_request.cci \
528 CLEANFILES += $(BUILT_SOURCES)
530 nodist_squid_SOURCES = \
531 $(DISKIO_GEN_SOURCE) \
536 comm/libcomm-listener.la \
538 icmp/libicmp.la icmp/libicmp-core.la \
556 squid_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
565 if USE_LOADABLE_MODULES
566 squid_SOURCES += $(LOADABLE_MODULES_SOURCES)
570 -export-dynamic -dlopen force
571 # when static module linking is supported and enabled:
573 # -all-static -dlopen self
577 ## Kerberos libraries require their include path...
578 INCLUDES += $(KRB5INCS)
581 unlinkd_SOURCES = unlinkd_daemon.cc SquidNew.cc
583 dnsserver_SOURCES = dnsserver.cc SquidNew.cc test_tools.cc time.cc
584 recv_announce_SOURCES = recv-announce.cc SquidNew.cc
586 ## What requires what..
587 ## many things want ACLChecklist.cc
588 ## ACLChecklist.cc wants AuthUserRequest.cc
589 ## ACLChecklist.cc wants AuthScheme.cc
590 ## ACLChecklist.cc wants ACLProxyAuth.cc directly
591 ## ACLProxyAuth.cc wants ACLUserData
592 ## ACLProxyAuth.cc wants ACLRegexData
593 ## cache_cf.cc wants libauth.la
594 ## cache_cf.cc wants Swapdir
595 ## cache_cf.cc wants ProtoPort
596 ## client_side wants client_db
597 ## client_db wants SNMP_SOURCE
598 ## snmp_core wants ACLStringData
599 ## SwapDir wants ConfigOption
600 ## tools.cc wants ip/libip.la
601 ## client_side.cc wants ip/libip.la
602 ## mem.cc wants ClientInfo.h
603 ## libbase.la wants cbdata.*
604 ## libbase.la wants MemBuf.*
605 ## structs.h wants HelperChildConfig.* (stub it)
622 StoreMetaUnpacker.cc \
631 HelperChildConfig.h \
632 tests/stub_HelperChildConfig.cc \
633 HttpRequestMethod.cc \
650 ufsdump_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
656 nodist_ufsdump_SOURCES = \
661 squid.conf.documented \
667 LDADD = $(COMMON_LIBS) \
681 mk-string-arrays.pl \
682 mk-string-arrays.awk \
688 $(AIO_WIN32_SOURCES) \
689 DiskIO/AIO/async_io.h \
690 DiskIO/AIO/AIODiskFile.cc \
691 DiskIO/AIO/AIODiskFile.h \
692 DiskIO/AIO/AIODiskIOStrategy.cc \
693 DiskIO/AIO/AIODiskIOStrategy.h \
694 DiskIO/AIO/AIODiskIOModule.cc \
695 DiskIO/AIO/AIODiskIOModule.h
697 libBlocking_a_SOURCES = \
698 DiskIO/Blocking/BlockingFile.cc \
699 DiskIO/Blocking/BlockingFile.h \
700 DiskIO/Blocking/BlockingIOStrategy.cc \
701 DiskIO/Blocking/BlockingIOStrategy.h \
702 DiskIO/Blocking/BlockingDiskIOModule.cc \
703 DiskIO/Blocking/BlockingDiskIOModule.h
705 libDiskDaemon_a_SOURCES = \
706 DiskIO/DiskDaemon/DiskdFile.cc \
707 DiskIO/DiskDaemon/DiskdFile.h \
708 DiskIO/DiskDaemon/DiskdIOStrategy.cc \
709 DiskIO/DiskDaemon/DiskdIOStrategy.h \
710 DiskIO/DiskDaemon/diomsg.h \
711 DiskIO/DiskDaemon/DiskDaemonDiskIOModule.cc \
712 DiskIO/DiskDaemon/DiskDaemonDiskIOModule.h
714 libDiskThreads_a_SOURCES = \
716 DiskIO/DiskThreads/async_io.cc \
717 DiskIO/DiskThreads/DiskThreads.h \
718 DiskIO/DiskThreads/DiskThreadsDiskFile.cc \
719 DiskIO/DiskThreads/DiskThreadsDiskFile.h \
720 DiskIO/DiskThreads/DiskThreadsDiskIOModule.cc \
721 DiskIO/DiskThreads/DiskThreadsDiskIOModule.h \
722 DiskIO/DiskThreads/DiskThreadsIOStrategy.cc \
723 DiskIO/DiskThreads/DiskThreadsIOStrategy.h
725 DiskIO_DiskDaemon_diskd_SOURCES = DiskIO/DiskDaemon/diskd.cc
726 nodist_DiskIO_DiskDaemon_diskd_SOURCES = time.cc
727 DiskIO_DiskDaemon_diskd_LDADD = $(COMPAT_LIB) $(XTRA_LIBS)
730 DEFAULT_HTTP_PORT = $(CACHE_HTTP_PORT)
731 DEFAULT_ICP_PORT = $(CACHE_ICP_PORT)
732 DEFAULT_PREFIX = $(prefix)
733 DEFAULT_CONFIG_DIR = $(sysconfdir)
734 DEFAULT_CONFIG_FILE = $(DEFAULT_CONFIG_DIR)/squid.conf
735 DEFAULT_MIME_TABLE = $(DEFAULT_CONFIG_DIR)/mime.conf
736 DEFAULT_DNSSERVER = $(libexecdir)/`echo dnsserver | sed '$(transform);s/$$/$(EXEEXT)/'`
737 DEFAULT_LOG_PREFIX = $(DEFAULT_LOG_DIR)
738 DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log
739 DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
740 DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
741 DEFAULT_PID_FILE = $(DEFAULT_PIDFILE)
742 DEFAULT_NETDB_FILE = $(DEFAULT_LOG_PREFIX)/netdb.state
743 DEFAULT_SWAP_DIR = $(localstatedir)/cache
744 DEFAULT_PINGER = $(libexecdir)/`echo pinger | sed '$(transform);s/$$/$(EXEEXT)/'`
745 DEFAULT_UNLINKD = $(libexecdir)/`echo unlinkd | sed '$(transform);s/$$/$(EXEEXT)/'`
746 DEFAULT_LOGFILED = $(libexecdir)/`echo log_file_daemon | sed '$(transform);s/$$/$(EXEEXT)/'`
747 DEFAULT_DISKD = $(libexecdir)/`echo diskd | sed '$(transform);s/$$/$(EXEEXT)/'`
748 DEFAULT_ICON_DIR = $(datadir)/icons
749 DEFAULT_ERROR_DIR = $(datadir)/errors
750 DEFAULT_HOSTS = $(OPT_DEFAULT_HOSTS)
752 # Make location configure settings available to the code
753 DEFS += -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\" -DDEFAULT_SQUID_DATA_DIR=\"$(datadir)\" -DDEFAULT_SQUID_CONFIG_DIR=\"$(sysconfdir)\"
755 snmp_core.o snmp_agent.o: ../snmplib/libsnmp.a $(top_srcdir)/include/cache_snmp.h
757 globals.cc: globals.h mk-globals-c.awk
758 $(AWK) -f $(srcdir)/mk-globals-c.awk < $(srcdir)/globals.h > $@ || ($(RM) -f $@ && exit 1)
760 ## Generate files containing string arrays for various enums....
761 hier_code.cc: hier_code.h mk-string-arrays.awk
762 $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/hier_code.h > $@ || ($(RM) -f $@ && exit 1)
764 err_type.cc: err_type.h mk-string-arrays.awk
765 $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/err_type.h > $@ || ($(RM) -f $@ && exit 1)
767 lookup_t.cc: lookup_t.h mk-string-arrays.awk
768 $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/lookup_t.h > $@ || ($(RM) -f $@ && exit 1)
770 icp_opcode.cc: icp_opcode.h mk-string-arrays.awk
771 $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/icp_opcode.h > $@ || ($(RM) -f $@ && exit 1)
773 swap_log_op.cc: swap_log_op.h mk-string-arrays.awk
774 $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/swap_log_op.h > $@ || ($(RM) -f $@ && exit 1)
777 ## other generated files...
779 cache_diff: cache_diff.o debug.o globals.o store_key_md5.o
780 $(CC) -o $@ $(LDFLAGS) $@.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
782 test_cache_digest: test_cache_digest.o CacheDigest.o debug.o globals.o store_key_md5.o
783 $(CC) -o $@ $(LDFLAGS) $@.o CacheDigest.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
785 ## If autodependency works well this is not needed anymore
786 cache_cf.o: cf_parser.cci
788 # squid.conf.default is built by cf_gen when making cf_parser.cci
789 squid.conf.default squid.conf.documented: cf_parser.cci
792 cf_parser.cci: cf.data cf_gen$(EXEEXT)
793 ./cf_gen cf.data $(srcdir)/cf.data.depend
795 cf_gen_defines.cci: $(srcdir)/cf_gen_defines $(srcdir)/cf.data.pre
796 $(AWK) -f $(srcdir)/cf_gen_defines <$(srcdir)/cf.data.pre >$@ || ($(RM) -f $@ && exit 1)
799 ## FIXME: generate a sed command file from configure. Then this doesn't
800 ## depend on the Makefile.
801 cf.data: cf.data.pre Makefile
803 -e "s%[@]DEFAULT_HTTP_PORT[@]%$(DEFAULT_HTTP_PORT)%g" \
804 -e "s%[@]DEFAULT_ICP_PORT[@]%$(DEFAULT_ICP_PORT)%g" \
805 -e "s%[@]DEFAULT_CACHE_EFFECTIVE_USER[@]%${CACHE_EFFECTIVE_USER}%g" \
806 -e "s%[@]DEFAULT_MIME_TABLE[@]%$(DEFAULT_MIME_TABLE)%g" \
807 -e "s%[@]DEFAULT_DNSSERVER[@]%$(DEFAULT_DNSSERVER)%g" \
808 -e "s%[@]DEFAULT_UNLINKD[@]%$(DEFAULT_UNLINKD)%g" \
809 -e "s%[@]DEFAULT_PINGER[@]%$(DEFAULT_PINGER)%g" \
810 -e "s%[@]DEFAULT_DISKD[@]%$(DEFAULT_DISKD)%g" \
811 -e "s%[@]DEFAULT_LOGFILED[@]%$(DEFAULT_LOGFILED)%g;" \
812 -e "s%[@]DEFAULT_CACHE_LOG[@]%$(DEFAULT_CACHE_LOG)%g" \
813 -e "s%[@]DEFAULT_ACCESS_LOG[@]%$(DEFAULT_ACCESS_LOG)%g" \
814 -e "s%[@]DEFAULT_STORE_LOG[@]%$(DEFAULT_STORE_LOG)%g" \
815 -e "s%[@]DEFAULT_PID_FILE[@]%$(DEFAULT_PID_FILE)%g" \
816 -e "s%[@]DEFAULT_NETDB_FILE[@]%$(DEFAULT_NETDB_FILE)%g" \
817 -e "s%[@]DEFAULT_SWAP_DIR[@]%$(DEFAULT_SWAP_DIR)%g" \
818 -e "s%[@]DEFAULT_ICON_DIR[@]%$(DEFAULT_ICON_DIR)%g" \
819 -e "s%[@]DEFAULT_CONFIG_DIR[@]%$(DEFAULT_CONFIG_DIR)%g" \
820 -e "s%[@]DEFAULT_PREFIX[@]%$(DEFAULT_PREFIX)%g" \
821 -e "s%[@]DEFAULT_HOSTS[@]%$(DEFAULT_HOSTS)%g" \
822 -e "s%[@]SQUID[@]%SQUID\ $(VERSION)%g" \
823 < $(srcdir)/cf.data.pre >$@
825 repl_modules.cc: repl_modules.sh Makefile
826 $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.cc
828 include $(top_srcdir)/doc/manuals/Substitute.am
830 squid.8: $(srcdir)/squid.8.in Makefile
831 $(SUBSTITUTE) < $(srcdir)/squid.8.in > $@
834 EXTRA_DIST += squid.8.in
835 CLEANFILES += squid.8
837 install-data-local: install-sysconfDATA install-dataDATA
838 @if test -f $(DESTDIR)$(DEFAULT_MIME_TABLE) ; then \
839 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_MIME_TABLE)" ; \
841 echo "$(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE)" ;\
842 $(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE); \
844 @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \
845 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_CONFIG_FILE)" ; \
847 echo "$(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE)"; \
848 $(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE); \
850 echo "$(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE).default"; \
851 $(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE).default; \
852 echo "$(INSTALL_DATA) squid.conf.documented $(DESTDIR)$(DEFAULT_CONFIG_FILE).documented"; \
853 $(INSTALL_DATA) squid.conf.documented $(DESTDIR)$(DEFAULT_CONFIG_FILE).documented; \
854 $(mkinstalldirs) $(DESTDIR)$(DEFAULT_LOG_PREFIX); \
855 $(mkinstalldirs) $(DESTDIR)`dirname $(DEFAULT_PIDFILE)`
857 uninstall-local: squid.conf.default
858 @$(SHELL) $(top_srcdir)/scripts/remove-cfg.sh "$(RM)" $(DESTDIR)$(DEFAULT_MIME_TABLE) $(srcdir)/mime.conf.default
859 @$(SHELL) $(top_srcdir)/scripts/remove-cfg.sh "$(RM)" $(DESTDIR)$(DEFAULT_CONFIG_FILE) squid.conf.default
861 CLEANFILES += cf.data squid.conf.default squid.conf.documented \
862 DiskIO/DiskIOModules_gen.cc \
865 test_tools.cc: $(top_srcdir)/test-suite/test_tools.cc
866 cp $(top_srcdir)/test-suite/test_tools.cc .
868 # stock tools for unit tests - library independent versions of dlink_list
870 # globals.cc is needed by test_tools.cc.
871 # Neither of these should be disted from here.
876 # sources needed by those tests that need event.cc; incomplete
877 TEST_CALL_SOURCES = \
881 check_PROGRAMS+= tests/testAuth \
882 tests/testACLMaxUserIP \
883 tests/testBoilerplate \
884 tests/testCacheManager \
887 tests/testEventLoop \
888 tests/test_http_range \
889 tests/testHttpReply \
890 tests/testHttpRequest \
896 ## NP: required to run the above list. check_PROGRAMS only builds the binaries...
897 TESTS += $(check_PROGRAMS)
899 ### Template for new Unit Test Program
900 ## - add tests/testX to check_PROGRAMS above.
901 ## - copy template below and substitue X for class name
902 ## - add other component .(h|cc) files needed to link and run tests
904 ##NP: (TESTSOURCES) defines stub debugs() and new/delete for testing
906 #tests_testX_SOURCES=\
909 # tests/testMain.cc \
912 #nodist_tests_testX_SOURCES=\
914 #tests_testX_LDFLAGS = $(LIBADD_DL)
916 # $(SQUID_CPPUNIT_LIBS) \
917 # $(SQUID_CPPUNIT_LA) \
918 # -L../lib -lmiscutil
919 #tests_testX_DEPENDENCIES= $(SQUID_CPPUNIT_LA) \
920 # $(top_builddir)/lib/libmiscutil.a
923 # - add other component .(h|cc) files needed to link and run tests
924 tests_testHttpReply_SOURCES=\
925 tests/testHttpReply.h \
926 tests/testHttpReply.cc \
934 HttpHdrContRange.cc \
957 tests/stub_cache_manager.cc \
958 tests/stub_HelperChildConfig.cc \
959 tests/stub_StatHist.cc \
960 tests/stub_store.cc \
965 nodist_tests_testHttpReply_SOURCES=\
967 tests_testHttpReply_LDFLAGS = $(LIBADD_DL)
968 tests_testHttpReply_LDADD=\
974 $(SQUID_CPPUNIT_LIBS) \
975 $(SQUID_CPPUNIT_LA) \
978 tests_testHttpReply_DEPENDENCIES= $(SQUID_CPPUNIT_LA) \
979 $(top_builddir)/lib/libmiscutil.a
981 tests_testAuth_SOURCES = \
982 tests/testAuth.cc tests/testMain.cc tests/testAuth.h \
984 HelperChildConfig.h \
985 HelperChildConfig.cc \
986 tests/stub_acl.cc tests/stub_cache_cf.cc \
987 tests/stub_helper.cc cbdata.cc String.cc \
988 tests/stub_store.cc HttpHeaderTools.cc HttpHeader.cc mem.cc ClientInfo.h \
989 MemBuf.cc HttpHdrContRange.cc Packer.cc HttpHdrCc.cc HttpHdrSc.cc \
990 HttpHdrScTarget.cc url.cc \
991 StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
992 tests/stub_HttpRequest.cc tests/stub_DelayId.cc \
993 tests/stub_MemObject.cc mem_node.cc \
994 tests/stub_cache_manager.cc \
997 HttpRequestMethod.cc \
998 tests/stub_access_log.cc \
1000 tests/stub_http.cc \
1001 tests/stub_mime.cc \
1004 $(TEST_CALL_SOURCES) \
1006 ## acl.cc cache_cf.cc tools.cc \
1007 ## helper.cc String.cc cbdata.cc HttpHeaderTools.cc store.cc cache_manager.cc \
1008 ## HttpHeader.cc url.cc mem.cc HttpRequest.cc Packer.cc \
1009 ## MemBuf.cc StatHist.cc
1010 nodist_tests_testAuth_SOURCES = \
1013 tests_testAuth_LDADD= \
1015 -L../lib -lmiscutil \
1017 $(SQUID_CPPUNIT_LIBS) \
1020 tests_testAuth_LDFLAGS = $(LIBADD_DL)
1021 tests_testAuth_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
1024 ## Tests for the ACLMaxUserIP class
1025 ## acl needs wordlist. wordlist needs MemBug
1026 ## MemBuf needs mem, MemBuf needs event,
1027 ## event needs cbdata.
1028 ## ACLMaxUserUP needs libauth.la
1029 ## ACLMaxUserIP needs ACLChecklist
1030 ## AuthUser request needs HttpHeader, which brings in
1033 ## HttpHeaderTools.cc \
1034 ## HttpHdrContRange.cc \
1036 ## HttpHdrRange.cc \
1038 ## HttpHdrScTarget.cc \
1042 tests_testACLMaxUserIP_SOURCES= \
1047 HelperChildConfig.h \
1048 HelperChildConfig.cc \
1050 HttpHeaderTools.cc \
1051 HttpHdrContRange.cc \
1055 HttpHdrScTarget.cc \
1062 $(TEST_CALL_SOURCES) \
1063 tests/stub_cache_cf.cc \
1064 tests/stub_comm.cc \
1065 tests/stub_DelayId.cc \
1066 tests/stub_MemObject.cc \
1067 tests/stub_store.cc \
1068 tests/stub_cache_manager.cc \
1069 tests/testACLMaxUserIP.cc \
1070 tests/testACLMaxUserIP.h \
1076 nodist_tests_testACLMaxUserIP_SOURCES= \
1078 tests_testACLMaxUserIP_LDADD= \
1080 -L../lib -lmiscutil \
1082 $(SQUID_CPPUNIT_LIBS) \
1085 tests_testACLMaxUserIP_LDFLAGS = $(LIBADD_DL)
1086 tests_testACLMaxUserIP_DEPENDENCIES = \
1089 ## a demonstration test that does nothing but shows the salient points
1090 ## involved in writing tests.
1091 tests_testBoilerplate_SOURCES = \
1092 tests/testBoilerplate.cc \
1094 tests/testBoilerplate.h \
1096 nodist_tests_testBoilerplate_SOURCES = \
1098 tests_testBoilerplate_LDADD= \
1099 -L../lib -lmiscutil \
1100 $(SQUID_CPPUNIT_LIBS) \
1103 tests_testBoilerplate_LDFLAGS = $(LIBADD_DL)
1104 tests_testBoilerplate_DEPENDENCIES = \
1107 ## Tests of the CacheManager module.
1108 tests_testCacheManager_SOURCES = \
1109 $(ACL_REGISTRATION_SOURCES) \
1112 HttpRequestMethod.cc \
1115 tests/testCacheManager.cc \
1116 tests/testCacheManager.h \
1127 ChunkedCodingParser.cc \
1130 client_side_reply.cc \
1131 client_side_request.cc \
1134 $(squid_COMMSOURCES) \
1137 $(DELAY_POOL_SOURCE) \
1145 ExternalACLEntry.cc \
1154 HelperChildConfig.h \
1155 HelperChildConfig.cc \
1160 HttpHeaderTools.cc \
1162 HttpHdrContRange.cc \
1165 HttpHdrScTarget.cc \
1187 peer_proxy_negotiate_auth.cc \
1189 peer_sourcehash.cc \
1214 StoreFileSystem.cc \
1219 StoreMetaSTDLFS.cc \
1220 StoreMetaUnpacker.cc \
1223 StoreSwapLogData.cc \
1224 $(TEST_CALL_SOURCES) \
1237 nodist_tests_testCacheManager_SOURCES = \
1239 # comm.cc only requires comm/libcomm-listener.la until fdc_table is dead.
1240 tests_testCacheManager_LDADD = \
1242 comm/libcomm-listener.la \
1243 icmp/libicmp.la icmp/libicmp-core.la \
1246 ${ADAPTATION_LIBS} \
1250 -L../lib -lmiscutil \
1251 $(SQUID_CPPUNIT_LIBS) \
1252 $(SQUID_CPPUNIT_LA) \
1256 tests_testCacheManager_LDFLAGS = $(LIBADD_DL)
1257 tests_testCacheManager_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
1261 tests_testDiskIO_SOURCES = \
1262 $(SWAP_TEST_SOURCES) \
1263 tests/testDiskIO.cc \
1264 tests/testDiskIO.h \
1266 tests/stub_cache_manager.cc \
1267 tests/stub_HelperChildConfig.cc
1268 nodist_tests_testDiskIO_SOURCES= \
1269 $(SWAP_TEST_GEN_SOURCES) \
1273 tests_testDiskIO_LDADD = \
1274 $(SWAP_TEST_LDADD) \
1281 tests_testDiskIO_LDFLAGS = $(LIBADD_DL)
1282 tests_testDiskIO_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
1287 ## Tests of the Even module.
1288 tests_testEvent_SOURCES = \
1289 $(ACL_REGISTRATION_SOURCES) \
1294 HttpRequestMethod.cc \
1298 tests/CapturingStoreEntry.h \
1299 tests/testEvent.cc \
1311 ChunkedCodingParser.cc \
1314 client_side_reply.cc \
1315 client_side_request.cc \
1318 $(squid_COMMSOURCES) \
1321 $(DELAY_POOL_SOURCE) \
1329 ExternalACLEntry.cc \
1338 HelperChildConfig.h \
1339 HelperChildConfig.cc \
1344 HttpHeaderTools.cc \
1346 HttpHdrContRange.cc \
1349 HttpHdrScTarget.cc \
1371 peer_proxy_negotiate_auth.cc \
1373 peer_sourcehash.cc \
1397 StoreFileSystem.cc \
1402 StoreMetaSTDLFS.cc \
1403 StoreMetaUnpacker.cc \
1406 StoreSwapLogData.cc \
1407 $(TEST_CALL_SOURCES) \
1420 nodist_tests_testEvent_SOURCES = \
1422 tests_testEvent_LDADD = \
1424 icmp/libicmp.la icmp/libicmp-core.la \
1425 comm/libcomm-listener.la \
1428 ${ADAPTATION_LIBS} \
1432 -L../lib -lmiscutil \
1433 $(SQUID_CPPUNIT_LIBS) \
1434 $(SQUID_CPPUNIT_LA) \
1438 tests_testEvent_LDFLAGS = $(LIBADD_DL)
1439 tests_testEvent_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
1443 ## Tests of the EventLoop module.
1444 tests_testEventLoop_SOURCES = \
1445 $(ACL_REGISTRATION_SOURCES) \
1450 HttpRequestMethod.cc \
1454 tests/testEventLoop.cc \
1455 tests/testEventLoop.h \
1466 ChunkedCodingParser.cc \
1469 client_side_reply.cc \
1470 client_side_request.cc \
1473 $(squid_COMMSOURCES) \
1476 $(DELAY_POOL_SOURCE) \
1484 ExternalACLEntry.cc \
1492 HelperChildConfig.h \
1493 HelperChildConfig.cc \
1499 HttpHeaderTools.cc \
1501 HttpHdrContRange.cc \
1504 HttpHdrScTarget.cc \
1526 peer_proxy_negotiate_auth.cc \
1528 peer_sourcehash.cc \
1552 StoreFileSystem.cc \
1557 StoreMetaSTDLFS.cc \
1558 StoreMetaUnpacker.cc \
1561 StoreSwapLogData.cc \
1562 $(TEST_CALL_SOURCES) \
1575 nodist_tests_testEventLoop_SOURCES = \
1577 tests_testEventLoop_LDADD = \
1579 icmp/libicmp.la icmp/libicmp-core.la \
1580 comm/libcomm-listener.la \
1583 ${ADAPTATION_LIBS} \
1587 -L../lib -lmiscutil \
1588 $(SQUID_CPPUNIT_LIBS) \
1589 $(SQUID_CPPUNIT_LA) \
1593 tests_testEventLoop_LDFLAGS = $(LIBADD_DL)
1594 tests_testEventLoop_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
1598 tests_test_http_range_SOURCES = \
1599 $(ACL_REGISTRATION_SOURCES) \
1600 tests/test_http_range.cc \
1609 ChunkedCodingParser.cc \
1612 client_side_reply.cc \
1613 client_side_request.cc \
1616 $(squid_COMMSOURCES) \
1620 $(DELAY_POOL_SOURCE) \
1628 ExternalACLEntry.cc \
1636 HelperChildConfig.h \
1637 HelperChildConfig.cc \
1643 HttpHdrContRange.cc \
1646 HttpHdrScTarget.cc \
1648 HttpHeaderTools.cc \
1652 HttpRequestMethod.cc \
1670 peer_proxy_negotiate_auth.cc \
1672 peer_sourcehash.cc \
1698 StoreFileSystem.cc \
1703 StoreMetaSTDLFS.cc \
1704 StoreMetaUnpacker.cc \
1707 StoreSwapLogData.cc \
1710 $(TEST_CALL_SOURCES) \
1725 nodist_tests_test_http_range_SOURCES = \
1727 tests_test_http_range_LDADD = \
1729 icmp/libicmp.la icmp/libicmp-core.la \
1730 comm/libcomm-listener.la \
1733 ${ADAPTATION_LIBS} \
1737 -L../lib -lmiscutil \
1738 $(SQUID_CPPUNIT_LIBS) \
1739 $(SQUID_CPPUNIT_LA) \
1743 tests_test_http_range_LDFLAGS = $(LIBADD_DL)
1744 tests_test_http_range_DEPENDENCIES = \
1748 ## Tests of the HttpRequest module.
1749 tests_testHttpRequest_SOURCES = \
1750 $(ACL_REGISTRATION_SOURCES) \
1753 HttpRequestMethod.cc \
1756 tests/testHttpRequest.h \
1757 tests/testHttpRequest.cc \
1758 tests/testHttpRequestMethod.h \
1759 tests/testHttpRequestMethod.cc \
1770 ChunkedCodingParser.cc \
1773 client_side_reply.cc \
1774 client_side_request.cc \
1777 $(squid_COMMSOURCES) \
1780 $(DELAY_POOL_SOURCE) \
1788 ExternalACLEntry.cc \
1796 HelperChildConfig.h \
1797 HelperChildConfig.cc \
1803 HttpHeaderTools.cc \
1805 HttpHdrContRange.cc \
1808 HttpHdrScTarget.cc \
1830 peer_proxy_negotiate_auth.cc \
1832 peer_sourcehash.cc \
1857 StoreFileSystem.cc \
1862 StoreMetaSTDLFS.cc \
1863 StoreMetaUnpacker.cc \
1866 StoreSwapLogData.cc \
1867 $(TEST_CALL_SOURCES) \
1880 nodist_tests_testHttpRequest_SOURCES = \
1882 tests_testHttpRequest_LDADD = \
1884 icmp/libicmp.la icmp/libicmp-core.la \
1885 comm/libcomm-listener.la \
1888 ${ADAPTATION_LIBS} \
1892 -L../lib -lmiscutil \
1893 $(SQUID_CPPUNIT_LIBS) \
1894 $(SQUID_CPPUNIT_LA) \
1898 tests_testHttpRequest_LDFLAGS = $(LIBADD_DL)
1899 tests_testHttpRequest_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
1903 # TODO:mime.cc drags in HttpReply.cc
1904 # delay pools need client_side_request.cc
1905 # store_key_md5 wants the method.
1906 STORE_TEST_SOURCES=\
1907 $(TEST_CALL_SOURCES) \
1908 $(DELAY_POOL_SOURCE) \
1916 HttpRequestMethod.cc \
1921 tests/stub_acl.cc tests/stub_cache_cf.cc \
1922 tests/stub_helper.cc cbdata.cc String.cc \
1923 tests/stub_comm.cc \
1924 tests/stub_client_side_request.cc \
1925 tests/stub_http.cc \
1928 tests/stub_mime.cc \
1929 HttpHeaderTools.cc HttpHeader.cc mem.cc ClientInfo.h \
1930 MemBuf.cc HttpHdrContRange.cc Packer.cc HttpHdrCc.cc HttpHdrSc.cc \
1931 HttpHdrScTarget.cc url.cc \
1932 StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
1933 tests/stub_HttpRequest.cc tests/stub_access_log.cc \
1935 tests/stub_store_client.cc \
1936 tests/stub_tools.cc \
1937 tests/testStoreSupport.cc \
1938 tests/testStoreSupport.h \
1943 ## why so many sources? well httpHeaderTools requites ACLChecklist & friends.
1944 ## first line - what we are testing.
1945 tests_testStore_SOURCES= \
1946 tests/stub_store_swapout.cc \
1948 tests/stub_MemObject.cc \
1949 tests/testStore.cc \
1951 tests/CapturingStoreEntry.h \
1952 tests/testStoreEntryStream.cc \
1953 tests/testStoreEntryStream.h \
1954 tests/testStoreController.cc \
1955 tests/testStoreController.h \
1956 tests/testStoreHashIndex.cc \
1957 tests/testStoreHashIndex.h \
1958 tests/TestSwapDir.cc \
1959 tests/TestSwapDir.h \
1960 tests/stub_HelperChildConfig.cc \
1961 tests/stub_HttpReply.cc \
1962 tests/stub_cache_manager.cc \
1963 $(STORE_TEST_SOURCES) \
1966 nodist_tests_testStore_SOURCES= \
1972 tests_testStore_LDADD= \
1974 -L../lib -lmiscutil \
1976 $(SQUID_CPPUNIT_LIBS) \
1979 tests_testStore_LDFLAGS = $(LIBADD_DL)
1980 tests_testStore_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
1983 ## string needs mem.cc.
1984 ## mem.cc needs ClientInfo.h
1985 ## libsquid pulls in SquidConfig and children. stub them.
1986 tests_testString_SOURCES = \
1991 tests/testString.cc \
1992 tests/testString.h \
1993 tests/stub_cache_manager.cc \
1994 tests/stub_HelperChildConfig.cc \
1996 nodist_tests_testString_SOURCES = \
1998 tests_testString_LDADD = \
2000 -L../lib -lmiscutil \
2002 $(SQUID_CPPUNIT_LIBS) \
2005 tests_testString_LDFLAGS = $(LIBADD_DL)
2006 tests_testString_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
2009 SWAP_TEST_SOURCES = \
2010 tests/stub_internal.cc \
2011 tests/stub_CommIO.cc \
2012 tests/stub_store_rebuild.cc \
2022 StoreSwapLogData.cc \
2027 StoreMetaSTDLFS.cc \
2028 StoreMetaUnpacker.cc \
2031 StoreFileSystem.cc \
2037 $(STORE_TEST_SOURCES) \
2040 SWAP_TEST_GEN_SOURCES = \
2042 $(DISKIO_GEN_SOURCE)
2050 -L../lib -lmiscutil \
2052 $(SQUID_CPPUNIT_LIBS) \
2055 $(top_builddir)/lib/libmiscutil.a \
2062 tests_testUfs_SOURCES = \
2066 tests/stub_cache_manager.cc \
2067 tests/stub_HelperChildConfig.cc \
2068 $(SWAP_TEST_SOURCES)
2069 nodist_tests_testUfs_SOURCES = \
2070 $(SWAP_TEST_GEN_SOURCES) \
2074 tests_testUfs_LDADD = \
2075 $(SWAP_TEST_LDADD) \
2079 tests_testUfs_LDFLAGS = $(LIBADD_DL)
2080 tests_testUfs_DEPENDENCIES = \
2083 tests_testCoss_SOURCES = \
2087 tests/stub_cache_manager.cc \
2088 tests/stub_HelperChildConfig.cc \
2089 $(SWAP_TEST_SOURCES)
2090 nodist_tests_testCoss_SOURCES = \
2094 $(SWAP_TEST_GEN_SOURCES)
2095 tests_testCoss_LDADD = \
2097 $(SWAP_TEST_LDADD) \
2100 tests_testCoss_LDFLAGS = $(LIBADD_DL)
2101 tests_testCoss_DEPENDENCIES = \
2104 tests_testNull_SOURCES = \
2108 $(SWAP_TEST_SOURCES)
2109 nodist_tests_testNull_SOURCES = \
2110 $(SWAP_TEST_GEN_SOURCES)
2111 tests_testNull_LDADD = \
2112 $(SWAP_TEST_LDADD) \
2115 tests_testNull_LDFLAGS = $(LIBADD_DL)
2116 tests_testNull_DEPENDENCIES = \
2119 ## Tests of the URL module.
2120 ## TODO: Trim this down once the insanity is over.
2121 tests_testURL_SOURCES = \
2122 $(ACL_REGISTRATION_SOURCES) \
2127 HttpRequestMethod.cc \
2133 tests/testURLScheme.cc \
2134 tests/testURLScheme.h \
2145 ChunkedCodingParser.cc \
2148 client_side_reply.cc \
2149 client_side_request.cc \
2152 $(squid_COMMSOURCES) \
2155 $(DELAY_POOL_SOURCE) \
2163 ExternalACLEntry.cc \
2171 HelperChildConfig.h \
2172 HelperChildConfig.cc \
2178 HttpHeaderTools.cc \
2180 HttpHdrContRange.cc \
2183 HttpHdrScTarget.cc \
2205 peer_proxy_negotiate_auth.cc \
2207 peer_sourcehash.cc \
2231 StoreFileSystem.cc \
2236 StoreMetaSTDLFS.cc \
2237 StoreMetaUnpacker.cc \
2240 StoreSwapLogData.cc \
2241 $(TEST_CALL_SOURCES) \
2252 nodist_tests_testURL_SOURCES = \
2254 tests_testURL_LDADD = \
2256 icmp/libicmp.la icmp/libicmp-core.la \
2257 comm/libcomm-listener.la \
2261 ${ADAPTATION_LIBS} \
2264 -L../lib -lmiscutil \
2265 $(SQUID_CPPUNIT_LIBS) \
2266 $(SQUID_CPPUNIT_LA) \
2270 tests_testURL_LDFLAGS = $(LIBADD_DL)
2271 tests_testURL_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
2276 TESTS += testHeaders
2278 ## Special Universal .h dependency test script
2279 ## aborts if error encountered
2280 testHeaders: $(srcdir)/*.h $(srcdir)/DiskIO/*.h $(srcdir)/DiskIO/*/*.h
2281 $(SHELL) $(top_srcdir)/test-suite/testheaders.sh "$(CXXCOMPILE)" "$(srcdir)" || exit 1
2282 $(SHELL) $(top_srcdir)/test-suite/testheaders.sh "$(CXXCOMPILE)" "$(srcdir)/DiskIO" || exit 1
2283 $(SHELL) $(top_srcdir)/test-suite/testheaders.sh "$(CXXCOMPILE)" "$(srcdir)/DiskIO/AIO" || exit 1
2284 $(SHELL) $(top_srcdir)/test-suite/testheaders.sh "$(CXXCOMPILE)" "$(srcdir)/DiskIO/Blocking" || exit 1
2285 $(SHELL) $(top_srcdir)/test-suite/testheaders.sh "$(CXXCOMPILE)" "$(srcdir)/DiskIO/DiskDaemon" || exit 1
2286 $(SHELL) $(top_srcdir)/test-suite/testheaders.sh "$(CXXCOMPILE)" "$(srcdir)/DiskIO/DiskThreads" || exit 1
2287 ## src/repl/ has no .h files and its own makefile.
2289 CLEANFILES += testHeaders