From 7a1fbdb1e61dbb76daf53f3ac291eed3a36dfb42 Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Wed, 23 Aug 2017 23:48:13 +0200 Subject: Makefile: Keep list of exported variables This can be useful to unexport them later. Change-Id: I2ce9eff32d817ec190441550116376843abd1c11 Signed-off-by: Nico Huber Reviewed-on: https://review.coreboot.org/21162 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi Reviewed-by: Paul Menzel --- Makefile | 38 ++++++++++++++++++++++---------------- Makefile.inc | 22 ++++++++++++++-------- 2 files changed, 36 insertions(+), 24 deletions(-) diff --git a/Makefile b/Makefile index 343ec650f3..4d763403c3 100644 --- a/Makefile +++ b/Makefile @@ -30,24 +30,31 @@ ## SUCH DAMAGE. ## -export top := $(CURDIR) -export src := src -export srck := $(top)/util/kconfig +top := $(CURDIR) +src := src +srck := $(top)/util/kconfig obj ?= build override obj := $(subst $(top)/,,$(abspath $(obj))) -export obj -export objutil ?= $(obj)/util -export objk := $(objutil)/kconfig +objutil ?= $(obj)/util +objk := $(objutil)/kconfig absobj := $(abspath $(obj)) +COREBOOT_EXPORTS := COREBOOT_EXPORTS +COREBOOT_EXPORTS += top src srck obj objutil objk -export KCONFIG_AUTOHEADER := $(obj)/config.h -export KCONFIG_AUTOCONFIG := $(obj)/auto.conf -export KCONFIG_DEPENDENCIES := $(obj)/auto.conf.cmd -export KCONFIG_SPLITCONFIG := $(obj)/config -export KCONFIG_TRISTATE := $(obj)/tristate.conf -export KCONFIG_NEGATIVES := 1 -export KCONFIG_STRICT := 1 +DOTCONFIG ?= $(top)/.config +KCONFIG_CONFIG = $(DOTCONFIG) +KCONFIG_AUTOHEADER := $(obj)/config.h +KCONFIG_AUTOCONFIG := $(obj)/auto.conf +KCONFIG_DEPENDENCIES := $(obj)/auto.conf.cmd +KCONFIG_SPLITCONFIG := $(obj)/config +KCONFIG_TRISTATE := $(obj)/tristate.conf +KCONFIG_NEGATIVES := 1 +KCONFIG_STRICT := 1 + +COREBOOT_EXPORTS += KCONFIG_CONFIG KCONFIG_AUTOHEADER KCONFIG_AUTOCONFIG +COREBOOT_EXPORTS += KCONFIG_DEPENDENCIES KCONFIG_SPLITCONFIG KCONFIG_TRISTATE +COREBOOT_EXPORTS += KCONFIG_NEGATIVES KCONFIG_STRICT # directory containing the toplevel Makefile.inc TOPLEVEL := . @@ -55,9 +62,6 @@ TOPLEVEL := . CONFIG_SHELL := sh KBUILD_DEFCONFIG := configs/defconfig UNAME_RELEASE := $(shell uname -r) -DOTCONFIG ?= $(top)/.config -KCONFIG_CONFIG = $(DOTCONFIG) -export KCONFIG_CONFIG HAVE_DOTCONFIG := $(wildcard $(DOTCONFIG)) MAKEFLAGS += -rR --no-print-directory @@ -82,6 +86,8 @@ PREPROCESS_ONLY := -E -P -x assembler-with-cpp -undef -I . DOXYGEN := doxygen DOXYGEN_OUTPUT_DIR := doxygen +export $(COREBOOT_EXPORTS) + all: real-all help_coreboot help:: diff --git a/Makefile.inc b/Makefile.inc index ca9711d27b..88a9a63ce7 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -29,33 +29,35 @@ CONFIG_DEVICETREE:=$(call strip_quotes, $(CONFIG_DEVICETREE)) # misleadingly named, this is the coreboot version ifeq ($(KERNELVERSION),) ifeq ($(BUILD_TIMELESS),1) -export KERNELVERSION := TIMELESS +KERNELVERSION := TIMELESS else -export KERNELVERSION := $(strip $(if $(GIT),\ +KERNELVERSION := $(strip $(if $(GIT),\ $(shell git describe --dirty --always || git describe),\ $(if $(wildcard $(top)/.coreboot-version),\ $(shell cat $(top)/.coreboot-version),\ coreboot-unknown$(KERNELREVISION)))) endif endif +COREBOOT_EXPORTS += KERNELVERSION ####################################################################### # Basic component discovery MAINBOARDDIR=$(call strip_quotes,$(CONFIG_MAINBOARD_DIR)) VARIANT_DIR:=$(call strip_quotes,$(CONFIG_VARIANT_DIR)) -export MAINBOARDDIR -export VARIANT_DIR +COREBOOT_EXPORTS += MAINBOARDDIR VARIANT_DIR ## Final build results, which CBFSTOOL uses to create the final ## rom image file, are placed under $(objcbfs). ## These typically have suffixes .debug .elf .bin and .map -export objcbfs := $(obj)/cbfs/$(CONFIG_CBFS_PREFIX) +objcbfs := $(obj)/cbfs/$(CONFIG_CBFS_PREFIX) +COREBOOT_EXPORTS += objcbfs ## Based on the active configuration, Makefile conditionally collects ## the required assembly includes and saves them in a file. ## Such files that do not have a clear one-to-one relation to a source ## file under src/ are placed and built under $(objgenerated) -export objgenerated := $(obj)/generated +objgenerated := $(obj)/generated +COREBOOT_EXPORTS += objgenerated ####################################################################### # root rule to resolve if in build mode (ie. configuration exists) @@ -195,7 +197,8 @@ ifeq ($(CONFIG_USE_BLOBS),y) # unless explicitly requested and enabled through --checkout forgetthis:=$(if $(GIT),$(shell git submodule update --init --checkout 3rdparty/blobs)) endif -export UPDATED_SUBMODULES:=1 +UPDATED_SUBMODULES:=1 +COREBOOT_EXPORTS += UPDATED_SUBMODULES endif postcar-c-deps:=$$(OPTION_TABLE_H) @@ -347,7 +350,8 @@ CBFS_PRERAM_COMPRESS_FLAG:=LZ4 endif ifneq ($(CONFIG_LOCALVERSION),"") -export COREBOOT_EXTRA_VERSION := -$(call strip_quotes,$(CONFIG_LOCALVERSION)) +COREBOOT_EXTRA_VERSION := -$(call strip_quotes,$(CONFIG_LOCALVERSION)) +COREBOOT_EXPORTS += COREBOOT_EXTRA_VERSION endif CPPFLAGS_common := -Isrc -Isrc/include -Isrc/commonlib/include -I$(obj) @@ -437,6 +441,8 @@ additional-dirs := $(objutil)/cbfstool $(objutil)/romcc $(objutil)/ifdtool \ $(objutil)/ifdfake $(objutil)/options $(objutil)/amdfwtool \ $(objutil)/cbootimage $(objutil)/bimgtool +export $(COREBOOT_EXPORTS) + ####################################################################### # generate build support files $(obj)/build.h: .xcompile -- cgit v1.2.3