| # -*-perl-*- |
| $description = "Test recursion."; |
| |
| $details = "DETAILS"; |
| |
| # Test some basic recursion. |
| run_make_test(' |
| all: |
| $(MAKE) -f #MAKEFILE# foo |
| foo: |
| @echo $(MAKE) |
| @echo MAKELEVEL = $(MAKELEVEL) |
| $(MAKE) -f #MAKEFILE# last |
| last: |
| @echo $(MAKE) |
| @echo MAKELEVEL = $(MAKELEVEL) |
| @echo THE END |
| ', |
| ('CFLAGS=-O -w' . ($parallel_jobs ? '-j 2' : '')), |
| ($vos |
| ? "#MAKE#: Entering directory `#PWD#' |
| make 'CFLAGS=-O' -f #MAKEFILE# foo |
| make CFLAGS=-O |
| MAKELEVEL = 0 |
| make 'CFLAGS=-O' -f #MAKEFILE# last |
| make CFLAGS=-O |
| MAKELEVEL = 0 |
| THE END |
| #MAKE#: Leaving directory `#PWD#'" |
| : "#MAKE#: Entering directory `#PWD#' |
| #MAKEPATH# -f #MAKEFILE# foo |
| #MAKE#[1]: Entering directory `#PWD#' |
| #MAKEPATH# |
| MAKELEVEL = 1 |
| #MAKEPATH# -f #MAKEFILE# last |
| #MAKE#[2]: Entering directory `#PWD#' |
| #MAKEPATH# |
| MAKELEVEL = 2 |
| THE END |
| #MAKE#[2]: Leaving directory `#PWD#' |
| #MAKE#[1]: Leaving directory `#PWD#' |
| #MAKE#: Leaving directory `#PWD#'")); |
| |
| |
| # Test command line overrides. |
| run_make_test(' |
| recur: all ; @$(MAKE) --no-print-directory -f #MAKEFILE# a=AA all |
| all: ; @echo "MAKEOVERRIDES = $(MAKEOVERRIDES)" |
| ', |
| 'a=ZZ', |
| 'MAKEOVERRIDES = a=ZZ |
| MAKEOVERRIDES = a=AA |
| '); |
| |
| 1; |