mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 19:26:25 +00:00
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: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
parent
54e08a2392
commit
752625cff3
2 changed files with 7 additions and 5 deletions
10
Makefile
10
Makefile
|
@ -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)
|
||||||
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;
|
||||||
|
|
Loading…
Reference in a new issue