mirror of
https://github.com/mirror/make.git
synced 2026-08-31 03:38:03 +08:00
POSIX requires that a conforming makefile should not use -e if 1) make is invoked with -i 2) A .IGNORE target exists with no prerequisites 3) The current target is a prerequisite of .IGNORE * src/job.c (start_job_command): Add the target's flags when constructing argv so it can check (3) above. (construct_command_argv_internal): Don't set shellflags if it's not set: this only happens if we're parsing for the slow path and we don't need them. (construct_command_argv): Don't allocate buffers if not needed. When detecting "-ec", check the global ignore_errors_flag and the current command line flags. * tests/scripts/targets/IGNORE: Add tests for .IGNORE. * tests/scripts/targets/POSIX: Add tests for the three cases above.