Module Name: src
Committed By: rillig
Date: Mon Dec 7 01:07:13 UTC 2020
Modified Files:
src/usr.bin/make: compat.c
Log Message:
make(1): clean up Compat_Run
Now that errors in the main targets and in their dependencies have the
same effect on the .END node and its dependencies, the two variables can
be merged.
To generate a diff of this commit:
cvs rdiff -u -r1.200 -r1.201 src/usr.bin/make/compat.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/make/compat.c
diff -u src/usr.bin/make/compat.c:1.200 src/usr.bin/make/compat.c:1.201
--- src/usr.bin/make/compat.c:1.200 Mon Dec 7 01:04:06 2020
+++ src/usr.bin/make/compat.c Mon Dec 7 01:07:13 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: compat.c,v 1.200 2020/12/07 01:04:06 rillig Exp $ */
+/* $NetBSD: compat.c,v 1.201 2020/12/07 01:07:13 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -96,7 +96,7 @@
#include "pathnames.h"
/* "@(#)compat.c 8.2 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: compat.c,v 1.200 2020/12/07 01:04:06 rillig Exp $");
+MAKE_RCSID("$NetBSD: compat.c,v 1.201 2020/12/07 01:07:13 rillig Exp $");
static GNode *curTarg = NULL;
static pid_t compatChild;
@@ -665,7 +665,6 @@ Compat_Run(GNodeList *targs)
{
GNode *gn = NULL; /* Current root target */
Boolean mainError;
- Boolean mainDepError;
Boolean endError;
if (!shellName)
@@ -706,7 +705,7 @@ Compat_Run(GNodeList *targs)
*/
Make_ExpandUse(targs);
- mainDepError = FALSE;
+ mainError = FALSE;
while (!Lst_IsEmpty(targs)) {
gn = Lst_Dequeue(targs);
Compat_Make(gn, gn);
@@ -716,7 +715,7 @@ Compat_Run(GNodeList *targs)
} else if (gn->made == ABORTED) {
printf("`%s' not remade because of errors.\n",
gn->name);
- mainDepError = TRUE;
+ mainError = TRUE;
}
}
@@ -724,19 +723,20 @@ Compat_Run(GNodeList *targs)
* XXX: what about multiple main targets if the first few fail but
* the last one succeeds? This should not count as overall success.
*/
- mainError = GNode_IsError(gn);
+ if (GNode_IsError(gn))
+ mainError = TRUE;
/*
* If the user has defined a .END target, run its commands.
*/
- if (!mainError && !mainDepError) {
+ if (!mainError) {
GNode *endNode = Targ_GetEndNode();
Compat_Make(endNode, endNode);
endError = GNode_IsError(endNode);
} else
endError = FALSE;
- if (mainDepError || mainError || endError) {
+ if (mainError || endError) {
PrintOnError(gn, "\nStop.");
exit(1);
}