VirtualBox

source: kBuild/vendor/gnumake/3.82-cvs/tests/scripts/features/se_statpat

Last change on this file was 2581, checked in by bird, 12 years ago

Sync'ed svn:eol-style with trunk.

  • Property svn:eol-style set to LF
File size: 1.6 KB
Line 
1# -*-perl-*-
2$description = "Test second expansion in static pattern rules.";
3
4$details = "";
5
6# Test #1: automatic variables.
7#
8run_make_test(q!
9.SECONDEXPANSION:
10.DEFAULT: ; @echo '$@'
11
12foo.a foo.b: foo.%: bar.% baz.%
13foo.a foo.b: foo.%: biz.% | buz.%
14
15foo.a foo.b: foo.%: $$@.1 \
16 $$<.2 \
17 $$(addsuffix .3,$$^) \
18 $$(addsuffix .4,$$+) \
19 $$|.5 \
20 $$*.6
21!,
22 '', 'bar.a
23baz.a
24biz.a
25buz.a
26foo.a.1
27bar.a.2
28bar.a.3
29baz.a.3
30biz.a.3
31bar.a.4
32baz.a.4
33biz.a.4
34buz.a.5
35a.6
36');
37
38
39# Test #2: target/pattern -specific variables.
40#
41run_make_test(q!
42.SECONDEXPANSION:
43.DEFAULT: ; @echo '$@'
44
45foo.x foo.y: foo.%: $$(%_a) $$($$*_b)
46
47foo.x: x_a := bar
48
49%.x: x_b := baz
50!,
51 '', "bar\nbaz\n");
52
53
54# Test #3: order of prerequisites.
55#
56run_make_test(q!
57.SECONDEXPANSION:
58.DEFAULT: ; @echo '$@'
59
60all: foo.a bar.a baz.a
61
62# Subtest #1
63foo.a foo.b: foo.%: foo.%.1; @:
64foo.a foo.b: foo.%: foo.%.2
65foo.a foo.b: foo.%: foo.%.3
66
67
68# Subtest #2
69bar.a bar.b: bar.%: bar.%.2
70bar.a bar.b: bar.%: bar.%.1; @:
71bar.a bar.b: bar.%: bar.%.3
72
73
74# Subtest #3
75baz.a baz.b: baz.%: baz.%.1
76baz.a baz.b: baz.%: baz.%.2
77baz.a baz.b: ; @:
78!,
79 '', 'foo.a.1
80foo.a.2
81foo.a.3
82bar.a.1
83bar.a.2
84bar.a.3
85baz.a.1
86baz.a.2
87');
88
89
90# Test #4: Make sure stem triple-expansion does not happen.
91#
92run_make_test(q!
93.SECONDEXPANSION:
94foo$$bar: f%r: % $$*.1
95 @echo '$*'
96
97oo$$ba oo$$ba.1:
98 @echo '$@'
99!,
100 '', 'oo$ba
101oo$ba.1
102oo$ba
103');
104
105
106# This tells the test driver that the perl test script executed properly.
1071;
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette