| # -*-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= |
| #MAKEFILE#:4: foo.x: No such file or directory |
| 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= |
| #MAKEFILE#:4: foo.x: No such file or directory |
| MAKE_RESTARTS=1 |
| foo.x:1: bar.x: No such file or directory |
| MAKE_RESTARTS=2'); |
| |
| rmfiles('foo.x', 'bar.x'); |
| |
| # Test multiple restarts and make sure the variable is cleaned up |
| |
| run_make_test(' |
| 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= |
| #MAKEFILE#:8: foo.x: No such file or directory |
| MAKE_RESTARTS=1 |
| foo.x:1: bar.x: No such file or directory |
| MAKE_RESTARTS=2 |
| recurse MAKE_RESTARTS= |
| MAKE_RESTARTS= |
| #MAKE#[1]: Entering directory `#PWD#' |
| all MAKE_RESTARTS= |
| #MAKE#[1]: Leaving directory `#PWD#'"); |
| |
| rmfiles('foo.x', 'bar.x'); |
| |
| 1; |