Subject: Re: bug#55025: Automake should allow one to enable POSIX make behavior

From: Vincent Lefevre <[email-masked]>
Date: Fri, 13 Jan 2023 11:21:55 +0100

On 2023-01-13 01:19:39 -0500, Mike Frysinger wrote:
> any reason we don't just define it ourselves unconditionally ?  seems
> like the whole point of Automake is for devs to not worry about these
> kind of nitty details.

Probably. Note, however, that .POSIX affects GNU "make" on a few
points (the default is obviously not portable, but some developers
might require GNU "make", though probably for other reasons):

   If the '.POSIX' special target is defined then backslash/newline
handling is modified slightly to conform to POSIX.2: first, whitespace
preceding a backslash is not removed and second, consecutive
backslash/newlines are not condensed.

     In particular, if this target is mentioned then recipes will be
     invoked as if the shell had been passed the '-e' flag: the first
     failing command in a recipe will cause the recipe to fail
     immediately.

'warning: ignoring prerequisites on suffix rule definition'
     According to POSIX, a suffix rule cannot contain prerequisites.  If
     a rule that could be a suffix rule has prerequisites it is
     interpreted as a simple explicit rule, with an odd target name.
     This requirement is obeyed when POSIX-conforming mode is enabled
     (the '.POSIX' target is defined).  In versions of GNU 'make' prior
     to 4.3, no warning was emitted and a suffix rule was created,
     however all prerequisites were ignored and were not part of the
     suffix rule.  Starting with GNU 'make' 4.3 the behavior is the
     same, and in addition this warning is generated.  In a future
     version the POSIX-conforming behavior will be the only behavior: no
     rule with a prerequisite can be suffix rule and this warning will
     be removed.

-- 
Vincent Lefèvre <[email-masked]> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)