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
31 SNMP_SOURCE = $(SNMP_ALL_SOURCE)
36 LOADABLE_MODULES_SOURCES = \
42 SUBDIRS = base comm eui acl fs repl auth ip icmp ident log ipc mgr
61 $(top_builddir)/lib/libTrie/src/libTrie.a
62 ESI_LIBS = $(ESI_LOCAL_LIBS) \
69 DELAY_POOL_ALL_SOURCE = \
93 ClientDelayConfig.cc \
97 DELAY_POOL_SOURCE = $(DELAY_POOL_ALL_SOURCE)
102 if ENABLE_XPROF_STATS
103 XPROF_STATS_SOURCE = ProfStats.cc
109 HTCPSOURCE = htcp.cc htcp.h
113 LEAKFINDERSOURCE = LeakFinder.cc
119 UNLINKDSOURCE = unlinkd.cc
129 if ENABLE_WIN32SPECIFIC
130 WIN32_SOURCE = win32.cc
131 WINSVC_SOURCE = WinSvc.cc
138 IPC_SOURCE = ipc_win32.cc
143 AIO_WIN32_ALL_SOURCES = \
144 DiskIO/AIO/aio_win32.cc \
145 DiskIO/AIO/aio_win32.h
147 AIO_WIN32_SOURCES = $(AIO_WIN32_ALL_SOURCES)
153 AIOPS_SOURCE = DiskIO/DiskThreads/aiops_win32.cc
155 AIOPS_SOURCE = DiskIO/DiskThreads/aiops.cc
158 EXTRA_LIBRARIES = libAIO.a libBlocking.a libDiskDaemon.a libDiskThreads.a
159 noinst_LIBRARIES = $(DISK_LIBS)
160 noinst_LTLIBRARIES = libsquid.la
162 # libraries used by many targets
179 DiskIO/DiskDaemon/diskd \
188 ## cfgen is used when building squid
189 ## ufsdump is a debug utility, it is possibly useful for end users with cache
190 ## corruption, but at this point we do not install it.
205 cf_gen_SOURCES = cf_gen.cc
206 nodist_cf_gen_HEADER = cf_gen_defines.cci
212 cf_gen.$(OBJEXT): cf_gen_defines.cci
214 ## cf_gen.cc needs src/cf_gen_defines.cci
215 INCLUDES += -I$(top_builddir)/src
218 ACL_REGISTRATION_SOURCES = AclRegs.cc AuthReg.cc
221 DiskIO/DiskIOModule.cc \
222 DiskIO/ReadRequest.cc \
223 DiskIO/ReadRequest.h \
224 DiskIO/WriteRequest.cc \
225 DiskIO/WriteRequest.h \
227 DiskIO/DiskIOStrategy.h \
228 DiskIO/IORequestor.h \
229 DiskIO/DiskIOModule.h \
232 DISKIO_GEN_SOURCE = \
233 DiskIO/DiskIOModules_gen.cc
235 DiskIO/DiskIOModules_gen.cc: Makefile
236 $(SHELL) $(srcdir)/DiskIO/modules.sh $(DISK_MODULES) > DiskIO/DiskIOModules_gen.cc
239 squid_COMMSOURCES = \
242 comm_select_win32.cc \
252 # common library for all the binaries and tests. This is kindof a catch all
253 # and smaller libraries split from this are encouraged. Using lt convenience
254 # libraries, dependencies should not be a problem either.
255 libsquid_la_SOURCES = \
266 $(ACL_REGISTRATION_SOURCES) \
279 ChunkedCodingParser.cc \
280 ChunkedCodingParser.h \
284 client_side_reply.cc \
285 client_side_reply.h \
286 client_side_request.cc \
287 client_side_request.h \
292 ClientRequestContext.h \
296 CompletionDispatcher.cc \
297 CompletionDispatcher.h \
298 $(squid_COMMSOURCES) \
313 $(DELAY_POOL_SOURCE) \
331 ExternalACLEntry.cc \
348 HelperChildConfig.h \
349 HelperChildConfig.cc \
351 HierarchyLogEntry.h \
364 HttpHdrContRange.cc \
379 HttpRequestMethod.cc \
380 HttpRequestMethod.h \
390 $(LEAKFINDERSOURCE) \
409 $(XPROF_STATS_SOURCE) \
414 peer_proxy_negotiate_auth.cc \
466 StoreMetaUnpacker.cc \
467 StoreMetaUnpacker.h \
473 StoreSwapLogData.cc \
500 EXTRA_squid_SOURCES = \
501 $(AIO_WIN32_ALL_SOURCES) \
504 $(DELAY_POOL_ALL_SOURCE) \
508 DnsLookupDetails.cc \
519 $(WIN32_ALL_SOURCE) \
520 $(LOADABLE_MODULES_SOURCES) \
521 DiskIO/DiskThreads/aiops.cc \
522 DiskIO/DiskThreads/aiops_win32.cc
525 client_side_request.cci \
546 CLEANFILES += $(BUILT_SOURCES)
548 nodist_squid_SOURCES = \
549 $(DISKIO_GEN_SOURCE) \
556 icmp/libicmp.la icmp/libicmp-core.la \
569 $(top_builddir)/lib/libmisccontainers.la \
570 $(top_builddir)/lib/libmiscencoding.la \
571 $(top_builddir)/lib/libmiscutil.la \
578 squid_DEPENDENCIES = \
588 if USE_LOADABLE_MODULES
589 squid_SOURCES += $(LOADABLE_MODULES_SOURCES)
590 squid_LDADD += -L$(top_builddir) $(LIBLTDL)
591 squid_LDFLAGS = -export-dynamic -dlopen force
592 ## when static module linking is supported and enabled:
593 ## squid_LDFLAGS = -all-static -dlopen self
595 ## LTDL headers require their local include path...
596 INCLUDES += $(INCLTDL)
599 ## Kerberos libraries require their include path...
600 INCLUDES += $(KRB5INCS)
603 unlinkd_SOURCES = unlinkd_daemon.cc
604 dnsserver_SOURCES = dnsserver.cc SquidNew.cc tests/stub_debug.cc test_tools.cc time.cc
605 recv_announce_SOURCES = recv-announce.cc
607 ## What requires what..
608 ## many things want ACLChecklist.cc
609 ## ACLChecklist.cc wants AuthUserRequest.cc
610 ## ACLChecklist.cc wants AuthScheme.cc
611 ## ACLChecklist.cc wants ACLProxyAuth.cc directly
612 ## ACLProxyAuth.cc wants ACLUserData
613 ## ACLProxyAuth.cc wants ACLRegexData
614 ## cache_cf.cc wants libauth.la
615 ## cache_cf.cc wants Swapdir
616 ## cache_cf.cc wants ProtoPort
617 ## client_side wants client_db
618 ## client_db wants SNMP_SOURCE
619 ## snmp_core wants ACLStringData
620 ## SwapDir wants ConfigOption
621 ## tools.cc wants ip/libip.la
622 ## client_side.cc wants ip/libip.la
623 ## mem.cc wants ClientInfo.h
624 ## libbase.la wants cbdata.*
625 ## libbase.la wants MemBuf.*
626 ## structs.h wants HelperChildConfig.* (stub it)
643 StoreMetaUnpacker.cc \
652 HelperChildConfig.h \
653 tests/stub_HelperChildConfig.cc \
654 HttpRequestMethod.cc \
671 ufsdump_DEPENDENCIES = \
677 nodist_ufsdump_SOURCES = \
682 squid.conf.documented \
688 LDADD = $(COMMON_LIBS) \
701 mk-string-arrays.pl \
702 mk-string-arrays.awk \
708 $(AIO_WIN32_SOURCES) \
709 DiskIO/AIO/async_io.h \
710 DiskIO/AIO/AIODiskFile.cc \
711 DiskIO/AIO/AIODiskFile.h \
712 DiskIO/AIO/AIODiskIOStrategy.cc \
713 DiskIO/AIO/AIODiskIOStrategy.h \
714 DiskIO/AIO/AIODiskIOModule.cc \
715 DiskIO/AIO/AIODiskIOModule.h
717 libBlocking_a_SOURCES = \
718 DiskIO/Blocking/BlockingFile.cc \
719 DiskIO/Blocking/BlockingFile.h \
720 DiskIO/Blocking/BlockingIOStrategy.cc \
721 DiskIO/Blocking/BlockingIOStrategy.h \
722 DiskIO/Blocking/BlockingDiskIOModule.cc \
723 DiskIO/Blocking/BlockingDiskIOModule.h
725 libDiskDaemon_a_SOURCES = \
726 DiskIO/DiskDaemon/DiskdFile.cc \
727 DiskIO/DiskDaemon/DiskdFile.h \
728 DiskIO/DiskDaemon/DiskdIOStrategy.cc \
729 DiskIO/DiskDaemon/DiskdIOStrategy.h \
730 DiskIO/DiskDaemon/diomsg.h \
731 DiskIO/DiskDaemon/DiskDaemonDiskIOModule.cc \
732 DiskIO/DiskDaemon/DiskDaemonDiskIOModule.h \
733 DiskIO/DiskDaemon/DiskdAction.cc \
734 DiskIO/DiskDaemon/DiskdAction.h
736 libDiskThreads_a_SOURCES = \
738 DiskIO/DiskThreads/async_io.cc \
739 DiskIO/DiskThreads/DiskThreads.h \
740 DiskIO/DiskThreads/DiskThreadsDiskFile.cc \
741 DiskIO/DiskThreads/DiskThreadsDiskFile.h \
742 DiskIO/DiskThreads/DiskThreadsDiskIOModule.cc \
743 DiskIO/DiskThreads/DiskThreadsDiskIOModule.h \
744 DiskIO/DiskThreads/DiskThreadsIOStrategy.cc \
745 DiskIO/DiskThreads/DiskThreadsIOStrategy.h
747 DiskIO_DiskDaemon_diskd_SOURCES = DiskIO/DiskDaemon/diskd.cc
748 nodist_DiskIO_DiskDaemon_diskd_SOURCES = time.cc
749 DiskIO_DiskDaemon_diskd_LDADD = \
750 $(top_builddir)/lib/libmisccontainers.la \
751 $(top_builddir)/lib/libmiscencoding.la \
752 $(top_builddir)/lib/libmiscutil.la \
757 DEFAULT_HTTP_PORT = 3128
758 DEFAULT_ICP_PORT = 3130
759 DEFAULT_PREFIX = $(prefix)
760 DEFAULT_CONFIG_DIR = $(sysconfdir)
761 DEFAULT_CONFIG_FILE = $(DEFAULT_CONFIG_DIR)/squid.conf
762 DEFAULT_MIME_TABLE = $(DEFAULT_CONFIG_DIR)/mime.conf
763 DEFAULT_DNSSERVER = $(libexecdir)/`echo dnsserver | sed '$(transform);s/$$/$(EXEEXT)/'`
764 DEFAULT_SSL_CRTD = $(libexecdir)/`echo ssl_crtd | sed '$(transform);s/$$/$(EXEEXT)/'`
765 DEFAULT_LOG_PREFIX = $(DEFAULT_LOG_DIR)
766 DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log
767 DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
768 DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
769 DEFAULT_NETDB_FILE = $(DEFAULT_LOG_PREFIX)/netdb.state
770 DEFAULT_SWAP_DIR = $(localstatedir)/cache
771 DEFAULT_SSL_DB_DIR = $(localstatedir)/lib/ssl_db
772 DEFAULT_PINGER = $(libexecdir)/`echo pinger | sed '$(transform);s/$$/$(EXEEXT)/'`
773 DEFAULT_UNLINKD = $(libexecdir)/`echo unlinkd | sed '$(transform);s/$$/$(EXEEXT)/'`
774 DEFAULT_LOGFILED = $(libexecdir)/`echo log_file_daemon | sed '$(transform);s/$$/$(EXEEXT)/'`
775 DEFAULT_DISKD = $(libexecdir)/`echo diskd | sed '$(transform);s/$$/$(EXEEXT)/'`
776 DEFAULT_ICON_DIR = $(datadir)/icons
777 DEFAULT_ERROR_DIR = $(datadir)/errors
779 # Make location configure settings available to the code
780 DEFS += -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\" -DDEFAULT_SQUID_DATA_DIR=\"$(datadir)\" -DDEFAULT_SQUID_CONFIG_DIR=\"$(sysconfdir)\"
782 snmp_core.o snmp_agent.o: ../snmplib/libsnmp.a $(top_srcdir)/include/cache_snmp.h
784 globals.cc: globals.h mk-globals-c.awk
785 $(AWK) -f $(srcdir)/mk-globals-c.awk < $(srcdir)/globals.h > $@ || ($(RM) -f $@ && exit 1)
787 ## Generate files containing string arrays for various enums....
788 hier_code.cc: hier_code.h mk-string-arrays.awk
789 $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/hier_code.h > $@ || ($(RM) -f $@ && exit 1)
791 err_type.cc: err_type.h mk-string-arrays.awk
792 $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/err_type.h > $@ || ($(RM) -f $@ && exit 1)
794 err_detail_type.cc: err_detail_type.h mk-string-arrays.awk
795 $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/err_detail_type.h | sed 's/ERR_DETAIL_//' > $@ || ($(RM) -f $@ && exit 1)
797 lookup_t.cc: lookup_t.h mk-string-arrays.awk
798 $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/lookup_t.h > $@ || ($(RM) -f $@ && exit 1)
800 icp_opcode.cc: icp_opcode.h mk-string-arrays.awk
801 $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/icp_opcode.h > $@ || ($(RM) -f $@ && exit 1)
803 swap_log_op.cc: swap_log_op.h mk-string-arrays.awk
804 $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/swap_log_op.h > $@ || ($(RM) -f $@ && exit 1)
807 ## other generated files...
809 cache_diff: cache_diff.o debug.o globals.o store_key_md5.o
810 $(CC) -o $@ $(LDFLAGS) $@.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
812 test_cache_digest: test_cache_digest.o CacheDigest.o debug.o globals.o store_key_md5.o
813 $(CC) -o $@ $(LDFLAGS) $@.o CacheDigest.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
815 ## If autodependency works well this is not needed anymore
816 cache_cf.o: cf_parser.cci
818 # squid.conf.default is built by cf_gen when making cf_parser.cci
819 squid.conf.default squid.conf.documented: cf_parser.cci
822 cf_parser.cci: cf.data cf_gen$(EXEEXT)
823 ./cf_gen cf.data $(srcdir)/cf.data.depend
825 cf_gen_defines.cci: $(srcdir)/cf_gen_defines $(srcdir)/cf.data.pre
826 $(AWK) -f $(srcdir)/cf_gen_defines <$(srcdir)/cf.data.pre >$@ || ($(RM) -f $@ && exit 1)
829 ## FIXME: generate a sed command file from configure. Then this doesn't
830 ## depend on the Makefile.
831 cf.data: cf.data.pre Makefile
833 -e "s%[@]DEFAULT_HTTP_PORT[@]%$(DEFAULT_HTTP_PORT)%g" \
834 -e "s%[@]DEFAULT_ICP_PORT[@]%$(DEFAULT_ICP_PORT)%g" \
835 -e "s%[@]DEFAULT_CACHE_EFFECTIVE_USER[@]%${CACHE_EFFECTIVE_USER}%g" \
836 -e "s%[@]DEFAULT_MIME_TABLE[@]%$(DEFAULT_MIME_TABLE)%g" \
837 -e "s%[@]DEFAULT_DNSSERVER[@]%$(DEFAULT_DNSSERVER)%g" \
838 -e "s%[@]DEFAULT_SSL_CRTD[@]%$(DEFAULT_SSL_CRTD)%g" \
839 -e "s%[@]DEFAULT_UNLINKD[@]%$(DEFAULT_UNLINKD)%g" \
840 -e "s%[@]DEFAULT_PINGER[@]%$(DEFAULT_PINGER)%g" \
841 -e "s%[@]DEFAULT_DISKD[@]%$(DEFAULT_DISKD)%g" \
842 -e "s%[@]DEFAULT_LOGFILED[@]%$(DEFAULT_LOGFILED)%g;" \
843 -e "s%[@]DEFAULT_CACHE_LOG[@]%$(DEFAULT_CACHE_LOG)%g" \
844 -e "s%[@]DEFAULT_ACCESS_LOG[@]%$(DEFAULT_ACCESS_LOG)%g" \
845 -e "s%[@]DEFAULT_STORE_LOG[@]%$(DEFAULT_STORE_LOG)%g" \
846 -e "s%[@]DEFAULT_PID_FILE[@]%$(DEFAULT_PID_FILE)%g" \
847 -e "s%[@]DEFAULT_NETDB_FILE[@]%$(DEFAULT_NETDB_FILE)%g" \
848 -e "s%[@]DEFAULT_SWAP_DIR[@]%$(DEFAULT_SWAP_DIR)%g" \
849 -e "s%[@]DEFAULT_SSL_DB_DIR[@]%$(DEFAULT_SSL_DB_DIR)%g" \
850 -e "s%[@]DEFAULT_ICON_DIR[@]%$(DEFAULT_ICON_DIR)%g" \
851 -e "s%[@]DEFAULT_CONFIG_DIR[@]%$(DEFAULT_CONFIG_DIR)%g" \
852 -e "s%[@]DEFAULT_PREFIX[@]%$(DEFAULT_PREFIX)%g" \
853 -e "s%[@]DEFAULT_HOSTS[@]%$(DEFAULT_HOSTS)%g" \
854 -e "s%[@]SQUID[@]%SQUID\ $(VERSION)%g" \
855 < $(srcdir)/cf.data.pre >$@
857 repl_modules.cc: repl_modules.sh Makefile
858 $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.cc
860 include $(top_srcdir)/doc/manuals/Substitute.am
862 squid.8: $(srcdir)/squid.8.in Makefile
863 $(SUBSTITUTE) < $(srcdir)/squid.8.in > $@
866 EXTRA_DIST += squid.8.in
867 CLEANFILES += squid.8
869 install-data-local: install-sysconfDATA install-dataDATA
870 @if test -f $(DESTDIR)$(DEFAULT_MIME_TABLE) ; then \
871 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_MIME_TABLE)" ; \
873 echo "$(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE)" ;\
874 $(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE); \
876 @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \
877 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_CONFIG_FILE)" ; \
879 echo "$(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE)"; \
880 $(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE); \
882 echo "$(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE).default"; \
883 $(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE).default; \
884 echo "$(INSTALL_DATA) squid.conf.documented $(DESTDIR)$(DEFAULT_CONFIG_FILE).documented"; \
885 $(INSTALL_DATA) squid.conf.documented $(DESTDIR)$(DEFAULT_CONFIG_FILE).documented; \
886 $(mkinstalldirs) $(DESTDIR)$(DEFAULT_LOG_PREFIX); \
887 $(mkinstalldirs) $(DESTDIR)$(DEFAULT_SWAP_DIR); \
888 $(mkinstalldirs) $(DESTDIR)`dirname $(DEFAULT_PID_FILE)`
890 uninstall-local: squid.conf.default
891 @$(SHELL) $(top_srcdir)/scripts/remove-cfg.sh "$(RM)" $(DESTDIR)$(DEFAULT_MIME_TABLE) $(srcdir)/mime.conf.default
892 @$(SHELL) $(top_srcdir)/scripts/remove-cfg.sh "$(RM)" $(DESTDIR)$(DEFAULT_CONFIG_FILE) squid.conf.default
894 CLEANFILES += cf.data squid.conf.default squid.conf.documented \
895 DiskIO/DiskIOModules_gen.cc \
898 test_tools.cc: $(top_srcdir)/test-suite/test_tools.cc
899 cp $(top_srcdir)/test-suite/test_tools.cc .
901 # stock tools for unit tests - library independent versions of dlink_list
903 # globals.cc is needed by test_tools.cc.
904 # Neither of these should be disted from here.
909 # sources needed by those tests that need event.cc; incomplete
910 TEST_CALL_SOURCES = \
914 check_PROGRAMS+= tests/testAuth \
915 tests/testACLMaxUserIP \
916 tests/testBoilerplate \
917 tests/testCacheManager \
920 tests/testEventLoop \
921 tests/test_http_range \
922 tests/testHttpReply \
923 tests/testHttpRequest \
929 ## NP: required to run the above list. check_PROGRAMS only builds the binaries...
930 TESTS += $(check_PROGRAMS)
932 ### Template for new Unit Test Program
933 ## - add tests/testX to check_PROGRAMS above.
934 ## - copy template below and substitue X for class name
935 ## - add other component .(h|cc) files needed to link and run tests
937 ##NP: (TESTSOURCES) defines stub debugs() and new/delete for testing
939 #tests_testX_SOURCES=\
942 # tests/testMain.cc \
945 #nodist_tests_testX_SOURCES=\
947 #tests_testX_LDFLAGS = $(LIBADD_DL)
949 # $(SQUID_CPPUNIT_LIBS) \
950 # $(SQUID_CPPUNIT_LA) \
952 #tests_testX_DEPENDENCIES= $(SQUID_CPPUNIT_LA)
955 # - add other component .(h|cc) files needed to link and run tests
956 tests_testHttpReply_SOURCES=\
957 tests/testHttpReply.h \
958 tests/testHttpReply.cc \
966 HttpHdrContRange.cc \
990 tests/stub_cache_manager.cc \
991 tests/stub_debug.cc \
992 tests/stub_HelperChildConfig.cc \
993 tests/stub_StatHist.cc \
994 tests/stub_store.cc \
999 nodist_tests_testHttpReply_SOURCES=\
1001 tests_testHttpReply_LDFLAGS = $(LIBADD_DL)
1002 tests_testHttpReply_LDADD=\
1008 $(top_builddir)/lib/libmisccontainers.la \
1009 $(top_builddir)/lib/libmiscencoding.la \
1010 $(top_builddir)/lib/libmiscutil.la \
1011 $(SQUID_CPPUNIT_LIBS) \
1012 $(SQUID_CPPUNIT_LA) \
1015 tests_testHttpReply_DEPENDENCIES= $(SQUID_CPPUNIT_LA)
1017 tests_testAuth_SOURCES = \
1018 tests/testAuth.cc tests/testMain.cc tests/testAuth.h \
1020 HelperChildConfig.h \
1021 HelperChildConfig.cc \
1022 tests/stub_acl.cc tests/stub_cache_cf.cc \
1023 tests/stub_debug.cc \
1024 tests/stub_helper.cc cbdata.cc String.cc \
1025 tests/stub_store.cc HttpHeaderTools.cc HttpHeader.cc mem.cc ClientInfo.h \
1026 MemBuf.cc HttpHdrContRange.cc Packer.cc HttpHdrCc.cc HttpHdrSc.cc \
1027 HttpHdrScTarget.cc url.cc \
1028 StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
1029 tests/stub_HttpRequest.cc tests/stub_DelayId.cc \
1030 tests/stub_MemObject.cc mem_node.cc \
1031 tests/stub_cache_manager.cc \
1034 HttpRequestMethod.cc \
1035 tests/stub_access_log.cc \
1036 tests/stub_comm.cc \
1037 tests/stub_http.cc \
1038 tests/stub_mime.cc \
1041 $(TEST_CALL_SOURCES) \
1043 nodist_tests_testAuth_SOURCES = \
1046 tests_testAuth_LDADD= \
1048 $(top_builddir)/lib/libmisccontainers.la \
1049 $(top_builddir)/lib/libmiscencoding.la \
1050 $(top_builddir)/lib/libmiscutil.la \
1052 $(SQUID_CPPUNIT_LIBS) \
1056 tests_testAuth_LDFLAGS = $(LIBADD_DL)
1057 tests_testAuth_DEPENDENCIES = \
1060 ## Tests for the ACLMaxUserIP class
1061 ## acl needs wordlist. wordlist needs MemBug
1062 ## MemBuf needs mem, MemBuf needs event,
1063 ## event needs cbdata.
1064 ## ACLMaxUserUP needs libauth.la
1065 ## ACLMaxUserIP needs ACLChecklist
1066 ## AuthUser request needs HttpHeader, which brings in
1069 ## HttpHeaderTools.cc \
1070 ## HttpHdrContRange.cc \
1072 ## HttpHdrRange.cc \
1074 ## HttpHdrScTarget.cc \
1078 tests_testACLMaxUserIP_SOURCES= \
1083 HelperChildConfig.h \
1084 HelperChildConfig.cc \
1086 HttpHeaderTools.cc \
1087 HttpHdrContRange.cc \
1091 HttpHdrScTarget.cc \
1098 $(TEST_CALL_SOURCES) \
1099 tests/stub_cache_cf.cc \
1100 tests/stub_comm.cc \
1101 tests/stub_debug.cc \
1102 tests/stub_DelayId.cc \
1103 tests/stub_MemObject.cc \
1104 tests/stub_store.cc \
1105 tests/stub_cache_manager.cc \
1106 tests/testACLMaxUserIP.cc \
1107 tests/testACLMaxUserIP.h \
1113 nodist_tests_testACLMaxUserIP_SOURCES= \
1115 tests_testACLMaxUserIP_LDADD= \
1117 $(top_builddir)/lib/libmisccontainers.la \
1118 $(top_builddir)/lib/libmiscencoding.la \
1119 $(top_builddir)/lib/libmiscutil.la \
1121 $(SQUID_CPPUNIT_LIBS) \
1125 tests_testACLMaxUserIP_LDFLAGS = $(LIBADD_DL)
1126 tests_testACLMaxUserIP_DEPENDENCIES = \
1129 ## a demonstration test that does nothing but shows the salient points
1130 ## involved in writing tests.
1131 tests_testBoilerplate_SOURCES = \
1132 tests/testBoilerplate.cc \
1134 tests/testBoilerplate.h \
1136 nodist_tests_testBoilerplate_SOURCES = \
1138 tests_testBoilerplate_LDADD= \
1139 $(SQUID_CPPUNIT_LIBS) \
1143 tests_testBoilerplate_LDFLAGS = $(LIBADD_DL)
1144 tests_testBoilerplate_DEPENDENCIES = \
1147 ## Tests of the CacheManager module.
1148 tests_testCacheManager_SOURCES = \
1149 $(ACL_REGISTRATION_SOURCES) \
1152 HttpRequestMethod.cc \
1155 tests/testCacheManager.cc \
1156 tests/testCacheManager.h \
1158 tests/stub_main_cc.cc \
1168 ChunkedCodingParser.cc \
1171 client_side_reply.cc \
1172 client_side_request.cc \
1175 $(squid_COMMSOURCES) \
1182 $(DELAY_POOL_SOURCE) \
1190 ExternalACLEntry.cc \
1199 HelperChildConfig.h \
1200 HelperChildConfig.cc \
1205 HttpHeaderTools.cc \
1207 HttpHdrContRange.cc \
1210 HttpHdrScTarget.cc \
1232 peer_proxy_negotiate_auth.cc \
1234 peer_sourcehash.cc \
1258 StoreFileSystem.cc \
1263 StoreMetaSTDLFS.cc \
1264 StoreMetaUnpacker.cc \
1267 StoreSwapLogData.cc \
1268 $(TEST_CALL_SOURCES) \
1281 nodist_tests_testCacheManager_SOURCES = \
1283 # comm.cc only requires comm/libcomm.la until fdc_table is dead.
1284 tests_testCacheManager_LDADD = \
1287 icmp/libicmp.la icmp/libicmp-core.la \
1290 ${ADAPTATION_LIBS} \
1293 $(top_builddir)/lib/libmisccontainers.la \
1294 $(top_builddir)/lib/libmiscencoding.la \
1295 $(top_builddir)/lib/libmiscutil.la \
1298 $(SQUID_CPPUNIT_LIBS) \
1299 $(SQUID_CPPUNIT_LA) \
1304 tests_testCacheManager_LDFLAGS = $(LIBADD_DL)
1305 tests_testCacheManager_DEPENDENCIES = \
1309 tests_testDiskIO_SOURCES = \
1310 $(SWAP_TEST_SOURCES) \
1311 tests/testDiskIO.cc \
1312 tests/testDiskIO.h \
1314 tests/stub_cache_manager.cc \
1315 tests/stub_HelperChildConfig.cc \
1316 tests/stub_Port.cc \
1317 tests/stub_TypedMsgHdr.cc \
1319 nodist_tests_testDiskIO_SOURCES= \
1320 $(SWAP_TEST_GEN_SOURCES) \
1324 tests_testDiskIO_LDADD = \
1327 DnsLookupDetails.o \
1333 $(top_builddir)/lib/libmisccontainers.la \
1334 $(top_builddir)/lib/libmiscencoding.la \
1335 $(top_builddir)/lib/libmiscutil.la \
1337 $(SQUID_CPPUNIT_LIBS) \
1342 tests_testDiskIO_LDFLAGS = $(LIBADD_DL)
1343 tests_testDiskIO_DEPENDENCIES = \
1348 ## Tests of the Even module.
1349 tests_testEvent_SOURCES = \
1350 $(ACL_REGISTRATION_SOURCES) \
1355 HttpRequestMethod.cc \
1359 tests/CapturingStoreEntry.h \
1360 tests/testEvent.cc \
1363 tests/stub_main_cc.cc \
1373 ChunkedCodingParser.cc \
1376 client_side_reply.cc \
1377 client_side_request.cc \
1380 $(squid_COMMSOURCES) \
1387 $(DELAY_POOL_SOURCE) \
1395 ExternalACLEntry.cc \
1404 HelperChildConfig.h \
1405 HelperChildConfig.cc \
1410 HttpHeaderTools.cc \
1412 HttpHdrContRange.cc \
1415 HttpHdrScTarget.cc \
1437 peer_proxy_negotiate_auth.cc \
1439 peer_sourcehash.cc \
1462 StoreFileSystem.cc \
1467 StoreMetaSTDLFS.cc \
1468 StoreMetaUnpacker.cc \
1471 StoreSwapLogData.cc \
1472 $(TEST_CALL_SOURCES) \
1485 nodist_tests_testEvent_SOURCES = \
1487 tests_testEvent_LDADD = \
1489 icmp/libicmp.la icmp/libicmp-core.la \
1493 ${ADAPTATION_LIBS} \
1496 $(top_builddir)/lib/libmisccontainers.la \
1497 $(top_builddir)/lib/libmiscencoding.la \
1498 $(top_builddir)/lib/libmiscutil.la \
1501 $(SQUID_CPPUNIT_LIBS) \
1502 $(SQUID_CPPUNIT_LA) \
1507 tests_testEvent_LDFLAGS = $(LIBADD_DL)
1508 tests_testEvent_DEPENDENCIES = \
1512 ## Tests of the EventLoop module.
1513 tests_testEventLoop_SOURCES = \
1514 $(ACL_REGISTRATION_SOURCES) \
1519 HttpRequestMethod.cc \
1523 tests/testEventLoop.cc \
1524 tests/testEventLoop.h \
1526 tests/stub_main_cc.cc \
1536 ChunkedCodingParser.cc \
1539 client_side_reply.cc \
1540 client_side_request.cc \
1543 $(squid_COMMSOURCES) \
1550 $(DELAY_POOL_SOURCE) \
1558 ExternalACLEntry.cc \
1566 HelperChildConfig.h \
1567 HelperChildConfig.cc \
1573 HttpHeaderTools.cc \
1575 HttpHdrContRange.cc \
1578 HttpHdrScTarget.cc \
1600 peer_proxy_negotiate_auth.cc \
1602 peer_sourcehash.cc \
1625 StoreFileSystem.cc \
1630 StoreMetaSTDLFS.cc \
1631 StoreMetaUnpacker.cc \
1634 StoreSwapLogData.cc \
1635 $(TEST_CALL_SOURCES) \
1648 nodist_tests_testEventLoop_SOURCES = \
1650 tests_testEventLoop_LDADD = \
1652 icmp/libicmp.la icmp/libicmp-core.la \
1656 ${ADAPTATION_LIBS} \
1659 $(top_builddir)/lib/libmisccontainers.la \
1660 $(top_builddir)/lib/libmiscencoding.la \
1661 $(top_builddir)/lib/libmiscutil.la \
1664 $(SQUID_CPPUNIT_LIBS) \
1665 $(SQUID_CPPUNIT_LA) \
1670 tests_testEventLoop_LDFLAGS = $(LIBADD_DL)
1671 tests_testEventLoop_DEPENDENCIES = \
1675 tests_test_http_range_SOURCES = \
1676 $(ACL_REGISTRATION_SOURCES) \
1677 tests/test_http_range.cc \
1686 ChunkedCodingParser.cc \
1689 client_side_reply.cc \
1690 client_side_request.cc \
1693 $(squid_COMMSOURCES) \
1700 tests/stub_main_cc.cc \
1702 $(DELAY_POOL_SOURCE) \
1710 ExternalACLEntry.cc \
1718 HelperChildConfig.h \
1719 HelperChildConfig.cc \
1725 HttpHdrContRange.cc \
1728 HttpHdrScTarget.cc \
1730 HttpHeaderTools.cc \
1734 HttpRequestMethod.cc \
1752 peer_proxy_negotiate_auth.cc \
1754 peer_sourcehash.cc \
1779 StoreFileSystem.cc \
1784 StoreMetaSTDLFS.cc \
1785 StoreMetaUnpacker.cc \
1788 StoreSwapLogData.cc \
1791 $(TEST_CALL_SOURCES) \
1806 nodist_tests_test_http_range_SOURCES = \
1808 tests_test_http_range_LDADD = \
1810 icmp/libicmp.la icmp/libicmp-core.la \
1814 ${ADAPTATION_LIBS} \
1817 $(top_builddir)/lib/libmisccontainers.la \
1818 $(top_builddir)/lib/libmiscencoding.la \
1819 $(top_builddir)/lib/libmiscutil.la \
1822 $(SQUID_CPPUNIT_LIBS) \
1823 $(SQUID_CPPUNIT_LA) \
1828 tests_test_http_range_LDFLAGS = $(LIBADD_DL)
1829 tests_test_http_range_DEPENDENCIES = \
1833 ## Tests of the HttpRequest module.
1834 tests_testHttpRequest_SOURCES = \
1835 $(ACL_REGISTRATION_SOURCES) \
1837 HttpRequestMethod.cc \
1840 tests/testHttpRequest.h \
1841 tests/testHttpRequest.cc \
1842 tests/testHttpRequestMethod.h \
1843 tests/testHttpRequestMethod.cc \
1845 tests/stub_main_cc.cc \
1856 ChunkedCodingParser.cc \
1859 client_side_reply.cc \
1860 client_side_request.cc \
1863 $(squid_COMMSOURCES) \
1870 $(DELAY_POOL_SOURCE) \
1878 ExternalACLEntry.cc \
1886 HelperChildConfig.h \
1887 HelperChildConfig.cc \
1893 HttpHeaderTools.cc \
1895 HttpHdrContRange.cc \
1898 HttpHdrScTarget.cc \
1920 peer_proxy_negotiate_auth.cc \
1922 peer_sourcehash.cc \
1946 StoreFileSystem.cc \
1951 StoreMetaSTDLFS.cc \
1952 StoreMetaUnpacker.cc \
1955 StoreSwapLogData.cc \
1956 $(TEST_CALL_SOURCES) \
1969 nodist_tests_testHttpRequest_SOURCES = \
1971 tests_testHttpRequest_LDADD = \
1973 icmp/libicmp.la icmp/libicmp-core.la \
1977 ${ADAPTATION_LIBS} \
1980 $(top_builddir)/lib/libmisccontainers.la \
1981 $(top_builddir)/lib/libmiscencoding.la \
1982 $(top_builddir)/lib/libmiscutil.la \
1985 $(SQUID_CPPUNIT_LIBS) \
1986 $(SQUID_CPPUNIT_LA) \
1991 tests_testHttpRequest_LDFLAGS = $(LIBADD_DL)
1992 tests_testHttpRequest_DEPENDENCIES = \
1996 # TODO:mime.cc drags in HttpReply.cc
1997 # delay pools need client_side_request.cc
1998 # store_key_md5 wants the method.
1999 STORE_TEST_SOURCES=\
2000 $(TEST_CALL_SOURCES) \
2001 $(DELAY_POOL_SOURCE) \
2009 HttpRequestMethod.cc \
2014 tests/stub_acl.cc tests/stub_cache_cf.cc \
2015 tests/stub_helper.cc cbdata.cc String.cc \
2016 tests/stub_comm.cc \
2017 tests/stub_debug.cc \
2018 tests/stub_client_side_request.cc \
2019 tests/stub_http.cc \
2022 tests/stub_mime.cc \
2023 HttpHeaderTools.cc HttpHeader.cc mem.cc ClientInfo.h \
2024 MemBuf.cc HttpHdrContRange.cc Packer.cc HttpHdrCc.cc HttpHdrSc.cc \
2025 HttpHdrScTarget.cc url.cc \
2026 StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
2027 tests/stub_HttpRequest.cc tests/stub_access_log.cc \
2029 tests/stub_store_client.cc \
2030 tests/stub_tools.cc \
2031 tests/testStoreSupport.cc \
2032 tests/testStoreSupport.h \
2037 ## why so many sources? well httpHeaderTools requites ACLChecklist & friends.
2038 ## first line - what we are testing.
2039 tests_testStore_SOURCES= \
2040 tests/stub_store_swapout.cc \
2042 tests/stub_MemObject.cc \
2043 tests/testStore.cc \
2045 tests/CapturingStoreEntry.h \
2046 tests/testStoreEntryStream.cc \
2047 tests/testStoreEntryStream.h \
2048 tests/testStoreController.cc \
2049 tests/testStoreController.h \
2050 tests/testStoreHashIndex.cc \
2051 tests/testStoreHashIndex.h \
2052 tests/TestSwapDir.cc \
2053 tests/TestSwapDir.h \
2054 tests/stub_HelperChildConfig.cc \
2055 tests/stub_HttpReply.cc \
2056 tests/stub_cache_manager.cc \
2057 tests/stub_Port.cc \
2058 tests/stub_TypedMsgHdr.cc \
2059 tests/stub_UdsOp.cc \
2060 $(STORE_TEST_SOURCES) \
2063 nodist_tests_testStore_SOURCES= \
2069 tests_testStore_LDADD= \
2071 $(top_builddir)/lib/libmisccontainers.la \
2072 $(top_builddir)/lib/libmiscencoding.la \
2073 $(top_builddir)/lib/libmiscutil.la \
2075 $(SQUID_CPPUNIT_LIBS) \
2078 DnsLookupDetails.o \
2081 tests_testStore_LDFLAGS = $(LIBADD_DL)
2082 tests_testStore_DEPENDENCIES = \
2085 ## string needs mem.cc.
2086 ## mem.cc needs ClientInfo.h
2087 ## libsquid pulls in SquidConfig and children. stub them.
2088 tests_testString_SOURCES = \
2093 tests/testString.cc \
2094 tests/testString.h \
2095 tests/stub_cache_manager.cc \
2096 tests/stub_debug.cc \
2097 tests/stub_HelperChildConfig.cc \
2099 nodist_tests_testString_SOURCES = \
2101 tests_testString_LDADD = \
2103 $(top_builddir)/lib/libmiscutil.la \
2105 $(SQUID_CPPUNIT_LIBS) \
2109 tests_testString_LDFLAGS = $(LIBADD_DL)
2110 tests_testString_DEPENDENCIES = \
2113 SWAP_TEST_SOURCES = \
2114 tests/stub_internal.cc \
2115 tests/stub_CommIO.cc \
2116 tests/stub_store_rebuild.cc \
2126 StoreSwapLogData.cc \
2131 StoreMetaSTDLFS.cc \
2132 StoreMetaUnpacker.cc \
2135 StoreFileSystem.cc \
2141 $(STORE_TEST_SOURCES) \
2144 SWAP_TEST_GEN_SOURCES = \
2146 $(DISKIO_GEN_SOURCE)
2155 tests_testUfs_SOURCES = \
2159 tests/stub_cache_manager.cc \
2160 tests/stub_HelperChildConfig.cc \
2161 tests/stub_Port.cc \
2162 tests/stub_TypedMsgHdr.cc \
2163 tests/stub_UdsOp.cc \
2164 $(SWAP_TEST_SOURCES)
2165 nodist_tests_testUfs_SOURCES = \
2166 $(SWAP_TEST_GEN_SOURCES) \
2170 tests_testUfs_LDADD = \
2172 DnsLookupDetails.o \
2178 $(top_builddir)/lib/libmisccontainers.la \
2179 $(top_builddir)/lib/libmiscencoding.la \
2180 $(top_builddir)/lib/libmiscutil.la \
2182 $(SQUID_CPPUNIT_LIBS) \
2186 tests_testUfs_LDFLAGS = $(LIBADD_DL)
2187 tests_testUfs_DEPENDENCIES = \
2190 tests_testCoss_SOURCES = \
2194 tests/stub_cache_manager.cc \
2195 tests/stub_debug.cc \
2196 tests/stub_HelperChildConfig.cc \
2197 $(SWAP_TEST_SOURCES)
2198 nodist_tests_testCoss_SOURCES = \
2202 $(SWAP_TEST_GEN_SOURCES)
2203 tests_testCoss_LDADD = \
2211 $(top_builddir)/lib/libmisccontainers.la \
2212 $(top_builddir)/lib/libmiscencoding.la \
2213 $(top_builddir)/lib/libmiscutil.la \
2214 $(SQUID_CPPUNIT_LIBS) \
2218 tests_testCoss_LDFLAGS = $(LIBADD_DL)
2219 tests_testCoss_DEPENDENCIES = \
2222 tests_testNull_SOURCES = \
2226 $(SWAP_TEST_SOURCES)
2227 nodist_tests_testNull_SOURCES = \
2228 $(SWAP_TEST_GEN_SOURCES)
2229 tests_testNull_LDADD = \
2236 $(top_builddir)/lib/libmisccontainers.la \
2237 $(top_builddir)/lib/libmiscencoding.la \
2238 $(top_builddir)/lib/libmiscutil.la \
2239 $(SQUID_CPPUNIT_LIBS) \
2243 tests_testNull_LDFLAGS = $(LIBADD_DL)
2244 tests_testNull_DEPENDENCIES = \
2247 ## Tests of the URL module.
2248 ## TODO: Trim this down once the insanity is over.
2249 tests_testURL_SOURCES = \
2250 $(ACL_REGISTRATION_SOURCES) \
2254 HttpRequestMethod.cc \
2260 tests/testURLScheme.cc \
2261 tests/testURLScheme.h \
2263 tests/stub_debug.cc \
2264 tests/stub_main_cc.cc \
2274 ChunkedCodingParser.cc \
2277 client_side_reply.cc \
2278 client_side_request.cc \
2281 $(squid_COMMSOURCES) \
2288 $(DELAY_POOL_SOURCE) \
2296 ExternalACLEntry.cc \
2304 HelperChildConfig.h \
2305 HelperChildConfig.cc \
2311 HttpHeaderTools.cc \
2313 HttpHdrContRange.cc \
2316 HttpHdrScTarget.cc \
2338 peer_proxy_negotiate_auth.cc \
2340 peer_sourcehash.cc \
2363 StoreFileSystem.cc \
2368 StoreMetaSTDLFS.cc \
2369 StoreMetaUnpacker.cc \
2372 StoreSwapLogData.cc \
2373 $(TEST_CALL_SOURCES) \
2384 nodist_tests_testURL_SOURCES = \
2386 tests_testURL_LDADD = \
2388 icmp/libicmp.la icmp/libicmp-core.la \
2393 ${ADAPTATION_LIBS} \
2397 $(top_builddir)/lib/libmisccontainers.la \
2398 $(top_builddir)/lib/libmiscencoding.la \
2399 $(top_builddir)/lib/libmiscutil.la \
2401 $(SQUID_CPPUNIT_LIBS) \
2402 $(SQUID_CPPUNIT_LA) \
2407 tests_testURL_LDFLAGS = $(LIBADD_DL)
2408 tests_testURL_DEPENDENCIES = \
2413 TESTS += testHeaders
2415 ## Special Universal .h dependency test script
2416 ## aborts if error encountered
2417 testHeaders: $(srcdir)/*.h $(srcdir)/DiskIO/*.h $(srcdir)/DiskIO/*/*.h
2418 $(SHELL) $(top_srcdir)/test-suite/testheaders.sh "$(CXXCOMPILE)" $^ || exit 1
2419 ## src/repl/ has no .h files and its own makefile.
2421 CLEANFILES += testHeaders