(update_goal_chain): Set STATUS to FILE->update_status, to preserve whether
authorRoland McGrath <roland@redhat.com>
Thu, 21 Apr 1994 02:15:37 +0000 (02:15 +0000)
committerRoland McGrath <roland@redhat.com>
Thu, 21 Apr 1994 02:15:37 +0000 (02:15 +0000)
it's 2 for error or 1 for -q trigger.  When STATUS gets nonzero and -q is
set, always stop immediately.

remake.c

index 479045e..a280b52 100644 (file)
--- a/remake.c
+++ b/remake.c
@@ -144,9 +144,14 @@ update_goal_chain (goals, makefiles)
                    {
                      if (file->update_status != 0)
                        {
-                         /* Updating failed.  */
-                         status = 1;
-                         stop = !keep_going_flag && !makefiles;
+                         /* Updating failed, or -q triggered.
+                            The STATUS value tells our caller which.  */
+                         status = file->update_status;
+                         /* If -q just triggered, stop immediately.
+                            It doesn't matter how much more we run,
+                            since we already know the answer to return.  */
+                         stop = (!keep_going_flag && !question_flag
+                                 && !makefiles);
                        }
                      else if (MTIME (file) != mtime)
                        {