| # -*-perl-*- |
| |
| $description = "Test the --eval option."; |
| |
| $details = "Verify that --eval options take effect, |
| and are passed to sub-makes."; |
| |
| # Verify that --eval is evaluated first |
| run_make_test(q! |
| $(info infile) |
| BAR = bar |
| all: ; @echo all |
| recurse: ; @$(MAKE) -f #MAKEFILE# && echo recurse!, |
| ['--eval=$(info eval)', 'FOO=$(BAR)'], "eval\ninfile\nall"); |
| |
| # Make sure that --eval is handled correctly during recursion |
| run_make_test(undef, ['--no-print-directory', '--eval=$(info eval)', 'recurse'], |
| "eval\ninfile\neval\ninfile\nall\nrecurse"); |
| |
| # Make sure that --eval is not passed in MAKEFLAGS |
| run_make_test(q! |
| all: ; @echo "MAKEFLAGS=$$MAKEFLAGS" |
| !, |
| ['--eval=$(info eval)'], |
| "eval\n".'MAKEFLAGS= --eval=$$(info\ eval)'); |
| |
| # Make sure that --eval is handled correctly during restarting |
| run_make_test(q! |
| all: ; @echo $@ |
| -include gen.mk |
| gen.mk: ; @echo > $@ |
| !, |
| ['--eval=$(info eval)'], "eval\neval\nall"); |
| |
| unlink('gen.mk'); |
| |
| # Check -E |
| run_make_test(q! |
| BAR = bar |
| all: ; @echo all |
| recurse: ; @$(MAKE) -f #MAKEFILE# && echo recurse!, |
| ['-E', '$(info eval)', 'FOO=$(BAR)'], "eval\nall"); |
| |
| 1; |