# -*-perl-*- $description = "Test second expansion in static pattern rules."; $details = ""; # Test #1: automatic variables. # run_make_test(' .DEFAULT: ; @echo $@ foo.a foo.b: foo.%: bar.% baz.% foo.a foo.b: foo.%: biz.% | buz.% foo.a foo.b: foo.%: $$@.1 \ $$<.2 \ $$(addsuffix .3,$$^) \ $$(addsuffix .4,$$+) \ $$|.5 \ $$*.6 ', '', 'bar.a baz.a biz.a buz.a foo.a.1 bar.a.2 bar.a.3 baz.a.3 biz.a.3 bar.a.4 baz.a.4 biz.a.4 buz.a.5 a.6 '); # Test #2: target/pattern -specific variables. # run_make_test(' .DEFAULT: ; @echo $@ foo.x foo.y: foo.%: $$(%_a) $$($$*_b) foo.x: x_a := bar %.x: x_b := baz ', '', 'bar baz '); # Test #3: order of prerequisites. # run_make_test(' .DEFAULT: ; @echo $@ all: foo.a bar.a baz.a # Subtest #1 # foo.a foo.b: foo.%: foo.%.1; @: foo.a foo.b: foo.%: foo.%.2 foo.a foo.b: foo.%: foo.%.3 # Subtest #2 # bar.a bar.b: bar.%: bar.%.2 bar.a bar.b: bar.%: bar.%.1; @: bar.a bar.b: bar.%: bar.%.3 # Subtest #3 # baz.a baz.b: baz.%: baz.%.1 baz.a baz.b: baz.%: baz.%.2 baz.a baz.b: ; @: ', '', 'foo.a.1 foo.a.2 foo.a.3 bar.a.1 bar.a.2 bar.a.3 baz.a.1 baz.a.2 '); # This tells the test driver that the perl test script executed properly. 1;