X-Git-Url: https://jxself.org/git/?p=carl9170fw.git;a=blobdiff_plain;f=config%2Fconfdata.c;h=45c462c9312c1176898dccc3e6c9e0c14d63e4e2;hp=57b57aa182b15b0f73e76b2c75bb34a459486550;hb=0a4078c88712401b4ce8fbbe964ea6a70216d597;hpb=bd31bd1f7ab0d1b9250707f07d7ee728281793ff diff --git a/config/confdata.c b/config/confdata.c index 57b57aa..45c462c 100644 --- a/config/confdata.c +++ b/config/confdata.c @@ -864,6 +864,35 @@ next: return 0; } +/* write a dependency file as used by kbuild to track dependencies */ +static int conf_write_dep(const char *name) +{ + struct file *file; + FILE *out; + + if (!name) + name = ".kconfig.d"; + out = fopen("..config.tmp", "w"); + if (!out) + return 1; + fprintf(out, "deps_config := \\\n"); + for (file = file_list; file; file = file->next) { + if (file->next) + fprintf(out, "\t%s \\\n", file->name); + else + fprintf(out, "\t%s\n", file->name); + } + fprintf(out, "\n%s: \\\n" + "\t$(deps_config)\n\n", conf_get_autoconfig_name()); + + env_write_dep(out, conf_get_autoconfig_name()); + + fprintf(out, "\n$(deps_config): ;\n"); + fclose(out); + rename("..config.tmp", name); + return 0; +} + static int conf_split_config(void) { const char *name; @@ -986,7 +1015,7 @@ int conf_write_autoconf(void) sym_clear_all_valid(); - file_write_dep("include/generated/auto.conf.cmd"); + conf_write_dep("include/generated/auto.conf.cmd"); if (conf_split_config()) return 1;