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'." This breaks when the build target is 'tools', so add an exception for just that target. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: If29c3a84c7c82ea099ef9610f4ecaa599f0d8649 Reviewed-on: https://review.coreboot.org/c/coreboot/+/59607 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <felixsinger@posteo.net>
This commit is contained in:
parent
55d0f40734
commit
4d7285df1d
14
Makefile
14
Makefile
|
@ -31,6 +31,7 @@ KCONFIG_TRISTATE := $(obj)/tristate.conf
|
||||||
KCONFIG_NEGATIVES := 1
|
KCONFIG_NEGATIVES := 1
|
||||||
KCONFIG_STRICT := 1
|
KCONFIG_STRICT := 1
|
||||||
KCONFIG_PACKAGE := CB.Config
|
KCONFIG_PACKAGE := CB.Config
|
||||||
|
KCONFIG_MAKEFILE_REAL ?= $(objk)/Makefile.real
|
||||||
|
|
||||||
COREBOOT_EXPORTS += KCONFIG_CONFIG KCONFIG_AUTOHEADER KCONFIG_AUTOCONFIG
|
COREBOOT_EXPORTS += KCONFIG_CONFIG KCONFIG_AUTOHEADER KCONFIG_AUTOCONFIG
|
||||||
COREBOOT_EXPORTS += KCONFIG_DEPENDENCIES KCONFIG_SPLITCONFIG KCONFIG_TRISTATE
|
COREBOOT_EXPORTS += KCONFIG_DEPENDENCIES KCONFIG_SPLITCONFIG KCONFIG_TRISTATE
|
||||||
|
@ -44,6 +45,7 @@ CONFIG_SHELL := sh
|
||||||
KBUILD_DEFCONFIG := configs/defconfig
|
KBUILD_DEFCONFIG := configs/defconfig
|
||||||
UNAME_RELEASE := $(shell uname -r)
|
UNAME_RELEASE := $(shell uname -r)
|
||||||
HAVE_DOTCONFIG := $(wildcard $(DOTCONFIG))
|
HAVE_DOTCONFIG := $(wildcard $(DOTCONFIG))
|
||||||
|
HAVE_KCONFIG_MAKEFILE_REAL := $(wildcard $(KCONFIG_MAKEFILE_REAL))
|
||||||
MAKEFLAGS += -rR --no-print-directory
|
MAKEFLAGS += -rR --no-print-directory
|
||||||
|
|
||||||
# Make is silent per default, but 'make V=1' will show all compiler calls.
|
# Make is silent per default, but 'make V=1' will show all compiler calls.
|
||||||
|
@ -87,14 +89,20 @@ help_coreboot help::
|
||||||
# Order _does_ matter for pattern rules.
|
# Order _does_ matter for pattern rules.
|
||||||
include $(srck)/Makefile.inc
|
include $(srck)/Makefile.inc
|
||||||
|
|
||||||
# Three cases where we don't need fully populated $(obj) lists:
|
# The cases where we don't need fully populated $(obj) lists:
|
||||||
# 1. when no .config exists
|
# 1. when no .config exists
|
||||||
# 2. when make config (in any flavour) is run
|
# 2. When no $(obj)/util/kconfig/Makefile.real exists and we're building tools
|
||||||
# 3. when make distclean is run
|
# 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
|
# Don't waste time on reading all Makefile.incs in these cases
|
||||||
ifeq ($(strip $(HAVE_DOTCONFIG)),)
|
ifeq ($(strip $(HAVE_DOTCONFIG)),)
|
||||||
NOCOMPILE:=1
|
NOCOMPILE:=1
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(strip $(HAVE_KCONFIG_MAKEFILE_REAL)),)
|
||||||
|
ifneq ($(MAKECMDGOALS),tools)
|
||||||
|
NOCOMPILE:=1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
ifneq ($(MAKECMDGOALS),)
|
ifneq ($(MAKECMDGOALS),)
|
||||||
ifneq ($(filter %config %clean cross% clang iasl lint% help% what-jenkins-does,$(MAKECMDGOALS)),)
|
ifneq ($(filter %config %clean cross% clang iasl lint% help% what-jenkins-does,$(MAKECMDGOALS)),)
|
||||||
NOCOMPILE:=1
|
NOCOMPILE:=1
|
||||||
|
|
Loading…
Reference in New Issue