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: 8d4c17a90b ("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>
This commit is contained in:
Jan Beulich committed 2024-02-22 11:52:47 +01:00
1 parent bb1619ed4f
commit d34e5fa2e8
2 files changed
+4 -1

No files matched your search

+1
View File
@@ -375,6 +375,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)
+3 -1
View 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
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.