Imported Upstream version 4.0
[platform/upstream/make.git] / tests / scripts / variables / GNUMAKEFLAGS
1 #                                                                    -*-perl-*-
2
3 $description = "Test proper behavior of GNUMAKEFLAGS";
4
5 # Accept flags from GNUMAKEFLAGS as well as MAKEFLAGS
6 # Results always go in MAKEFLAGS
7
8 $extraENV{'GNUMAKEFLAGS'} = '-e -r -R';
9
10 run_make_test(q!
11 all: ; @echo $(MAKEFLAGS)
12 !,
13               '', 'erR');
14
15 # Long arguments mean everything is prefixed with "-"
16
17 $extraENV{'GNUMAKEFLAGS'} = '--no-print-directory -e -r -R --trace';
18
19 run_make_test(q!
20 all: ; @echo $(MAKEFLAGS)
21 !,
22               '', "#MAKEFILE#:2: target 'all' does not exist
23 echo erR --trace --no-print-directory
24 erR --trace --no-print-directory");
25
26 # Verify that re-exec / recursion doesn't duplicate flags from GNUMAKEFLAGS
27
28 unlink('x.mk');
29
30 $extraENV{GNUMAKEFLAGS} = '-Itst/bad -Oline';
31
32 run_make_test(q!
33 recurse: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS; #MAKEPATH# -f #MAKEFILE# all
34 all: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS
35 -include x.mk
36 x.mk: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS; echo > $@
37 !,
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");
39
40 unlink('x.mk');
41
42 1;