diff options
author | Sam Ravnborg <sam@mars.ravnborg.org> | 2005-12-26 23:34:03 +0100 |
---|---|---|
committer | Sam Ravnborg <sam@mars.ravnborg.org> | 2005-12-26 23:34:03 +0100 |
commit | 752625cff3eba81cbc886988d5b420064c033948 (patch) | |
tree | 10281d9345281b3d118aa8b29b3fb21e1ea10655 | |
parent | 54e08a2392e99ba9e48ce1060e0b52a39118419c (diff) | |
download | linux-752625cff3eba81cbc886988d5b420064c033948.tar.bz2 |
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>
-rw-r--r-- | Makefile | 10 | ||||
-rw-r--r-- | scripts/kconfig/util.c | 2 |
2 files changed, 7 insertions, 5 deletions
@@ -477,18 +477,20 @@ ifeq ($(dot-config),1) # Read in dependencies to all Kconfig* files, make sure to run # oldconfig if changes are detected. --include .config.cmd +-include .kconfig.d include .config # If .config needs to be updated, it will be done via the dependency # that autoconf has on .config. # 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 -# with it and forgot to run make oldconfig -include/linux/autoconf.h: .config +# with it and forgot to run make oldconfig. +# 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)$(MAKE) -f $(srctree)/Makefile silentoldconfig else diff --git a/scripts/kconfig/util.c b/scripts/kconfig/util.c index 1fa4c0b801b3..a711007ebe30 100644 --- a/scripts/kconfig/util.c +++ b/scripts/kconfig/util.c @@ -33,7 +33,7 @@ int file_write_dep(const char *name) FILE *out; if (!name) - name = ".config.cmd"; + name = ".kconfig.d"; out = fopen("..config.tmp", "w"); if (!out) return 1; |