Commit 4d99f93bdaa1ab49188cac67b4aae9180f8e3960
1 parent
f6333eb4e7
Exists in
master
and in
20 other branches
kbuild: escape '#' in .target.cmd files
Commandlines are contained in the .<target>.cmd files and in case they contain a '#' char make see this as start of comment. Teach fixdep to escape the '#' char so make will assing the full commandline. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Showing 1 changed file with 14 additions and 1 deletions Side-by-side Diff
scripts/basic/fixdep.c
... | ... | @@ -130,9 +130,22 @@ |
130 | 130 | exit(1); |
131 | 131 | } |
132 | 132 | |
133 | +/* | |
134 | + * Print out the commandline prefixed with cmd_<target filename> := | |
135 | + * If commandline contains '#' escape with '\' so make to not see | |
136 | + * the '#' as a start-of-comment symbol | |
137 | + **/ | |
133 | 138 | void print_cmdline(void) |
134 | 139 | { |
135 | - printf("cmd_%s := %s\n\n", target, cmdline); | |
140 | + char *p = cmdline; | |
141 | + | |
142 | + printf("cmd_%s := ", target); | |
143 | + for (; *p; p++) { | |
144 | + if (*p == '#') | |
145 | + printf("\\"); | |
146 | + printf("%c", *p); | |
147 | + } | |
148 | + printf("\n\n"); | |
136 | 149 | } |
137 | 150 | |
138 | 151 | char * str_config = NULL; |