mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-11-25 12:37:04 +00:00
659fc6b55e
rules, static pattern rules and implicit rules.
105 lines
1,002 B
Perl
105 lines
1,002 B
Perl
# -*-perl-*-
|
|
$description = "Test second expansion in ordinary rules.";
|
|
|
|
$details = "";
|
|
|
|
# Test #1: automatic variables.
|
|
#
|
|
run_make_test('
|
|
.DEFAULT: ; @echo $@
|
|
|
|
foo: bar baz
|
|
|
|
foo: biz | buz
|
|
|
|
foo: $$@.1 \
|
|
$$<.2 \
|
|
$$(addsuffix .3,$$^) \
|
|
$$(addsuffix .4,$$+) \
|
|
$$|.5 \
|
|
$$*.6
|
|
|
|
',
|
|
'',
|
|
'bar
|
|
baz
|
|
biz
|
|
buz
|
|
foo.1
|
|
bar.2
|
|
bar.3
|
|
baz.3
|
|
biz.3
|
|
bar.4
|
|
baz.4
|
|
biz.4
|
|
buz.5
|
|
.6
|
|
');
|
|
|
|
|
|
# Test #2: target/pattern -specific variables.
|
|
#
|
|
run_make_test('
|
|
.DEFAULT: ; @echo $@
|
|
|
|
foo.x: $$a $$b
|
|
|
|
foo.x: a := bar
|
|
|
|
%.x: b := baz
|
|
|
|
',
|
|
'',
|
|
'bar
|
|
baz
|
|
');
|
|
|
|
|
|
# Test #3: order of prerequisites.
|
|
#
|
|
run_make_test('
|
|
.DEFAULT: ; @echo $@
|
|
|
|
all: foo bar baz
|
|
|
|
# Subtest #1
|
|
#
|
|
foo: foo.1; @:
|
|
|
|
foo: foo.2
|
|
|
|
foo: foo.3
|
|
|
|
|
|
# Subtest #2
|
|
#
|
|
bar: bar.2
|
|
|
|
bar: bar.1; @:
|
|
|
|
bar: bar.3
|
|
|
|
|
|
# Subtest #3
|
|
#
|
|
baz: baz.1
|
|
|
|
baz: baz.2
|
|
|
|
baz: ; @:
|
|
|
|
',
|
|
'',
|
|
'foo.1
|
|
foo.2
|
|
foo.3
|
|
bar.1
|
|
bar.2
|
|
bar.3
|
|
baz.1
|
|
baz.2
|
|
');
|
|
|
|
# This tells the test driver that the perl test script executed properly.
|
|
1;
|