提交 752625cf 编写于 作者: S Sam Ravnborg

kbuild: always run 'make silentoldconfig' when tree is cleaned

If the file .kconfig.d is missing then make sure to run
'make silentoldconfig', since we have no way to detect if
a Kconfig file has been updated.

-kconfig.d is created by kconfig and is removed as part
of 'make clean' so the situation is likely to occur in reality.

Jan Beulich <JBeulich@novell.com> reported this bug.
Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
上级 54e08a23
...@@ -477,18 +477,20 @@ ifeq ($(dot-config),1) ...@@ -477,18 +477,20 @@ ifeq ($(dot-config),1)
# Read in dependencies to all Kconfig* files, make sure to run # Read in dependencies to all Kconfig* files, make sure to run
# oldconfig if changes are detected. # oldconfig if changes are detected.
-include .config.cmd -include .kconfig.d
include .config include .config
# If .config needs to be updated, it will be done via the dependency # If .config needs to be updated, it will be done via the dependency
# that autoconf has on .config. # that autoconf has on .config.
# To avoid any implicit rule to kick in, define an empty command # To avoid any implicit rule to kick in, define an empty command
.config: ; .config .kconfig.d: ;
# If .config is newer than include/linux/autoconf.h, someone tinkered # If .config is newer than include/linux/autoconf.h, someone tinkered
# with it and forgot to run make oldconfig # with it and forgot to run make oldconfig.
include/linux/autoconf.h: .config # If kconfig.d is missing then we are probarly in a cleaned tree so
# we execute the config step to be sure to catch updated Kconfig files
include/linux/autoconf.h: .kconfig.d .config
$(Q)mkdir -p include/linux $(Q)mkdir -p include/linux
$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
else else
......
...@@ -33,7 +33,7 @@ int file_write_dep(const char *name) ...@@ -33,7 +33,7 @@ int file_write_dep(const char *name)
FILE *out; FILE *out;
if (!name) if (!name)
name = ".config.cmd"; name = ".kconfig.d";
out = fopen("..config.tmp", "w"); out = fopen("..config.tmp", "w");
if (!out) if (!out)
return 1; return 1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册