]> xenbits.xensource.com Git - xen.git/commitdiff
build: make sure build fails when running kconfig fails
authorJan Beulich <jbeulich@suse.com>
Tue, 27 Feb 2024 13:09:37 +0000 (14:09 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 27 Feb 2024 13:09:37 +0000 (14:09 +0100)
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é <roger.pau@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
master commit: d34e5fa2e8db19f23081f46a3e710bb122130691
master date: 2024-02-22 11:52:47 +0100

xen/Makefile
xen/Rules.mk

index 7ea13a67912cb66edf9004dcc86c6c65b1432693..bac3684a3630bc238c180b47d2ee44e363862e60 100644 (file)
@@ -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)
index 8af3dd727729a833a6819b6e376f116098dd3307..d759cccee3716b60787762e656d56d846b72b5a6 100644 (file)
@@ -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