From: Jan Beulich Date: Tue, 27 Feb 2024 13:09:37 +0000 (+0100) Subject: build: make sure build fails when running kconfig fails X-Git-Tag: RELEASE-4.17.4~92 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=ea869977271f93945451908be9b6117ffd1fb02d;p=xen.git build: make sure build fails when running kconfig fails Because of using "-include", failure to (re)build auto.conf (with auto.conf.cmd produced as a secondary target) won't stop make from continuing the build. Arrange for it being possible to drop the - from Rules.mk, requiring that the include be skipped for tools-only targets. Note that relying on the inclusion in those cases wouldn't be correct anyway, as it might be a stale file (yet to be rebuilt) which would be included, while during initial build, the file would be absent altogether. Fixes: 8d4c17a90b0a ("xen/build: silence make warnings about missing auto.conf*") Reported-by: Roger Pau Monné Signed-off-by: Jan Beulich Reviewed-by: Anthony PERARD master commit: d34e5fa2e8db19f23081f46a3e710bb122130691 master date: 2024-02-22 11:52:47 +0100 --- diff --git a/xen/Makefile b/xen/Makefile index 7ea13a6791..bac3684a36 100644 --- a/xen/Makefile +++ b/xen/Makefile @@ -374,6 +374,7 @@ $(KCONFIG_CONFIG): tools_fixdep # This exploits the 'multi-target pattern rule' trick. # The syncconfig should be executed only once to make all the targets. include/config/%.conf include/config/%.conf.cmd: $(KCONFIG_CONFIG) + $(Q)rm -f include/config/auto.conf $(Q)$(MAKE) $(build)=tools/kconfig syncconfig ifeq ($(CONFIG_DEBUG),y) diff --git a/xen/Rules.mk b/xen/Rules.mk index 8af3dd7277..d759cccee3 100644 --- a/xen/Rules.mk +++ b/xen/Rules.mk @@ -15,7 +15,9 @@ srcdir := $(srctree)/$(src) PHONY := __build __build: --include $(objtree)/include/config/auto.conf +ifneq ($(firstword $(subst /, ,$(obj))),tools) +include $(objtree)/include/config/auto.conf +endif include $(XEN_ROOT)/Config.mk include $(srctree)/scripts/Kbuild.include