Pārlūkot izejas kodu

put back support for generating .config.cmd

Eric Andersen 20 gadi atpakaļ
vecāks
revīzija
e3ba99bc58
3 mainītis faili ar 25 papildinājumiem un 0 dzēšanām
  1. 1 0
      package/config/confdata.c
  2. 1 0
      package/config/lkc.h
  3. 23 0
      package/config/util.c

+ 1 - 0
package/config/confdata.c

@@ -380,6 +380,7 @@ int conf_write(const char *name)
 		}
 	}
 	fclose(out);
+	file_write_dep(NULL);
 	if (!name || basename != conf_def_filename) {
 		if (!name)
 			name = conf_def_filename;

+ 1 - 0
package/config/lkc.h

@@ -59,6 +59,7 @@ void menu_set_type(int type);
 
 /* util.c */
 struct file *file_lookup(const char *name);
+int file_write_dep(const char *name);
 
 struct gstr {
 	size_t len;

+ 23 - 0
package/config/util.c

@@ -26,6 +26,29 @@ struct file *file_lookup(const char *name)
 	return file;
 }
 
+/* write a dependency file as used by kbuild to track dependencies */
+int file_write_dep(const char *name)
+{
+	struct file *file;
+	FILE *out;
+
+	if (!name)
+		name = ".config.cmd";
+	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.config include/config.h: $(deps_config)\n\n$(deps_config):\n");
+	fclose(out);
+	rename(".config.tmp", name);
+	return 0;
+}
 
 /* Allocate initial growable sting */
 struct gstr str_new(void)