summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>1994-10-24 22:56:27 +0000
committerRoland McGrath <roland@redhat.com>1994-10-24 22:56:27 +0000
commitd37c9ba18a29356a8a355978b7118aaeac44b518 (patch)
treed05850502fbf7dc298c7ee9732de413191a6a3ad
parentcc8d6cf343ad91528bba436775070727a5e88935 (diff)
downloadgunmake-d37c9ba18a29356a8a355978b7118aaeac44b518.tar.gz
(snap_deps): Check .IGNORE, .SILENT, .POSIX here instead of in main.
If .IGNORE has deps, OR COMMANDS_NOERROR into their command_flags and don't set -i. Likewise .SILENT.
-rw-r--r--file.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/file.c b/file.c
index a3657ef..147bd8c 100644
--- a/file.c
+++ b/file.c
@@ -381,8 +381,24 @@ snap_deps ()
}
f = lookup_file (".EXPORT_ALL_VARIABLES");
- if (f != 0 && f->is_target)
- export_all_variables = 1;
+ export_all_variables = f != 0 && f->is_target;
+
+ f = lookup_file (".IGNORE");
+ if (f->deps == 0)
+ ignore_errors_flag |= f != 0 && f->is_target;
+ else
+ for (d = f->deps; d != 0; d = d->next)
+ d->file->command_flags |= COMMANDS_NOERROR;
+
+ f = lookup_file (".SILENT");
+ if (f->deps == 0)
+ silent_flag |= f != 0 && f->is_target;
+ else
+ for (d = f->deps; d != 0; d = d->next)
+ d->file->command_flags |= COMMANDS_SILENT;
+
+ f = lookup_file (".POSIX");
+ posix_pedantic = f != 0 && f->is_target;
}
/* Set the `command_state' member of FILE and all its `also_make's. */