]> git.ipfire.org Git - thirdparty/make.git/commit
[SV 63417] Ensure global .NOTINTERMEDIATE disables all intermediates
authorDmitry Goncharov <dgoncharov@users.sf.net>
Sun, 27 Nov 2022 20:40:28 +0000 (15:40 -0500)
committerPaul Smith <psmith@gnu.org>
Mon, 28 Nov 2022 15:50:55 +0000 (10:50 -0500)
commit6164608900ad5cc882d4d4bf1b7341d45d743bdf
tree2cbea5c531d42a9e30817d92f335894c18d3d586
parenta99183ed2b8bfc474be16e42dad38d09b06cd69b
[SV 63417] Ensure global .NOTINTERMEDIATE disables all intermediates

Fix .NOTINTERMEDIATE without prerequisites to disable intermediate
status for all targets.

* src/makeint.h: Declare extern no_intermediates.
* src/main.c: Add global definition of no_intermediates.
* src/file.c: Remove static no_intermediates to use global variable.
(remove_intermediates): Check no_intermediates.
* src/implicit.c (pattern_search): For a file found by implicit search
set file->notintermediate if no_intermediates is set.
* src/remake.c (update_file_1): Don't set file->secondary for a
pre-existing file if no_intermediates is set.  The check for
no_intermediates here is redundant, but won't hurt: keep it in case
things change so that it matters.
* tests/scripts/targets/NOTINTERMEDIATE: Fix a test.
src/file.c
src/implicit.c
src/main.c
src/makeint.h
src/remake.c
tests/scripts/targets/NOTINTERMEDIATE