• Bug#872381: dpkg-dev: optimize Makefile snippets for debian/rules (6/7)

    From Nicolas Boulenguez@1:229/2 to All on Mon Mar 11 06:50:01 2024
    [continued from previous message]

    - 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..166c95548 100644
    --- a/scripts/t/mk/buildflags.mk
    +++ b/scripts/t/mk/buildflags.mk
    @@ -1,26 +1,37 @@
    DEB_CPPFLAGS_MAINT_APPEND = -DTEST_MK=test-host
    DEB_CPPFLAGS_FOR_BUILD_MAINT_APPEND = -DTEST_MK=test-build +DEB_CXXFLAGS_MAINT_SET := set
    +DEB_CXXFLAGS_FOR_BUILD_MAINT_SET := set-build
    +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 "$(FFLAG