mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-12-28 15:57:48 +00:00
Formerly read.c.~40~
This commit is contained in:
parent
8b591a8b90
commit
cff0af8d6d
1 changed files with 24 additions and 16 deletions
40
read.c
40
read.c
|
@ -239,9 +239,10 @@ read_makefile (filename, type)
|
|||
#define record_waiting_files() \
|
||||
do \
|
||||
{ \
|
||||
record_files (filenames, pattern, pattern_percent, deps, \
|
||||
commands_started, commands, commands_idx, \
|
||||
two_colon, filename, lineno, type != 1); \
|
||||
if (filenames != 0) \
|
||||
record_files (filenames, pattern, pattern_percent, deps, \
|
||||
commands_started, commands, commands_idx, \
|
||||
two_colon, filename, lineno, type != 1); \
|
||||
filenames = 0; \
|
||||
commands_idx = 0; \
|
||||
pattern = 0; \
|
||||
|
@ -353,13 +354,11 @@ read_makefile (filename, type)
|
|||
{
|
||||
int i = conditional_line (p, filename, lineno);
|
||||
if (i >= 0)
|
||||
{
|
||||
ignoring = i;
|
||||
continue;
|
||||
}
|
||||
ignoring = i;
|
||||
else
|
||||
makefile_fatal (filename, lineno,
|
||||
"invalid syntax in conditional");
|
||||
continue;
|
||||
}
|
||||
else if (word1eq ("endef", 5))
|
||||
{
|
||||
|
@ -367,6 +366,7 @@ read_makefile (filename, type)
|
|||
in_ignored_define = 0;
|
||||
else
|
||||
makefile_fatal (filename, lineno, "extraneous `endef'");
|
||||
continue;
|
||||
}
|
||||
else if (word1eq ("define", 6))
|
||||
{
|
||||
|
@ -378,11 +378,13 @@ read_makefile (filename, type)
|
|||
p = end_of_token (p2);
|
||||
lineno = do_define (p2, p - p2, o_file,
|
||||
lineno, infile, filename);
|
||||
continue;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ignoring)
|
||||
continue;
|
||||
/* Ignore the line. */
|
||||
;
|
||||
else if (lb.buffer[0] == '\t')
|
||||
{
|
||||
/* This line is a shell command. */
|
||||
|
@ -405,6 +407,8 @@ read_makefile (filename, type)
|
|||
bcopy (p, &commands[commands_idx], len);
|
||||
commands_idx += len;
|
||||
commands[commands_idx++] = '\n';
|
||||
|
||||
continue;
|
||||
}
|
||||
else if (word1eq ("override", 8))
|
||||
{
|
||||
|
@ -422,7 +426,6 @@ read_makefile (filename, type)
|
|||
else if (!try_variable_definition (p2, o_override))
|
||||
makefile_error (filename, lineno,
|
||||
"Empty `override' directive");
|
||||
continue;
|
||||
}
|
||||
else if (word1eq ("export", 6))
|
||||
{
|
||||
|
@ -508,7 +511,6 @@ read_makefile (filename, type)
|
|||
conditionals = save;
|
||||
reading_filename = filename;
|
||||
reading_lineno_ptr = &lineno;
|
||||
continue;
|
||||
}
|
||||
else if (word1eq ("vpath", 5))
|
||||
{
|
||||
|
@ -538,11 +540,11 @@ read_makefile (filename, type)
|
|||
free (pattern);
|
||||
if (p != 0)
|
||||
free (p);
|
||||
continue;
|
||||
}
|
||||
#undef word1eq
|
||||
else if (try_variable_definition (p, o_file))
|
||||
continue;
|
||||
/* This line has been dealt with. */
|
||||
;
|
||||
else
|
||||
{
|
||||
/* This line describes some target files. */
|
||||
|
@ -654,7 +656,14 @@ read_makefile (filename, type)
|
|||
commands_idx += len;
|
||||
commands[commands_idx++] = '\n';
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
/* We get here except in the case that we just read a rule line.
|
||||
Record now the last rule we read, so following spurious
|
||||
commands are properly diagnosed. */
|
||||
record_waiting_files ();
|
||||
}
|
||||
|
||||
if (ignoring)
|
||||
|
@ -1324,9 +1333,8 @@ find_percent (pattern)
|
|||
if (i % 2 == 0)
|
||||
/* All the backslashes quoted each other; the % was unquoted. */
|
||||
return p;
|
||||
else
|
||||
/* The % was quoted by a backslash. Look for another. */
|
||||
++p;
|
||||
|
||||
/* The % was quoted by a backslash. Look for another. */
|
||||
}
|
||||
else
|
||||
/* No backslash in sight. */
|
||||
|
|
Loading…
Reference in a new issue