commit 2fca4b624bd3ceb8c756b4145c7e96aa032b2b98 Author: Florian Weimer Date: Wed Jun 4 17:44:19 2025 +0200 Makefile: Avoid $(objpfx)/ in makefiles If paths with both $(objpfx)/ and $(objpfx) (which already includes a trailing slash) appear during the build, this can trigger unexpected rebuilds, or incorrect concurrent rebuilds. Conflicts: elf/Makefile: Adjust for missing test in context lines. diff --git a/elf/Makefile b/elf/Makefile index 3a50ca90366aec94..86d4dd9960088ee1 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -1165,11 +1165,11 @@ $(objpfx)$(1).generated-makefile: $(objpfx)$(1) endef endif -postclean-generated += $(objpfx)/dso-sort-tests-1.generated-makefile \ - $(objpfx)/dso-sort-tests-2.generated-makefile \ - $(objpfx)/dso-sort-tests-all2.generated-makefile \ - $(objpfx)/dso-sort-tests-all3.generated-makefile \ - $(objpfx)/dso-sort-tests-all4.generated-makefile +postclean-generated += $(objpfx)dso-sort-tests-1.generated-makefile \ + $(objpfx)dso-sort-tests-2.generated-makefile \ + $(objpfx)dso-sort-tests-all2.generated-makefile \ + $(objpfx)dso-sort-tests-all3.generated-makefile \ + $(objpfx)dso-sort-tests-all4.generated-makefile # Generate from each testcase description file ifeq (yes,$(have-tunables)) @@ -2757,7 +2757,7 @@ $(objpfx)tst-ro-dynamic-mod.so: $(objpfx)tst-ro-dynamic-mod.os \ -Wl,--script=tst-ro-dynamic-mod.map \ $(objpfx)tst-ro-dynamic-mod.os -$(objpfx)tst-rtld-run-static.out: $(objpfx)/ldconfig +$(objpfx)tst-rtld-run-static.out: $(objpfx)ldconfig $(objpfx)tst-tls-allocation-failure-static-patched: \ $(objpfx)tst-tls-allocation-failure-static $(..)scripts/tst-elf-edit.py diff --git a/nss/Makefile b/nss/Makefile index 62a68880198c243c..dbdba5bf815136ef 100644 --- a/nss/Makefile +++ b/nss/Makefile @@ -191,39 +191,39 @@ libof-nss_test1 = extramodules libof-nss_test2 = extramodules libof-nss_test_errno = extramodules libof-nss_test_gai_hv2_canonname = extramodules -$(objpfx)/libnss_test1.so: $(objpfx)nss_test1.os $(link-libc-deps) +$(objpfx)libnss_test1.so: $(objpfx)nss_test1.os $(link-libc-deps) $(build-module) -$(objpfx)/libnss_test2.so: $(objpfx)nss_test2.os $(link-libc-deps) +$(objpfx)libnss_test2.so: $(objpfx)nss_test2.os $(link-libc-deps) $(build-module) -$(objpfx)/libnss_test_errno.so: $(objpfx)nss_test_errno.os $(link-libc-deps) +$(objpfx)libnss_test_errno.so: $(objpfx)nss_test_errno.os $(link-libc-deps) $(build-module) -$(objpfx)/libnss_test_gai_hv2_canonname.so: \ +$(objpfx)libnss_test_gai_hv2_canonname.so: \ $(objpfx)nss_test_gai_hv2_canonname.os $(link-libc-deps) $(build-module) $(objpfx)nss_test2.os : nss_test1.c # Use the nss_files suffix for these objects as well. -$(objpfx)/libnss_test1.so$(libnss_files.so-version): $(objpfx)/libnss_test1.so +$(objpfx)libnss_test1.so$(libnss_files.so-version): $(objpfx)libnss_test1.so $(make-link) -$(objpfx)/libnss_test2.so$(libnss_files.so-version): $(objpfx)/libnss_test2.so +$(objpfx)libnss_test2.so$(libnss_files.so-version): $(objpfx)libnss_test2.so $(make-link) -$(objpfx)/libnss_test_errno.so$(libnss_files.so-version): \ - $(objpfx)/libnss_test_errno.so +$(objpfx)libnss_test_errno.so$(libnss_files.so-version): \ + $(objpfx)libnss_test_errno.so $(make-link) -$(objpfx)/libnss_test_gai_hv2_canonname.so$(libnss_files.so-version): \ - $(objpfx)/libnss_test_gai_hv2_canonname.so +$(objpfx)libnss_test_gai_hv2_canonname.so$(libnss_files.so-version): \ + $(objpfx)libnss_test_gai_hv2_canonname.so $(make-link) $(patsubst %,$(objpfx)%.out,$(tests) $(tests-container)) : \ - $(objpfx)/libnss_test1.so$(libnss_files.so-version) \ - $(objpfx)/libnss_test2.so$(libnss_files.so-version) \ - $(objpfx)/libnss_test_errno.so$(libnss_files.so-version) \ - $(objpfx)/libnss_test_gai_hv2_canonname.so$(libnss_files.so-version) + $(objpfx)libnss_test1.so$(libnss_files.so-version) \ + $(objpfx)libnss_test2.so$(libnss_files.so-version) \ + $(objpfx)libnss_test_errno.so$(libnss_files.so-version) \ + $(objpfx)libnss_test_gai_hv2_canonname.so$(libnss_files.so-version) ifeq (yes,$(have-thread-library)) $(objpfx)tst-cancel-getpwuid_r: $(shared-thread-library) endif -$(objpfx)tst-nss-files-alias-leak.out: $(objpfx)/libnss_files.so -$(objpfx)tst-nss-files-alias-truncated.out: $(objpfx)/libnss_files.so +$(objpfx)tst-nss-files-alias-leak.out: $(objpfx)libnss_files.so +$(objpfx)tst-nss-files-alias-truncated.out: $(objpfx)libnss_files.so tst-nss-gai-hv2-canonname-ENV = \ MALLOC_TRACE=$(objpfx)tst-nss-gai-hv2-canonname.mtrace \