diff --git a/main.c b/main.c index 7aae9f5f..2a614559 100644 --- a/main.c +++ b/main.c @@ -346,6 +346,11 @@ struct file *default_goal_file; This is zero if the makefiles do not define .DEFAULT. */ struct file *default_file; + +/* Nonzero if we have seen the magic `.POSIX' target. + This turns on pedantic compliance with POSIX.2. */ + +int posix_pedantic; /* Mask of signals that are being caught with fatal_error_signal. */ @@ -769,9 +774,14 @@ main (argc, argv, envp) define_makeflags (1, 0); - ignore_errors_flag |= lookup_file (".IGNORE") != 0; + f = lookup_file (".IGNORE"); + ignore_errors_flag - silent_flag |= lookup_file (".SILENT") != 0; + f = lookup_file (".SILENT"); + silent_flag |= f != 0 && f->is_target; + + f = lookup_file (".POSIX"); + posix_pedantic = f != 0 && f->is_target; /* Make each `struct dep' point at the `struct file' for the file depended on. */