#                                                                    -*-perl-*-

$description = "Test proper behavior of GNUMAKEFLAGS";

# Accept flags from GNUMAKEFLAGS as well as MAKEFLAGS
# Results always go in MAKEFLAGS

$extraENV{'GNUMAKEFLAGS'} = '-e -r -R';

run_make_test(q!
all: ; @echo $(MAKEFLAGS)
!,
              '', 'erR');

# Long arguments mean everything is prefixed with "-"

$extraENV{'GNUMAKEFLAGS'} = '--no-print-directory -e -r -R --trace';

run_make_test(q!
all: ; @echo $(MAKEFLAGS)
!,
              '', "#MAKEFILE#:2: target 'all' does not exist
echo erR --trace --no-print-directory
erR --trace --no-print-directory");

# Verify that re-exec / recursion doesn't duplicate flags from GNUMAKEFLAGS

unlink('x.mk');

$extraENV{GNUMAKEFLAGS} = '-Itst/bad';

run_make_test(q!
recurse: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS; #MAKEPATH# -f #MAKEFILE# all
all: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS
-include x.mk
x.mk: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS; echo > $@
!,
              "", "x.mk\nMAKEFLAGS = -Itst/bad\nGNUMAKEFLAGS =\nrecurse\nMAKEFLAGS = -Itst/bad\nGNUMAKEFLAGS =\n#MAKE#[1]: Entering directory '#PWD#'\nall\nMAKEFLAGS = w -Itst/bad\nGNUMAKEFLAGS =\n#MAKE#[1]: Leaving directory '#PWD#'\n");

unlink('x.mk');

1;
