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

Reply via email to