summaryrefslogtreecommitdiff
path: root/scripts/basic
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-03-28 13:03:39 +0200
committerTakashi Iwai <tiwai@suse.de>2011-03-28 13:03:39 +0200
commitf6994ce4a8180ea0093c62a61d697086855058e7 (patch)
tree5da1d213d093e1e5a08e1635df418361d36f2d0d /scripts/basic
parentec7e7e42da0b33c77f1baafeac93e5128c4eea7a (diff)
parentc6b358748e19ce7e230b0926ac42696bc485a562 (diff)
Merge branch 'fix/hda' into topic/hda
Diffstat (limited to 'scripts/basic')
-rw-r--r--scripts/basic/fixdep.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c
index 6c94c6ce2925..291228e25984 100644
--- a/scripts/basic/fixdep.c
+++ b/scripts/basic/fixdep.c
@@ -309,6 +309,11 @@ static void do_config_file(const char *filename)
close(fd);
}
+/*
+ * Important: The below generated source_foo.o and deps_foo.o variable
+ * assignments are parsed not only by make, but also by the rather simple
+ * parser in scripts/mod/sumversion.c.
+ */
static void parse_dep_file(void *map, size_t len)
{
char *m = map;
@@ -323,7 +328,6 @@ static void parse_dep_file(void *map, size_t len)
exit(1);
}
memcpy(s, m, p-m); s[p-m] = 0;
- printf("deps_%s := \\\n", target);
m = p+1;
clear_config();
@@ -343,12 +347,15 @@ static void parse_dep_file(void *map, size_t len)
strrcmp(s, "arch/um/include/uml-config.h") &&
strrcmp(s, ".ver")) {
/*
- * Do not output the first dependency (the
- * source file), so that kbuild is not confused
- * if a .c file is rewritten into .S or vice
- * versa.
+ * Do not list the source file as dependency, so that
+ * kbuild is not confused if a .c file is rewritten
+ * into .S or vice versa. Storing it in source_* is
+ * needed for modpost to compute srcversions.
*/
- if (!first)
+ if (first) {
+ printf("source_%s := %s\n\n", target, s);
+ printf("deps_%s := \\\n", target);
+ } else
printf(" %s \\\n", s);
do_config_file(s);
}