Martin Roth has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/59607 )
Change subject: Makefile: Add util/kconfig/Makefile.real to nocompile list ......................................................................
Makefile: Add util/kconfig/Makefile.real to nocompile list
Messages shown with the $(info Make command could be shown twice because the entire Makefile stack was evaluated twice at MAKELEVEL 0. The first time was to generate the build/util/kconfig/Makefile.real file. The second time was to do the rest of the build. Adding the kconfig Makefile.real file to the nocompile list prevents all the rest of the coreboot makefiles from being read in during that first step, which prevents the messages from being printed twice.
You can see this behavior by running "make clean; make -d" and searching for the text: "Successfully remade target file 'build/util/kconfig/Makefile.real'."
Signed-off-by: Martin Roth gaumless@gmail.com Change-Id: If29c3a84c7c82ea099ef9610f4ecaa599f0d8649 --- M Makefile 1 file changed, 9 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/07/59607/1
diff --git a/Makefile b/Makefile index c148c11..ba20111 100644 --- a/Makefile +++ b/Makefile @@ -42,6 +42,7 @@ KCONFIG_NEGATIVES := 1 KCONFIG_STRICT := 1 KCONFIG_PACKAGE := CB.Config +KCONFIG_MAKEFILE_REAL ?= $(obj)/util/kconfig/Makefile.real
COREBOOT_EXPORTS += KCONFIG_CONFIG KCONFIG_AUTOHEADER KCONFIG_AUTOCONFIG COREBOOT_EXPORTS += KCONFIG_DEPENDENCIES KCONFIG_SPLITCONFIG KCONFIG_TRISTATE @@ -55,6 +56,7 @@ KBUILD_DEFCONFIG := configs/defconfig UNAME_RELEASE := $(shell uname -r) HAVE_DOTCONFIG := $(wildcard $(DOTCONFIG)) +HAVE_KCONFIG_MAKEFILE_REAL := $(wildcard $(KCONFIG_MAKEFILE_REAL)) MAKEFLAGS += -rR --no-print-directory
# Make is silent per default, but 'make V=1' will show all compiler calls. @@ -103,14 +105,18 @@ # Order _does_ matter for pattern rules. include $(srck)/Makefile.inc
-# Three cases where we don't need fully populated $(obj) lists: +# Four cases where we don't need fully populated $(obj) lists: # 1. when no .config exists -# 2. when make config (in any flavour) is run -# 3. when make distclean is run +# 2. When no $(obj)/util/kconfig/Makefile.real exists +# 3. when make config (in any flavour) is run +# 4. when make distclean is run # Don't waste time on reading all Makefile.incs in these cases ifeq ($(strip $(HAVE_DOTCONFIG)),) NOCOMPILE:=1 endif +ifeq ($(strip $(HAVE_KCONFIG_MAKEFILE_REAL)),) +NOCOMPILE:=1 +endif ifneq ($(MAKECMDGOALS),) ifneq ($(filter %config %clean cross% clang iasl lint% help% what-jenkins-does,$(MAKECMDGOALS)),) NOCOMPILE:=1