diff options
author | Roman Zippel <zippel@linux-m68k.org> | 2006-06-09 01:12:39 -0400 |
---|---|---|
committer | Sam Ravnborg <sam@mars.ravnborg.org> | 2006-06-09 01:31:30 -0400 |
commit | c955ccafc38e77312b4c65e5a70960080fb8a3f2 (patch) | |
tree | f630610edef42b8ed60c455cfdb74d897190f1d3 /scripts/kconfig/util.c | |
parent | ddc97cacb310ad68483952e67764c4153c138ed2 (diff) |
kconfig: fix .config dependencies
This fixes one of the worst kbuild warts left - the broken dependencies used
to check and regenerate the .config file. This was done via an indirect
dependency and the .config itself had an empty command, which can cause make
not to reread the changed .config file.
Instead of this we generate now a new file include/config/auto.conf from
.config, which is used for kbuild and has the proper dependencies. It's also
the main make target now for all files generated during this step (and thus
replaces include/linux/autoconf.h).
This also means we can now relax the syntax requirements for the .config file
and we don't have to rewrite it all the time, i.e. silentoldconfig only
writes .config now when it's necessary to keep it in sync with the Kconfig
files and even this can be suppressed by setting the environment variable
KCONFIG_NOSILENTUPDATE, so the update can (and must) be done manually.
Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/kconfig/util.c')
-rw-r--r-- | scripts/kconfig/util.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/scripts/kconfig/util.c b/scripts/kconfig/util.c index 656d2c87d661..e3f28b9d59f4 100644 --- a/scripts/kconfig/util.c +++ b/scripts/kconfig/util.c | |||
@@ -44,7 +44,9 @@ int file_write_dep(const char *name) | |||
44 | else | 44 | else |
45 | fprintf(out, "\t%s\n", file->name); | 45 | fprintf(out, "\t%s\n", file->name); |
46 | } | 46 | } |
47 | fprintf(out, "\n.config include/linux/autoconf.h: $(deps_config)\n\n$(deps_config):\n"); | 47 | fprintf(out, "\ninclude/config/auto.conf: \\\n" |
48 | "\t$(deps_config)\n\n" | ||
49 | "$(deps_config): ;\n"); | ||
48 | fclose(out); | 50 | fclose(out); |
49 | rename("..config.tmp", name); | 51 | rename("..config.tmp", name); |
50 | return 0; | 52 | return 0; |