Commit 4d99f93bdaa1ab49188cac67b4aae9180f8e3960

Authored by Sam Ravnborg
1 parent f6333eb4e7

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;