summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile38
-rw-r--r--Makefile.inc22
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