1 1.1 christos # -*-perl-*- 2 1.1 christos $description = "Test second expansion in ordinary rules."; 3 1.1 christos 4 1.1 christos $details = ""; 5 1.1 christos 6 1.1 christos # TEST #0: Test handing of '$' in prerequisites with and without second 7 1.1 christos # expansion. 8 1.1 christos 9 1.1 christos run_make_test(q! 10 1.1 christos ifdef SE 11 1.1 christos .SECONDEXPANSION: 12 1.1 christos endif 13 1.1 christos foo$$bar: bar$$baz bar$$biz ; @echo '$@ : $^' 14 1.1 christos PRE = one two 15 1.1 christos bar$$baz: $$(PRE) 16 1.1 christos baraz: $$(PRE) 17 1.1 christos PRE = three four 18 1.1 christos .DEFAULT: ; @echo '$@' 19 1.1 christos !, 20 1.1 christos '', 21 1.1 christos "\$\nbar\$biz\nfoo\$bar : bar\$baz bar\$biz"); 22 1.1 christos 23 1.1 christos run_make_test(undef, 'SE=1', "three\nfour\nbariz\nfoo\$bar : baraz bariz"); 24 1.1 christos 25 1.1 christos # TEST #1: automatic variables. 26 1.1 christos # 27 1.1 christos run_make_test(' 28 1.1 christos .SECONDEXPANSION: 29 1.1 christos .DEFAULT: ; @echo $@ 30 1.1 christos 31 1.1 christos foo: bar baz 32 1.1 christos 33 1.1 christos foo: biz | buz 34 1.1 christos 35 1.1 christos foo: $$@.1 \ 36 1.1 christos $$<.2 \ 37 1.1 christos $$(addsuffix .3,$$^) \ 38 1.1 christos $$(addsuffix .4,$$+) \ 39 1.1 christos $$|.5 \ 40 1.1 christos $$*.6 41 1.1 christos 42 1.1 christos ', 43 1.1 christos '', 44 1.1 christos 'bar 45 1.1 christos baz 46 1.1 christos biz 47 1.1 christos buz 48 1.1 christos foo.1 49 1.1 christos bar.2 50 1.1 christos bar.3 51 1.1 christos baz.3 52 1.1 christos biz.3 53 1.1 christos bar.4 54 1.1 christos baz.4 55 1.1 christos biz.4 56 1.1 christos buz.5 57 1.1 christos .6 58 1.1 christos '); 59 1.1 christos 60 1.1 christos 61 1.1 christos # Test #2: target/pattern -specific variables. 62 1.1 christos # 63 1.1 christos run_make_test(' 64 1.1 christos .SECONDEXPANSION: 65 1.1 christos .DEFAULT: ; @echo $@ 66 1.1 christos 67 1.1 christos foo.x: $$a $$b 68 1.1 christos 69 1.1 christos foo.x: a := bar 70 1.1 christos 71 1.1 christos %.x: b := baz 72 1.1 christos 73 1.1 christos ', 74 1.1 christos '', 75 1.1 christos 'bar 76 1.1 christos baz 77 1.1 christos '); 78 1.1 christos 79 1.1 christos 80 1.1 christos # Test #3: order of prerequisites. 81 1.1 christos # 82 1.1 christos run_make_test(' 83 1.1 christos .SECONDEXPANSION: 84 1.1 christos .DEFAULT: ; @echo $@ 85 1.1 christos 86 1.1 christos all: foo bar baz 87 1.1 christos 88 1.1 christos # Subtest #1 89 1.1 christos # 90 1.1 christos foo: foo.1; @: 91 1.1 christos 92 1.1 christos foo: foo.2 93 1.1 christos 94 1.1 christos foo: foo.3 95 1.1 christos 96 1.1 christos 97 1.1 christos # Subtest #2 98 1.1 christos # 99 1.1 christos bar: bar.2 100 1.1 christos 101 1.1 christos bar: bar.1; @: 102 1.1 christos 103 1.1 christos bar: bar.3 104 1.1 christos 105 1.1 christos 106 1.1 christos # Subtest #3 107 1.1 christos # 108 1.1 christos baz: baz.1 109 1.1 christos 110 1.1 christos baz: baz.2 111 1.1 christos 112 1.1 christos baz: ; @: 113 1.1 christos 114 1.1 christos ', 115 1.1 christos '', 116 1.1 christos 'foo.1 117 1.1 christos foo.2 118 1.1 christos foo.3 119 1.1 christos bar.1 120 1.1 christos bar.2 121 1.1 christos bar.3 122 1.1 christos baz.1 123 1.1 christos baz.2 124 1.1 christos '); 125 1.1 christos 126 1.1 christos # This tells the test driver that the perl test script executed properly. 127 1.1 christos 1; 128