diff options
author | Roland McGrath <roland@redhat.com> | 1993-02-05 22:31:31 +0000 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 1993-02-05 22:31:31 +0000 |
commit | 162269418e41dea16a5e321f61b4ea3267c9e648 (patch) | |
tree | ab479a5cf6f49504123af09699015e1bcb7b76b7 | |
parent | 580e2a739104ad6fe7a74d751ceecfe27e631ee9 (diff) | |
download | gunmake-162269418e41dea16a5e321f61b4ea3267c9e648.tar.gz |
Formerly remake.c.~46~
-rw-r--r-- | remake.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -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, print a message saying nothing needs doing. */ @@ -191,6 +191,15 @@ update_goal_chain (goals, makefiles) 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) break; @@ -591,7 +600,7 @@ notice_finished_file (file) we don't want to do the touching. */ unsigned int 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; } else |