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

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

    From c5c0e7a90eb37d75b8bbca3cac412df1cb1ab911 Mon Sep 17 00:00:00 2001
    From: Nicolas Boulenguez <nicolas@debian.org>
    Date: Mon, 29 Jul 2019 14:38:32 +0200
    Subject: [PATCH 02/11] scripts/mk: protect files against double inclusion

    Architecture.mk is included by default.mk the by buildtools.mk.
    Buildapi.mk is included by default.mk and vendor.mk.
    ---
    scripts/mk/architecture.mk | 5 +++++
    scripts/mk/buildapi.mk | 5 +++++
    scripts/mk/buildflags.mk | 6 ++++++
    scripts/mk/buildopts.mk | 5 +++++
    scripts/mk/buildtools.mk | 5 +++++
    scripts/mk/default.mk | 5 +++++
    scripts/mk/pkg-info.mk | 5 +++++
    scripts/mk/vendor.mk | 5 +++++
    8 files changed, 41 insertions(+)

    diff --git a/scripts/mk/architecture.mk b/scripts/mk/architecture.mk
    index c11cada16..1565903c4 100644
    --- a/scripts/mk/architecture.mk
    +++ b/scripts/mk/architecture.mk
    @@ -2,6 +2,9 @@
    # DEB_BUILD_* variables that dpkg-architecture can return. Existing values
    # of those variables are preserved as per policy.

    +ifndef /usr/share/dpkg/architecture.mk_included +/usr/share/dpkg/architecture.mk_included = yes
    +
    dpkg_lazy_eval ?= $$(or $$(value DPKG_CACHE_$(1)),$$(eval DPKG_CACHE_$(1) := $$(shell $(2)))$$(value DPKG_CACHE_$(1)))

    dpkg_architecture_setvar = export $(1) ?= $(call dpkg_lazy_eval,$(1),dpkg-architecture -q$(1))
    @@ -9,3 +12,5 @@ dpkg_arc