mirror of
https://git.savannah.gnu.org/git/make.git
synced 2025-01-01 01:33:51 +00:00
d351c1fef2
* make.1: Document the -E and --eval options. * doc/make.texi: Document the -E option. * tests/scripts/options/eval: Test the -E option and MAKEFILES. * NEWS: Add information about the new option.
44 lines
1.2 KiB
Perl
44 lines
1.2 KiB
Perl
# -*-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;
|