3 $description = "Test proper behavior of GNUMAKEFLAGS";
5 # Accept flags from GNUMAKEFLAGS as well as MAKEFLAGS
6 # Results always go in MAKEFLAGS
8 $extraENV{'GNUMAKEFLAGS'} = '-e -r -R';
11 all: ; @echo $(MAKEFLAGS)
15 # Long arguments mean everything is prefixed with "-"
17 $extraENV{'GNUMAKEFLAGS'} = '--no-print-directory -e -r -R --trace';
20 all: ; @echo $(MAKEFLAGS)
22 '', "#MAKEFILE#:2: target 'all' does not exist
23 echo erR --trace --no-print-directory
24 erR --trace --no-print-directory");
26 # Verify that re-exec / recursion doesn't duplicate flags from GNUMAKEFLAGS
30 $extraENV{GNUMAKEFLAGS} = '-Itst/bad -Oline';
33 recurse: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS; #MAKEPATH# -f #MAKEFILE# all
34 all: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS
36 x.mk: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS; echo > $@
38 "", "x.mk\nMAKEFLAGS = -Itst/bad -Oline\nGNUMAKEFLAGS =\nrecurse\nMAKEFLAGS = -Itst/bad -Oline\nGNUMAKEFLAGS =\n#MAKE#[1]: Entering directory '#PWD#'\nall\nMAKEFLAGS = w -Itst/bad -Oline\nGNUMAKEFLAGS =\n#MAKE#[1]: Leaving directory '#PWD#'\n");