On 2023-01-14 01:30:24 -0500, Nick Bowler wrote: > Consider these two Makefiles, identical except for the presence of > the .POSIX special target: > > % cat >noposix.mk <<'EOF' > craziness: > @-false; echo hello > @false; echo hello > EOF > > % cat >posix.mk <<'EOF' > .POSIX: > craziness: > @-false; echo hello > @false; echo hello > EOF [...] > HP-UX 11: > > (this is the actual POSIX-specified behaviour which I also observed on > multiple other systems): > > % make -f noposix.mk > hello > *** Error exit code 1 > > Stop. > > % make -f posix.mk > hello > *** Error exit code 1
Same behavior on AIX, i.e. the .POSIX special target is useless for *this* example. However, if it is not the first non-comment line, I get a warning: warning: .POSIX directive is not first non-comment line. (found during my test of GNU MPFR on cfarm119.cfarm.net). Note that its "make" man page says: .POSIX Causes the make command to use a different default rules file. The file, /usr/ccs/lib/posix.mk, provides the default rules as specified in the POSIX standard. but I don't know whether this changes the behavior with Automake. If /usr/ccs/lib/posix.mk is included when the .POSIX directive is read, the fact that it is not the first non-comment line might cause issues. For instance, this file (re)defines some variables: MAKE=make AR=ar ARFLAGS=-rv YACC=yacc YFLAGS= LEX=lex LFLAGS= LDFLAGS= CC=c89 CFLAGS=-O FC=fort77 FFLAGS=-O 1 GET=get GFLAGS= So this is expected to be found early in the makefile. -- Vincent Lefèvre <vinc...@vinc17.net> - 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)