mirror of
https://github.com/mirror/make.git
synced 2025-01-09 20:00:28 +08:00
41 lines
1018 B
Plaintext
41 lines
1018 B
Plaintext
|
# -*-perl-*-
|
||
|
$description = "Test pattern-specific variable settings.";
|
||
|
|
||
|
$details = "\
|
||
|
Create a makefile containing various flavors of pattern-specific variable
|
||
|
settings, override and non-override, and using various variable expansion
|
||
|
rules, semicolon interference, etc.";
|
||
|
|
||
|
open(MAKEFILE,"> $makefile");
|
||
|
|
||
|
print MAKEFILE <<'EOF';
|
||
|
all: one.x two.x three.x
|
||
|
FOO = foo
|
||
|
BAR = bar
|
||
|
BAZ = baz
|
||
|
thr% : override BAZ = three
|
||
|
t%.x: BAR = four
|
||
|
%.x: BAR = two
|
||
|
%.x: override BAZ = three
|
||
|
one.x: override FOO = one
|
||
|
one.x two.x three.x: ; @echo $(FOO) $(BAR) $(BAZ)
|
||
|
EOF
|
||
|
|
||
|
close(MAKEFILE);
|
||
|
|
||
|
|
||
|
# TEST #1 -- basics
|
||
|
|
||
|
&run_make_with_options($makefile, "", &get_logfile);
|
||
|
$answer = "one two three\nfoo four baz\nfoo bar three\n";
|
||
|
&compare_output($answer,&get_logfile(1));
|
||
|
|
||
|
|
||
|
# TEST #2 -- try the override feature
|
||
|
|
||
|
&run_make_with_options($makefile, "BAZ=five", &get_logfile);
|
||
|
$answer = "one two three\nfoo four five\nfoo bar three\n";
|
||
|
&compare_output($answer,&get_logfile(1));
|
||
|
|
||
|
1;
|