aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorSam Ravnborg <sam@mars.ravnborg.org>2005-12-26 17:34:03 -0500
committerSam Ravnborg <sam@mars.ravnborg.org>2005-12-26 17:34:03 -0500
commit752625cff3eba81cbc886988d5b420064c033948 (patch)
tree10281d9345281b3d118aa8b29b3fb21e1ea10655 /Makefile
parent54e08a2392e99ba9e48ce1060e0b52a39118419c (diff)
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>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile10
1 files changed, 6 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 922c7633797f..d3598ef3c777 100644
--- a/Makefile
+++ b/Makefile
@@ -477,18 +477,20 @@ ifeq ($(dot-config),1)
477 477
478# Read in dependencies to all Kconfig* files, make sure to run 478# Read in dependencies to all Kconfig* files, make sure to run
479# oldconfig if changes are detected. 479# oldconfig if changes are detected.
480-include .config.cmd 480-include .kconfig.d
481 481
482include .config 482include .config
483 483
484# If .config needs to be updated, it will be done via the dependency 484# If .config needs to be updated, it will be done via the dependency
485# that autoconf has on .config. 485# that autoconf has on .config.
486# To avoid any implicit rule to kick in, define an empty command 486# To avoid any implicit rule to kick in, define an empty command
487.config: ; 487.config .kconfig.d: ;
488 488
489# If .config is newer than include/linux/autoconf.h, someone tinkered 489# If .config is newer than include/linux/autoconf.h, someone tinkered
490# with it and forgot to run make oldconfig 490# with it and forgot to run make oldconfig.
491include/linux/autoconf.h: .config 491# If kconfig.d is missing then we are probarly in a cleaned tree so
492# we execute the config step to be sure to catch updated Kconfig files
493include/linux/autoconf.h: .kconfig.d .config
492 $(Q)mkdir -p include/linux 494 $(Q)mkdir -p include/linux
493 $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig 495 $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
494else 496else