|author||Sam Ravnborg <email@example.com>||2005-12-26 23:34:03 +0100|
|committer||Sam Ravnborg <firstname.lastname@example.org>||2005-12-26 23:34:03 +0100|
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 <email@example.com>
Diffstat (limited to 'Makefile')
1 files changed, 6 insertions, 4 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.
# 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 .kconfig.d: ;
# 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.
+# 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