Nam Nguyen: > It is weird that it successfully builds unit-tests (before ...) then > tries to rebuild it again (after ...):
The difference is staring you in the face. ;-) The Makefile mixes "unit-tests" and "./unit-tests". gmake understands that those refer to one and the same target; our make doesn't. diff /usr/ports commit - ba5d71eefddb381a11ffc945887767c4c7e5d5e5 path + /usr/ports blob - d4ca85af01bda790b0106563a29ab7f6a97a0515 file + net/wget/Makefile --- net/wget/Makefile +++ net/wget/Makefile @@ -31,9 +31,6 @@ FAKE_FLAGS = sysconfdir="${PREFIX}/share/examples/wge FAKE_FLAGS = sysconfdir="${PREFIX}/share/examples/wget" -# for tests -USE_GMAKE = Yes - CONFIGURE_STYLE = gnu CONFIGURE_ARGS = --with-ssl=openssl CONFIGURE_ENV += CPPFLAGS="-I${LOCALBASE}/include" \ blob - /dev/null file + net/wget/patches/patch-tests_Makefile_in (mode 644) --- /dev/null +++ net/wget/patches/patch-tests_Makefile_in @@ -0,0 +1,27 @@ +Our make(1) treats ./unit-tests and unit-tests as distinct targets. + +Index: tests/Makefile.in +--- tests/Makefile.in.orig ++++ tests/Makefile.in +@@ -2158,7 +2158,7 @@ AM_CPPFLAGS = -I$(top_builddir)/lib -I$(top_srcdir)/li + + AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS) + CLEANFILES = *~ *.bak core core.[0-9]* +-TESTS = ./unit-tests$(EXEEXT) $(PX_TESTS) ++TESTS = unit-tests$(EXEEXT) $(PX_TESTS) + TEST_EXTENSIONS = .px + PX_LOG_COMPILER = $(PERL) + AM_PX_LOG_FLAGS = -I$(srcdir) +@@ -2429,9 +2429,9 @@ recheck: all $(check_PROGRAMS) + am__force_recheck=am--force-recheck \ + TEST_LOGS="$$log_list"; \ + exit $$? +-./unit-tests.log: ./unit-tests$(EXEEXT) +- @p='./unit-tests$(EXEEXT)'; \ +- b='./unit-tests'; \ ++unit-tests.log: unit-tests$(EXEEXT) ++ @p='unit-tests$(EXEEXT)'; \ ++ b='unit-tests'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ -- Christian "naddy" Weisgerber na...@mips.inka.de