-#
-# Makefile for the Squid ICMP and Network Measurement API
-#
-
-# Housekeeping, shared by all Squid Makefiles.
-# TODO: make this set by configure?
-AM_CFLAGS = @SQUID_CFLAGS@
-AM_CXXFLAGS = @SQUID_CXXFLAGS@
-DEFS = @DEFS@
-CLEANFILES =
-
-INCLUDES = \
- -I$(top_srcdir) \
- -I$(top_srcdir)/src \
- -I$(top_srcdir)/include \
- -I$(top_builddir)/lib \
- @SQUID_CPPUNIT_INC@
-
-$(OBJS): $(top_srcdir)/include/version.h $(top_srcdir)/include/autoconf.h
-
-# TODO: get rid of this when config filename is no longer a global constant.
-# its only here so the testIcmp will link .
-DEFS += -DDEFAULT_CONFIG_FILE=NULL
-
+## Copyright (C) 1996-2020 The Squid Software Foundation and contributors
+##
+## Squid software is distributed under GPLv2+ license and includes
+## contributions from numerous individuals and organizations.
+## Please see the COPYING and CONTRIBUTORS files for details.
+##
+include $(top_srcdir)/src/Common.am
+include $(top_srcdir)/src/TestHeaders.am
# ICMP Specific Configurations
if ENABLE_PINGER
-PINGER = pinger
+libexec_PROGRAMS = pinger
else
-PINGER =
+EXTRA_PROGRAMS = pinger
endif
-EXTRA_PROGRAMS = \
- pinger \
- testIcmp
-
-libexec_PROGRAMS = $(PINGER)
-
-noinst_LTLIBRARIES = libicmp-core.la libicmp.la
+noinst_LTLIBRARIES = libicmpcore.la libicmp.la
# ICMP API definition ...
-libicmp_core_la_SOURCES = \
- Icmp.h \
- Icmp.cc
+libicmpcore_la_SOURCES = \
+ Icmp.cc \
+ Icmp.h
# Squid Internal ICMP helper interface
libicmp_la_SOURCES = \
+ IcmpConfig.cc \
IcmpConfig.h \
- IcmpSquid.h \
IcmpSquid.cc \
- net_db.h \
- net_db.cc
+ IcmpSquid.h \
+ net_db.cc \
+ net_db.h
+
+libicmp_la_LIBADD= libicmpcore.la
+
+# pinger depends on these but install/dist is done elsewhere.
+COPIED_SOURCE= \
+ debug.cc \
+ globals.cc \
+ SquidConfig.cc \
+ SquidNew.cc \
+ stub_fd.cc \
+ stub_HelperChildConfig.cc \
+ stub_libmem.cc \
+ stub_SBuf.cc \
+ STUB.h \
+ time.cc
# ICMP lookup helper
pinger_SOURCES = \
Icmp.h \
- IcmpPinger.h \
- IcmpPinger.cc \
- Icmp4.h \
Icmp4.cc \
- Icmp6.h \
+ Icmp4.h \
Icmp6.cc \
+ Icmp6.h \
+ IcmpPinger.cc \
+ IcmpPinger.h \
pinger.cc
-
-# depends on these but install/dist is done elsewhere.
-# TODO: remove when these are cleaned up in their own way.
-nodist_pinger_SOURCES = \
- ../debug.cc \
- ../globals.cc \
- ../time.cc \
- ../SquidConfig.cc \
- ../SquidNew.cc
-
+nodist_pinger_SOURCES = $(COPIED_SOURCE)
pinger_LDFLAGS = $(LIBADD_DL)
pinger_LDADD=\
- libicmp-core.la \
- ../ip/libip.la \
- $(top_builddir)/lib/libmiscutil.a
-pinger_DEPENDENCIES= \
- libicmp-core.la \
- $(top_builddir)/lib/libmiscutil.a
-
+ libicmpcore.la \
+ $(top_builddir)/src/ip/libip.la \
+ $(top_builddir)/src/base/libbase.la \
+ $(COMPAT_LIB) \
+ $(SSLLIB) \
+ $(XTRA_LIBS)
+CLEANFILES += $(COPIED_SOURCE)
##install-pinger:
## @f=$(PINGER_EXE); \
## $(RM) -f $(libexecdir)/-$$f; \
## fi
+## files we need to pull in from other locations
+## copied like this to avoid subdir-objects collisions on 'make clean'
+debug.cc: $(top_srcdir)/src/debug.cc
+ cp $(top_srcdir)/src/debug.cc $@
-check_PROGRAMS= testIcmp testHeaders
-TESTS= $(check_PROGRAMS)
+globals.cc: $(top_srcdir)/src/globals.h
+ cp $(top_builddir)/src/globals.cc $@
-## Special Universal .h dependency test script
-## aborts if error encountered
-testHeaders: $(top_srcdir)/src/icmp/*.h
- $(SHELL) $(top_srcdir)/test-suite/testheaders.sh "$(CXXCOMPILE)" "$(top_srcdir)/src/icmp/" || exit 1
+time.cc: $(top_srcdir)/src/time.cc
+ cp $(top_srcdir)/src/time.cc $@
-## No such file...
-testHeaders.c:
- touch testHeaders.c
-CLEANFILES += testHeaders.c
+SquidConfig.cc: $(top_srcdir)/src/SquidConfig.cc
+ cp $(top_srcdir)/src/SquidConfig.cc $@
+SquidNew.cc: $(top_srcdir)/src/SquidNew.cc
+ cp $(top_srcdir)/src/SquidNew.cc $@
-## Tests of the ICMP base module.
-# Its used by pinger so SHOULD NOT require more dependancies! :-(
-testIcmp_SOURCES = \
- Icmp.h \
- testIcmp.h \
- testIcmp.cc
-nodist_testIcmp_SOURCES = \
- ../tests/testMain.cc \
- ../SquidTime.h \
- ../time.cc \
- ../../test-suite/test_tools.cc \
- ../globals.cc
-testIcmp_LDFLAGS = $(LIBADD_DL)
-testIcmp_LDADD=\
- @SQUID_CPPUNIT_LIBS@ \
- @SQUID_CPPUNIT_LA@ \
- libicmp-core.la \
- ../ip/libip.la \
- $(top_builddir)/lib/libmiscutil.a
-testIcmp_DEPENDENCIES= @SQUID_CPPUNIT_LA@ \
- libicmp-core.la \
- $(top_builddir)/lib/libmiscutil.a
+stub_HelperChildConfig.cc: $(top_srcdir)/src/tests/stub_HelperChildConfig.cc
+ cp $(top_srcdir)/src/tests/stub_HelperChildConfig.cc $@
+
+stub_fd.cc: $(top_srcdir)/src/tests/stub_fd.cc STUB.h
+ cp $(top_srcdir)/src/tests/stub_fd.cc $@
+
+stub_libmem.cc: $(top_srcdir)/src/tests/stub_libmem.cc STUB.h
+ cp $(top_srcdir)/src/tests/stub_libmem.cc $@
+
+stub_SBuf.cc: $(top_srcdir)/src/tests/stub_SBuf.cc STUB.h
+ cp $(top_srcdir)/src/tests/stub_SBuf.cc $@
+
+STUB.h: $(top_srcdir)/src/tests/STUB.h
+ cp $(top_srcdir)/src/tests/STUB.h $@