diff options
Diffstat (limited to 'scripts/mk/architecture.mk')
-rw-r--r-- | scripts/mk/architecture.mk | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/scripts/mk/architecture.mk b/scripts/mk/architecture.mk index 4f0559c..c2f6a05 100644 --- a/scripts/mk/architecture.mk +++ b/scripts/mk/architecture.mk @@ -6,16 +6,12 @@ ifndef dpkg_architecture_mk_included dpkg_architecture_mk_included = yes -dpkg_architecture_vars = \ -$(foreach machine,BUILD HOST TARGET,\ - $(foreach var,ARCH ARCH_ABI ARCH_LIBC ARCH_OS ARCH_CPU ARCH_BITS ARCH_ENDIAN GNU_CPU GNU_SYSTEM GNU_TYPE MULTIARCH,\ - DEB_$(machine)_$(var))) +dpkg_lazy_eval ?= $$(or $$(value DPKG_CACHE_$(1)),$$(eval DPKG_CACHE_$(1) := $$(shell $(2)))$$(value DPKG_CACHE_$(1))) -# dpkg-buildpackage sets all variables. Optimize this frequent case. -ifneq (,$(strip $(foreach v,$(dpkg_architecture_vars),$(if $(value $(v)),,1)))) - $(foreach line,$(subst =,?=,$(shell dpkg-architecture)),$(eval $(line))) -endif +dpkg_architecture_setvar = export $(1) ?= $(call dpkg_lazy_eval,$(1),dpkg-architecture -q$(1)) -export $(dpkg_architecture_vars) +$(foreach machine,BUILD HOST TARGET,\ + $(foreach var,ARCH ARCH_ABI ARCH_LIBC ARCH_OS ARCH_CPU ARCH_BITS ARCH_ENDIAN GNU_CPU GNU_SYSTEM GNU_TYPE MULTIARCH,\ + $(eval $(call dpkg_architecture_setvar,DEB_$(machine)_$(var))))) endif # dpkg_architecture_mk_included |