On Tue, 2023-01-03 at 10:25 +0100, John Olsson wrote: > What I’m talking about is that if you try using a non-existent > function, say like I do in this makefile where fnord is not > defined/known by GNU Make
A value like $(....) is considered to be a variable reference. Variables that are not set expand to the empty string without any warning: this is a required feature. You can add the --warn-undefined-variables option to your invocation of make to have it warn you when an undefined variable is used. That will cause a warning to be generated in your situation. Over the last few releases we have been working towards ensuring that it's not legal for a make variable name to contain whitespace. I believe that process is complete as of the current release of GNU Make. I expect that the next major release will introduce a warning for any variable reference that contains whitespace in the name (without requiring an extra option). Once that is in place, any invocation of an unknown function will generate that warning.
