xref: /netbsd-src/external/gpl2/gmake/dist/tests/scripts/features/recursion (revision 69606e3f5c9388e52aed8c120ad63c049ca45d8f)
1*69606e3fSchristos#                                                                    -*-perl-*-
2*69606e3fSchristos$description = "Test recursion.";
3*69606e3fSchristos
4*69606e3fSchristos$details = "DETAILS";
5*69606e3fSchristos
6*69606e3fSchristos# Test some basic recursion.
7*69606e3fSchristosrun_make_test('
8*69606e3fSchristosall:
9*69606e3fSchristos	$(MAKE) -f #MAKEFILE# foo
10*69606e3fSchristosfoo:
11*69606e3fSchristos	@echo $(MAKE)
12*69606e3fSchristos	@echo MAKELEVEL = $(MAKELEVEL)
13*69606e3fSchristos	$(MAKE) -f #MAKEFILE# last
14*69606e3fSchristoslast:
15*69606e3fSchristos	@echo $(MAKE)
16*69606e3fSchristos	@echo MAKELEVEL = $(MAKELEVEL)
17*69606e3fSchristos	@echo THE END
18*69606e3fSchristos',
19*69606e3fSchristos              ('CFLAGS=-O -w' . ($parallel_jobs ? '-j 2' : '')),
20*69606e3fSchristos              ($vos
21*69606e3fSchristos               ? "#MAKE#: Entering directory `#PWD#'
22*69606e3fSchristosmake 'CFLAGS=-O' -f #MAKEFILE# foo
23*69606e3fSchristosmake CFLAGS=-O
24*69606e3fSchristosMAKELEVEL = 0
25*69606e3fSchristosmake 'CFLAGS=-O' -f #MAKEFILE# last
26*69606e3fSchristosmake CFLAGS=-O
27*69606e3fSchristosMAKELEVEL = 0
28*69606e3fSchristosTHE END
29*69606e3fSchristos#MAKE#: Leaving directory `#PWD#'"
30*69606e3fSchristos               : "#MAKE#: Entering directory `#PWD#'
31*69606e3fSchristos#MAKEPATH# -f #MAKEFILE# foo
32*69606e3fSchristos#MAKE#[1]: Entering directory `#PWD#'
33*69606e3fSchristos#MAKEPATH#
34*69606e3fSchristosMAKELEVEL = 1
35*69606e3fSchristos#MAKEPATH# -f #MAKEFILE# last
36*69606e3fSchristos#MAKE#[2]: Entering directory `#PWD#'
37*69606e3fSchristos#MAKEPATH#
38*69606e3fSchristosMAKELEVEL = 2
39*69606e3fSchristosTHE END
40*69606e3fSchristos#MAKE#[2]: Leaving directory `#PWD#'
41*69606e3fSchristos#MAKE#[1]: Leaving directory `#PWD#'
42*69606e3fSchristos#MAKE#: Leaving directory `#PWD#'"));
43*69606e3fSchristos
44*69606e3fSchristos
45*69606e3fSchristos# Test command line overrides.
46*69606e3fSchristosrun_make_test('
47*69606e3fSchristosrecur: all ; @$(MAKE) --no-print-directory -f #MAKEFILE# a=AA all
48*69606e3fSchristosall: ; @echo "MAKEOVERRIDES = $(MAKEOVERRIDES)"
49*69606e3fSchristos',
50*69606e3fSchristos              'a=ZZ',
51*69606e3fSchristos              'MAKEOVERRIDES = a=ZZ
52*69606e3fSchristosMAKEOVERRIDES = a=AA
53*69606e3fSchristos');
54*69606e3fSchristos
55*69606e3fSchristos1;
56