diff options
author | Sam Ravnborg <sam@mars.ravnborg.org> | 2005-12-26 17:34:03 -0500 |
---|---|---|
committer | Sam Ravnborg <sam@mars.ravnborg.org> | 2005-12-26 17:34:03 -0500 |
commit | 752625cff3eba81cbc886988d5b420064c033948 (patch) | |
tree | 10281d9345281b3d118aa8b29b3fb21e1ea10655 /Makefile | |
parent | 54e08a2392e99ba9e48ce1060e0b52a39118419c (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-- | Makefile | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -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 | ||
482 | include .config | 482 | include .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. |
491 | include/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 | ||
493 | include/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 |
494 | else | 496 | else |