diff options
author | Paul Smith <psmith@gnu.org> | 2022-01-17 18:23:42 -0500 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2022-01-17 18:45:47 -0500 |
commit | e72c5e021ff3e9dec34c078a1a76a260fc562b90 (patch) | |
tree | 33f36e9135a8752f724d01f77f41916e8ca4097c /doc | |
parent | b6a779d262cc9246da3c159065c4e865214a9a3e (diff) | |
download | make-git-e72c5e021ff3e9dec34c078a1a76a260fc562b90.tar.gz |
[SV 61226] Revert changes to detect missing included files
The fix for SV 60595 introduced a backward-incompatibility: rules that
purported to rebuild included files, but didn't actually do so, were
treated as errors whereas before they were ignored. This breaks a
common idiom in makefiles where an empty recipe is created for an
included makefile so make doesn't complain if it doesn't exist.
Unfortunately this means make cannot diagnose some types of errors.
Extra tests supplied by Dmitry Goncharov <dgoncharov@users.sf.net>.
* doc/make.texi (Including Other Makefiles): Clarify this behavior.
* src/main.c (main): Don't run the new check-for-errors behavior.
* tests/scripts/features/reinvoke: Reset tests of the "old" behavior
and add new tests for this situation.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/make.texi | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/doc/make.texi b/doc/make.texi index e555373a..896ca0cd 100644 --- a/doc/make.texi +++ b/doc/make.texi @@ -1301,13 +1301,13 @@ command line option @code{-I} with the special value @code{-} (e.g., forget any already-set include directories, including the default directories. -If an included makefile cannot be found in any of these directories it -is not an immediately fatal error; processing of the makefile -containing the @code{include} continues. Once it has finished reading -makefiles, @code{make} will try to remake any that are out of date or -don't exist. @xref{Remaking Makefiles, ,How Makefiles Are Remade}. -Only after it has tried to find a way to remake a makefile and failed, -will @code{make} diagnose the missing makefile as a fatal error. +If an included makefile cannot be found in any of these directories it is not +an immediately fatal error; processing of the makefile containing the +@code{include} continues. Once it has finished reading makefiles, @code{make} +will try to remake any that are out of date or don't exist. @xref{Remaking +Makefiles, ,How Makefiles Are Remade}. Only after it has failed to find a +rule to remake the makefile, or it found a rule but the recipe failed, will +@code{make} diagnose the missing makefile as a fatal error. If you want @code{make} to simply ignore a makefile which does not exist or cannot be remade, with no error message, use the @w{@code{-include}} |