[lkml]   [2005]   [Dec]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectRe: .config not updated after make clean
> Thanks, and assuming you're going to push this upwards... Jan

Hi Jan - just pushed atteched patch.
Slightly simplified compared to first version.


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 <> reported this bug.

Signed-off-by: Sam Ravnborg <>

commit 752625cff3eba81cbc886988d5b420064c033948
tree 10281d9345281b3d118aa8b29b3fb21e1ea10655
parent 54e08a2392e99ba9e48ce1060e0b52a39118419c
author Sam Ravnborg <> Mon, 26 Dec 2005 23:34:03 +0100
committer Sam Ravnborg <> Mon, 26 Dec 2005 23:34:03 +0100

Makefile | 10 ++++++----
scripts/kconfig/util.c | 2 +-
2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index 922c763..d3598ef 100644
--- a/Makefile
+++ b/Makefile
@@ -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
diff --git a/scripts/kconfig/util.c b/scripts/kconfig/util.c
index 1fa4c0b..a711007 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;
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at
 \ /
  Last update: 2005-12-27 00:10    [W:0.032 / U:9.296 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site