From 543521cd475e7182e30a17bd032b9fe2bb740bcb Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Sun, 29 Sep 2013 13:15:00 -0400 Subject: Reset GNUMAKEFLAGS after parsing. If we don't do this we'll continually add flags on recursion. This is mainly for users to set in their environment before invoking make. --- tests/ChangeLog | 5 +++++ tests/scripts/variables/GNUMAKEFLAGS | 14 ++++++++++++++ 2 files changed, 19 insertions(+) (limited to 'tests') diff --git a/tests/ChangeLog b/tests/ChangeLog index 9e2deb3..c785d34 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,8 @@ +2013-09-29 Paul Smith + + * scripts/variables/GNUMAKEFLAGS: Verify that GNUMAKEFLAGS is + cleared and options are not duplicated. + 2013-09-23 Paul Smith * scripts/options/print-directory: Rename dash-w to diff --git a/tests/scripts/variables/GNUMAKEFLAGS b/tests/scripts/variables/GNUMAKEFLAGS index edef66e..bd6979c 100644 --- a/tests/scripts/variables/GNUMAKEFLAGS +++ b/tests/scripts/variables/GNUMAKEFLAGS @@ -23,4 +23,18 @@ all: ; @echo $(MAKEFLAGS) echo erR --trace --no-print-directory erR --trace --no-print-directory"); +# Verify that re-exec / recursion doesn't duplicate flags from GNUMAKEFLAGS + +$extraENV{GNUMAKEFLAGS} = '-I/tmp -Oline'; + +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 = -I/tmp -Oline\nGNUMAKEFLAGS =\nrecurse\nMAKEFLAGS = -I/tmp -Oline\nGNUMAKEFLAGS =\n#MAKE#[1]: Entering directory '#PWD#'\nall\nMAKEFLAGS = w -I/tmp -Oline\nGNUMAKEFLAGS =\n#MAKE#[1]: Leaving directory '#PWD#'\n"); + +unlink('x.mk'); + 1; -- cgit v1.2.3