|
@@ -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)
|