| # -*-perl-*- | |
| $description = "Test the MAKE_RESTARTS variable."; | |
| # Test basic capability | |
| run_make_test(' | |
| all: ; @: | |
| $(info MAKE_RESTARTS=$(MAKE_RESTARTS)) | |
| include foo.x | |
| foo.x: ; @touch $@ | |
| ', | |
| '', 'MAKE_RESTARTS= | |
| MAKE_RESTARTS=1'); | |
| rmfiles('foo.x'); | |
| # Test multiple restarts | |
| run_make_test(' | |
| all: ; @: | |
| $(info MAKE_RESTARTS=$(MAKE_RESTARTS)) | |
| include foo.x | |
| foo.x: ; @echo "include bar.x" > $@ | |
| bar.x: ; @touch $@ | |
| ', | |
| '', 'MAKE_RESTARTS= | |
| MAKE_RESTARTS=1 | |
| MAKE_RESTARTS=2'); | |
| rmfiles('foo.x', 'bar.x'); | |
| # Test multiple restarts and make sure the variable is cleaned up | |
| run_make_test(' | |
| .RECIPEPREFIX = > | |
| recurse: | |
| > @echo recurse MAKE_RESTARTS=$$MAKE_RESTARTS | |
| > @$(MAKE) -f #MAKEFILE# all | |
| all: ; @echo all MAKE_RESTARTS=$$MAKE_RESTARTS | |
| $(info MAKE_RESTARTS=$(MAKE_RESTARTS)) | |
| include foo.x | |
| foo.x: ; @echo "include bar.x" > $@ | |
| bar.x: ; @touch $@ | |
| ', | |
| '', "MAKE_RESTARTS= | |
| MAKE_RESTARTS=1 | |
| MAKE_RESTARTS=2 | |
| recurse MAKE_RESTARTS= | |
| #MAKE#[1]: Entering directory '#PWD#' | |
| MAKE_RESTARTS= | |
| all MAKE_RESTARTS= | |
| #MAKE#[1]: Leaving directory '#PWD#'"); | |
| rmfiles('foo.x', 'bar.x'); | |
| 1; |