From 543521cd475e7182e30a17bd032b9fe2bb740bcb Mon Sep 17 00:00:00 2001
From: Paul Smith <psmith@gnu.org>
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/scripts/variables/GNUMAKEFLAGS | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

(limited to 'tests/scripts/variables')

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