From 1cc6c54d9fd336ed611ccda87494515140db4909 Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Tue, 28 Nov 2023 12:08:45 +0100 Subject: build system: Exempt `make *config` from strict symbol checks The "config" targets exist to edit the .config file, and so they should be more forgiving with invalid configs (that they'll convert into valid configs on save). They will still emit warnings about invalid symbols, but not exit with an error. The regular build process still fails if the .config looks unexpected (for example when there's an unknown config flag). Change-Id: If427e075766c68d493dd406609f21b6bb27d1d74 Signed-off-by: Patrick Georgi Reviewed-on: https://review.coreboot.org/c/coreboot/+/79298 Reviewed-by: Mike Banon Reviewed-by: Felix Singer Tested-by: build bot (Jenkins) Reviewed-by: Martin L Roth --- Makefile | 9 ++++++--- util/kconfig/Makefile.inc | 2 -- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 5ed69330cc..d41dd4f32b 100644 --- a/Makefile +++ b/Makefile @@ -29,14 +29,17 @@ KCONFIG_DEPENDENCIES := $(obj)/auto.conf.cmd KCONFIG_SPLITCONFIG := $(obj)/config/ KCONFIG_TRISTATE := $(obj)/tristate.conf KCONFIG_NEGATIVES := 1 -KCONFIG_WERROR:= 1 -KCONFIG_WARN_UNKNOWN_SYMBOLS:= 1 +KCONFIG_WERROR := 1 +KCONFIG_WARN_UNKNOWN_SYMBOLS := 1 KCONFIG_PACKAGE := CB.Config KCONFIG_MAKEFILE_REAL ?= $(objk)/Makefile.real COREBOOT_EXPORTS += KCONFIG_CONFIG KCONFIG_AUTOHEADER KCONFIG_AUTOCONFIG COREBOOT_EXPORTS += KCONFIG_DEPENDENCIES KCONFIG_SPLITCONFIG KCONFIG_TRISTATE -COREBOOT_EXPORTS += KCONFIG_NEGATIVES KCONFIG_WERROR +COREBOOT_EXPORTS += KCONFIG_NEGATIVES +ifeq ($(filter %config,$(MAKECMDGOALS)),) +COREBOOT_EXPORTS += KCONFIG_WERROR +endif COREBOOT_EXPORTS += KCONFIG_WARN_UNKNOWN_SYMBOLS COREBOOT_EXPORTS += KCONFIG_AUTOADS KCONFIG_PACKAGE diff --git a/util/kconfig/Makefile.inc b/util/kconfig/Makefile.inc index 3a9f3530c0..83fad884b7 100644 --- a/util/kconfig/Makefile.inc +++ b/util/kconfig/Makefile.inc @@ -47,8 +47,6 @@ unexport KCONFIG_DEFCONFIG_LIST # Fill in Linux kconfig build rules to work -oldconfig: KCONFIG_STRICT= - savedefconfig: $(objk)/conf cp $(DOTCONFIG) $(DEFCONFIG) chmod +w $(DEFCONFIG) -- cgit v1.2.3