summaryrefslogtreecommitdiff
path: root/remake.c
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>1999-06-14 06:50:28 +0000
committerPaul Smith <psmith@gnu.org>1999-06-14 06:50:28 +0000
commit2858f7a8f11990a8b9391e70ab4cdaa271522ece (patch)
tree51c2ec242b3725d7c92689b2277244b3691466c8 /remake.c
parent187787286d9bc2f41696090917f47d9935651ddf (diff)
downloadgunmake-2858f7a8f11990a8b9391e70ab4cdaa271522ece.tar.gz
* Various bug fixes.
Diffstat (limited to 'remake.c')
-rw-r--r--remake.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/remake.c b/remake.c
index 674f7ef..973c447 100644
--- a/remake.c
+++ b/remake.c
@@ -266,7 +266,7 @@ no_rule_error(file)
= "%sNo rule to make target `%s', needed by `%s'%s";
if (keep_going_flag || file->dontcare)
{
- if (!file->dontcare)
+ if (!file->dontcare && !file->shownerror)
{
if (file->parent == 0)
error (NILF, msg_noparent, "*** ", file->name, ".");
@@ -355,13 +355,8 @@ update_file_1 (file, depth)
if (file->update_status > 0)
{
DEBUGPR ("Recently tried and failed to update file `%s'.\n");
- if (!file->shownerror)
- {
- int dontcare = file->dontcare;
- file->dontcare = 0;
- no_rule_error(file);
- file->dontcare = dontcare;
- }
+ if (!file->shownerror && file->parent)
+ no_rule_error(file);
return file->update_status;
}