Hi Paul, On 2023-07-17 20:35, Paul Smith wrote: > On Mon, 2023-07-17 at 19:31 +0200, Bruno Haible wrote: >> Except possibly that POSIX does not allow this? Then we would need a >> pseudo-target the turns off only the non-standardized part of the >> built-in database, say, .NO_GNU_BUILTINS. And users would have to >> write: >> >> .SUFFIXES: >> .NO_GNU_BUILTINS: > > I'm not sure what you mean by "POSIX does not allow this". But, POSIX > reserves all targets prefixed with "." (that are not already specified > in the standard) to the implementation. So it's fine with POSIX to add > a pseudo target like .NOBUILTINS; no conforming makefile can use that > target for anything else. >
If you fell like implementing .NOBUILTINS:, maybe it's interesting to have a way to control builtin variables too: .NOBUILTINRULES: .NOBUILTINVARS: I'd like that. BTW, could you point out the problems with the following? MAKEFLAGS += --no-builtin-rules MAKEFLAGS += --no-builtin-variables MAKEFLAGS += --warn-undefined-variables This is what I currently use, and never had a big issue with it. I don't care too much about old versions of GNU Make (although it might be a good idea to document in this thread what can go wrong with them too). Is there any issue remaining with 4.4.1? Cheers, Alex