summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2013-05-13 02:48:18 -0400
committerPaul Smith <psmith@gnu.org>2013-05-13 02:48:18 -0400
commit40846b49c8de41dea720ef1bebd3bbee512f3b3e (patch)
treea5a83eb8d54fa5cc32ab8e40ad619ca6d0f45d2f /tests
parent7a3b6b11ee9f8323695a32a4f4b0d723ee9e1acd (diff)
downloadmake-40846b49c8de41dea720ef1bebd3bbee512f3b3e.tar.gz
Add a new variable: GNUMAKEFLAGS
This allows you to write portable makefiles that set GNU make-specific command line options in the environment or makefile: add them to GNUMAKEFLAGS instead of MAKEFLAGS and they will be seen by GNU make but ignored by other implementations of make.
Diffstat (limited to 'tests')
-rw-r--r--tests/scripts/variables/GNUMAKEFLAGS24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/scripts/variables/GNUMAKEFLAGS b/tests/scripts/variables/GNUMAKEFLAGS
new file mode 100644
index 00000000..7bfd8227
--- /dev/null
+++ b/tests/scripts/variables/GNUMAKEFLAGS
@@ -0,0 +1,24 @@
+# -*-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)
+!,
+ '', 'Rre');
+
+# Long arguments mean everything is prefixed with "-"
+
+$extraENV{'GNUMAKEFLAGS'} = '--no-print-directory -e -r -R --trace=none --trace=dir';
+
+run_make_test(q!
+all: ; @echo $(MAKEFLAGS)
+!,
+ '', '--no-print-directory --trace=none --trace=dir --trace=none --trace=dir -Rre');
+
+1;