OSDN Git Service

kbuild: invoke syncconfig if autoconf.h is missing
authorMasahiro Yamada <masahiroy@kernel.org>
Fri, 1 May 2020 06:01:41 +0000 (15:01 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Mon, 25 May 2020 15:03:15 +0000 (00:03 +0900)
If include/generated/autoconf.h is accidentally lost somehow,
there is no clear way to fix it. Make it self-healing.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Makefile

index faec37f..e329bd4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -698,7 +698,7 @@ $(KCONFIG_CONFIG):
 # This exploits the 'multi-target pattern rule' trick.
 # The syncconfig should be executed only once to make all the targets.
 # (Note: use the grouped target '&:' when we bump to GNU Make 4.3)
-%/auto.conf %/auto.conf.cmd: $(KCONFIG_CONFIG)
+%/config/auto.conf %/config/auto.conf.cmd %/generated/autoconf.h: $(KCONFIG_CONFIG)
        $(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
 else # !may-sync-config
 # External modules and some install targets need include/generated/autoconf.h
@@ -1148,7 +1148,8 @@ scripts: scripts_basic scripts_dtc
 PHONY += prepare archprepare
 
 archprepare: outputmakefile archheaders archscripts scripts include/config/kernel.release \
-       asm-generic $(version_h) $(autoksyms_h) include/generated/utsrelease.h
+       asm-generic $(version_h) $(autoksyms_h) include/generated/utsrelease.h \
+       include/generated/autoconf.h
 
 prepare0: archprepare
        $(Q)$(MAKE) $(build)=scripts/mod