Bug#872381: dpkg-dev: optimize Makefile snippets for debian/rules (3/6)
From
Nicolas Boulenguez@1:229/2 to
All on Mon Mar 4 16:50:01 2024
[continued from previous message]
- test "$(DEB_TARGET_GNU_TYPE)" = "$(TEST_DEB_TARGET_GNU_TYPE)"
- test "$(DEB_TARGET_MULTIARCH)" = "$(TEST_DEB_TARGET_MULTIARCH)"
+vars := $(foreach machine,BUILD HOST TARGET,$(foreach var,\
+ ARCH \
+ ARCH_ABI \
+ ARCH_BITS \
+ ARCH_CPU \
+ ARCH_ENDIAN \
+ ARCH_LIBC \
+ ARCH_OS \
+ GNU_CPU \
+ GNU_SYSTEM \
+ GNU_TYPE \
+ MULTIARCH \
+ ,DEB_$(machine)_$(var)))
+loop_targets := $(filter-out DEB_BUILD_ARCH,$(vars))
+
+test: $(loop_targets)
+ test '$(DEB_BUILD_ARCH)' = 'overridden'
+ test "$${DEB_BUILD_ARCH}" = 'overridden'
+
+$(loop_targets):
+ # Test the Make variable.
+ test '$($@)' = '$(TEST_$@)'
+ # Test the exported shell variable.
+ test "$${$@}" = '$(TEST_$@)'
diff --git a/scripts/t/mk/buildflags.mk b/scripts/t/mk/buildflags.mk
index 94d85a7e0..44d312adc 100644
--- a/scripts/t/mk/buildflags.mk
+++ b/scripts/t/mk/buildflags.mk
@@ -1,26 +1,36 @@
DEB_CPPFLAGS_MAINT_APPEND = -DTEST_MK=test-host
DEB_CPPFLAGS_FOR_BUILD_MAINT_APPEND = -DTEST_MK=test-build +DEB_CXXFLAGS_MAINT_SET := set
+DPKG_EXPORT_BUILDFLAGS := 1
include $(srcdir)/mk/buildflags.mk
-test:
- test "$(ASFLAGS)" = "$(TEST_ASFLAGS)"
- test "$(ASFLAGS_FOR_BUILD)" = "$(TEST_ASFLAGS_FOR_BUILD)"
- test "$(CFLAGS)" = "$(TEST_CFLAGS)"
- test "$(CFLAGS_FOR_BUILD)" = "$(TEST_CFLAGS_FOR_BUILD)"
- test "$(CPPFLAGS)" = "$(TEST_CPPFLAGS) -DTEST_MK=test-host"
- test "$(CPPFLAGS_FOR_BUILD)" = "$(TEST_CPPFLAGS_FOR_BUILD)-DTEST_MK=test-build"
- test "$(CXXFLAGS)" = "$(TEST_CXXFLAGS)"
- test "$(CXXFLAGS_FOR_BUILD)" = "$(TEST_CXXFLAGS_FOR_BUILD)"
- test "$(DFLAGS)" = "$(TEST_DFLAGS)"
- test "$(DFLAGS_FOR_BUILD)" = "$(TEST_DFLAGS_FOR_BUILD)"
- test "$(FCFLAGS)" = "$(TEST_FCFLAGS)"
- test "$(FCFLAGS_FOR_BUILD)" = "$(TEST_FCFLAGS_FOR_BUILD)"
- test "$(FFLAGS)" = "$(TEST_FFLAGS)"
- test "$(FFLAGS_FOR_BUI