1 1.1 christos # -*-perl-*- 2 1.1 christos 3 1.1 christos $description = "Test the MAKE_RESTARTS variable."; 4 1.1 christos 5 1.1 christos # Test basic capability 6 1.1 christos 7 1.1 christos run_make_test(' 8 1.1 christos all: ; @: 9 1.1 christos $(info MAKE_RESTARTS=$(MAKE_RESTARTS)) 10 1.1 christos include foo.x 11 1.1 christos foo.x: ; @touch $@ 12 1.1 christos ', 13 1.1 christos '', 'MAKE_RESTARTS= 14 1.1 christos #MAKEFILE#:4: foo.x: No such file or directory 15 1.1 christos MAKE_RESTARTS=1'); 16 1.1 christos 17 1.1 christos rmfiles('foo.x'); 18 1.1 christos 19 1.1 christos # Test multiple restarts 20 1.1 christos 21 1.1 christos run_make_test(' 22 1.1 christos all: ; @: 23 1.1 christos $(info MAKE_RESTARTS=$(MAKE_RESTARTS)) 24 1.1 christos include foo.x 25 1.1 christos foo.x: ; @echo "include bar.x" > $@ 26 1.1 christos bar.x: ; @touch $@ 27 1.1 christos ', 28 1.1 christos '', 'MAKE_RESTARTS= 29 1.1 christos #MAKEFILE#:4: foo.x: No such file or directory 30 1.1 christos MAKE_RESTARTS=1 31 1.1 christos foo.x:1: bar.x: No such file or directory 32 1.1 christos MAKE_RESTARTS=2'); 33 1.1 christos 34 1.1 christos rmfiles('foo.x', 'bar.x'); 35 1.1 christos 36 1.1 christos # Test multiple restarts and make sure the variable is cleaned up 37 1.1 christos 38 1.1 christos run_make_test(' 39 1.1 christos recurse: 40 1.1 christos @echo recurse MAKE_RESTARTS=$$MAKE_RESTARTS 41 1.1 christos @$(MAKE) -f #MAKEFILE# all 42 1.1 christos all: 43 1.1 christos @echo all MAKE_RESTARTS=$$MAKE_RESTARTS 44 1.1 christos $(info MAKE_RESTARTS=$(MAKE_RESTARTS)) 45 1.1 christos include foo.x 46 1.1 christos foo.x: ; @echo "include bar.x" > $@ 47 1.1 christos bar.x: ; @touch $@ 48 1.1 christos ', 49 1.1 christos '', "MAKE_RESTARTS= 50 1.1 christos #MAKEFILE#:8: foo.x: No such file or directory 51 1.1 christos MAKE_RESTARTS=1 52 1.1 christos foo.x:1: bar.x: No such file or directory 53 1.1 christos MAKE_RESTARTS=2 54 1.1 christos recurse MAKE_RESTARTS= 55 1.1 christos MAKE_RESTARTS= 56 1.1 christos #MAKE#[1]: Entering directory `#PWD#' 57 1.1 christos all MAKE_RESTARTS= 58 1.1 christos #MAKE#[1]: Leaving directory `#PWD#'"); 59 1.1 christos 60 1.1 christos rmfiles('foo.x', 'bar.x'); 61 1.1 christos 62 1.1 christos 1; 63