From 9ef264a343eb0738b8442a042c5d1f2de55e2918 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 26 Jun 1992 00:46:53 +0000 Subject: Formerly remake.c.~30~ --- remake.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'remake.c') diff --git a/remake.c b/remake.c index 9c9017e..390532c 100644 --- a/remake.c +++ b/remake.c @@ -211,7 +211,24 @@ update_file (file, depth) if (status != 0 && !keep_going_flag) return status; - commands_finished |= not_started && f->command_state == cs_finished; + switch (f->command_state) + { + case cs_finished: + commands_finished |= not_started; + break; + + case cs_running: + case cs_deps_running: + /* Don't run the other :: rules for this + file until this rule is finished. */ + return 0; + + default: + error ("internal error: `%s' command_state == %d in update_file_1", + f->name, (int) f->command_state); + abort (); + break; + } } /* For a top level target, if we have found nothing whatever to do for it, -- cgit v1.2.3