On Wed, 19 Dec 2001 21:32:31 -0700,
Tom Rini <[EMAIL PROTECTED]> wrote:
>Starting phase 4 (build) for installable
>arch_head=arch/ppc/kernel/head_8xx.o
>notdir arch_head=arch/ppc/kernel/head_8xx.o
>make[1]: *** No rule to make target `arch/ppc/kernel/head_8xx.o', needed
>by `init/compile.h'. Stop.
>
>> Check $KBUILD_OBJTREE/.tmp_database under reldir /arch/ppc/kernel/,
>> select should contain (y_ /arch/ppc/kernel/head_xxx.o).
>
>select (y_ /arch/ppc/kernel/arch/ppc/kernel/head_8xx.o)
kbuild 2.5 $(notdir) did not correctly handle unexpanded variables.
Index: 16.35/scripts/pp_makefile1_parse.l
--- 16.35/scripts/pp_makefile1_parse.l Fri, 14 Dec 2001 15:52:00 +1100 kaos
(linux-2.4/I/d/31_pp_makefil 1.26 644)
+++ 16.35(w)/scripts/pp_makefile1_parse.l Thu, 20 Dec 2001 16:21:19 +1100 kaos
+(linux-2.4/I/d/31_pp_makefil 1.26 644)
@@ -470,6 +470,9 @@ void dir_common(int dir,
char *new = NULL, *s, *text = option;
char buf[PATH_MAX+1];
int l;
+ if (strchr(option, '$')) {
+ return;
+ }
while (*(text += strspn(text, " \t\n"))) {
l = strcspn(text, " \t\n");
if (l >= sizeof(buf)) {
@@ -694,10 +697,16 @@ void expand_macros(char **is, char **is_
else if (strncmp(current, "$(dir", 5) == 0 && isspace(current[5]) &&
(option = macro_option(current, &opt_end, allow_dollar))) {
dir_common(1, is, is_end, is_size, current, opt_end, &changed, option);
+ if (!changed) {
+ current = opt_end;
+ }
}
else if (strncmp(current, "$(notdir", 8) == 0 && isspace(current[8]) &&
(option = macro_option(current, &opt_end, allow_dollar))) {
dir_common(0, is, is_end, is_size, current, opt_end, &changed, option);
+ if (!changed) {
+ current = opt_end;
+ }
}
else if (y_user_target &&
(strncmp(current, "$@", 2) == 0 ||
_______________________________________________
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel