summaryrefslogtreecommitdiff
path: root/read.c
diff options
context:
space:
mode:
Diffstat (limited to 'read.c')
-rw-r--r--read.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/read.c b/read.c
index 0bf3a50..9da3927 100644
--- a/read.c
+++ b/read.c
@@ -412,7 +412,13 @@ read_makefile (filename, flags)
else
{
p2 = next_token (p + 6);
- p = end_of_token (p2);
+ /* Let the variable name be the whole rest of the line,
+ with trailing blanks stripped (comments have already been
+ removed), so it could be a complex variable/function
+ reference that might contain blanks. */
+ p = index (p2, '\0');
+ while (isblank (p[-1]))
+ --p;
lineno = do_define (p2, p - p2, o_file,
lineno, infile, filename);
}
@@ -431,8 +437,14 @@ read_makefile (filename, flags)
{
unsigned int len;
p2 = end_of_token (p2);
- p = find_next_token (&p2, &len);
- lineno = do_define (p, len, o_override,
+ /* Let the variable name be the whole rest of the line,
+ with trailing blanks stripped (comments have already been
+ removed), so it could be a complex variable/function
+ reference that might contain blanks. */
+ p = index (p2, '\0');
+ while (isblank (p[-1]))
+ --p;
+ lineno = do_define (p2, p - p2, o_override,
lineno, infile, filename);
}
}