make/tests/scripts/features
Paul Smith 7c4e6b0299 [SV 60595] Restart whenever any makefile is rebuilt
Previously if an included makefile was rebuilt as a prerequisite of
another included makefile which didn't need to be rebuilt, make would
not realize that it needed to re-exec itself.

Ensure that if any included makefile target is rebuilt we re-exec.
Also ensure that if an included makefile is not readable, and our rule
for rebuilding it doesn't actually change it, we will still fail.

* src/remake.c (update_goal_chain): If a goal's update was successful
then check its status, even if no actual commands were run because it
was already up to date.
(show_goal_error): Remove superfluous cast.
* src/main.c (main): If the makefile remake did nothing, check that we
were able to successfully include all the makefiles we care about; if
not fail.  When generating error messages about included makefiles be
sure to show the filename/linenumber information.
* test/scripts/features/reinvoke: Add tests for this behavior.
* test/scripts/options/dash-k: Update error messages.
2021-09-03 12:08:11 -04:00
..
archives
comments
conditionals
default_names
dircache
double_colon [SV 60188] Explicit prereqs cannot be intermediate files 2021-03-15 02:10:49 -04:00
echoing
errors
escape
exec * tests/scripts/features/exec: Small cleanup 2021-03-15 01:17:06 -04:00
export
grouped_targets [SV 60188] Explicit prereqs cannot be intermediate files 2021-03-15 02:10:49 -04:00
include Fix build and test issues on Windows 2021-03-28 16:25:52 -04:00
jobserver
load
loadapi
mult_rules
mult_targets
order_only
output-sync
override
parallelism
patspecific_vars
patternrules [SV 60188] Explicit prereqs cannot be intermediate files 2021-03-15 02:10:49 -04:00
quoting
recursion
reinvoke [SV 60595] Restart whenever any makefile is rebuilt 2021-09-03 12:08:11 -04:00
rule_glob
se_explicit [SV 60659] Set $$< properly in second expansion 2021-05-30 15:53:41 -04:00
se_implicit [SV 60659] Set $$< properly in second expansion 2021-05-30 15:53:41 -04:00
se_statpat
shell_assignment
statipattrules [SV 60188] Explicit prereqs cannot be intermediate files 2021-03-15 02:10:49 -04:00
suffixrules
targetvars
utf8
varnesting
vpath
vpath2
vpath3
vpathgpath * tests/scripts/features/vpathgpath: Avoid duplicate function name. 2020-11-29 17:59:40 -05:00
vpathplus