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