summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>1992-12-22 21:22:05 +0000
committerRoland McGrath <roland@redhat.com>1992-12-22 21:22:05 +0000
commit63fec5f4678e4a371e66aa4cd53c2a9366312ff8 (patch)
tree88d6bccaba30e3a2a58992dc524f7778b8c4109d
parentb0a8c63bf22c767a7c36f2aaa6e369d409e3fa48 (diff)
downloadgunmake-63fec5f4678e4a371e66aa4cd53c2a9366312ff8.tar.gz
Formerly remake.c.~40~
-rw-r--r--remake.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/remake.c b/remake.c
index d7716c0..b222e3e 100644
--- a/remake.c
+++ b/remake.c
@@ -250,7 +250,7 @@ update_file_1 (file, depth)
int noexist, must_make, deps_changed;
int dep_status = 0;
register struct dep *d, *lastd;
- char running = 0;
+ int running = 0;
DEBUGPR ("Considering target file `%s'.\n");
@@ -676,6 +676,13 @@ check_dep (file, depth, this_mtime, must_make_ptr)
if (dep_status != 0 && !keep_going_flag)
break;
+ if (d->file->command_state == cs_running
+ || d->file->command_state == cs_deps_running)
+ /* Record that some of FILE's dependencies are still being made.
+ This tells the upper levels to wait on processing it until
+ the commands are finished. */
+ file->command_state = cs_deps_running;
+
lastd = d;
d = d->next;
}