mirror of
https://git.savannah.gnu.org/git/make.git
synced 2025-02-07 06:47:52 +00:00
Formerly remake.c.~46~
This commit is contained in:
parent
580e2a7391
commit
162269418e
1 changed files with 11 additions and 2 deletions
13
remake.c
13
remake.c
|
@ -159,7 +159,7 @@ update_goal_chain (goals, makefiles)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stop || g->file->updated)
|
if (stop || g->file->prev == 0)
|
||||||
{
|
{
|
||||||
/* If we have found nothing whatever to do for the goal,
|
/* If we have found nothing whatever to do for the goal,
|
||||||
print a message saying nothing needs doing. */
|
print a message saying nothing needs doing. */
|
||||||
|
@ -191,6 +191,15 @@ update_goal_chain (goals, makefiles)
|
||||||
|
|
||||||
g = lastgoal == 0 ? goals : lastgoal->next;
|
g = lastgoal == 0 ? goals : lastgoal->next;
|
||||||
}
|
}
|
||||||
|
else if (g->file->updated)
|
||||||
|
/* This instance of the target is done being updated.
|
||||||
|
Go to the next instance (:: rule).
|
||||||
|
update_file cycles through all instances, but under -j,
|
||||||
|
update_file can return while the file is running,
|
||||||
|
then reap_children can change its command state and
|
||||||
|
updated flag, leaving G->file done, but some of its
|
||||||
|
other instances needing work. */
|
||||||
|
g->file = g->file->prev;
|
||||||
|
|
||||||
if (stop)
|
if (stop)
|
||||||
break;
|
break;
|
||||||
|
@ -591,7 +600,7 @@ notice_finished_file (file)
|
||||||
we don't want to do the touching. */
|
we don't want to do the touching. */
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
for (i = 0; i < file->cmds->ncommand_lines; ++i)
|
for (i = 0; i < file->cmds->ncommand_lines; ++i)
|
||||||
if (!file->cmds->lines_recurse[i])
|
if (!(file->cmds->lines_flags[i] & COMMANDS_RECURSE))
|
||||||
goto have_nonrecursing;
|
goto have_nonrecursing;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue