12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- # -*-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)
- four.x: baz ; @echo $(FOO) $(BAR) $(BAZ)
- baz: ; @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));
- # TEST #3 -- make sure patterns are inherited properly
- &run_make_with_options($makefile, "four.x", &get_logfile);
- $answer = "foo two three\nfoo two three\n";
- &compare_output($answer,&get_logfile(1));
- 1;
|