diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | implicit.c | 2 | ||||
-rw-r--r-- | tests/ChangeLog | 4 | ||||
-rw-r--r-- | tests/scripts/features/patternrules | 33 |
4 files changed, 41 insertions, 3 deletions
@@ -1,3 +1,8 @@ +2005-03-04 Boris Kolpackov <boris@kolpackov.net> + + * imlicit.c (pattern_search): Mark files for which an implicit + rule has been found as targets. Fixes Savannah bug #12202. + 2005-03-04 Paul D. Smith <psmith@gnu.org> * AUTHORS: Update. @@ -803,6 +803,7 @@ pattern_search (struct file *file, int archive, f->cmds = imf->cmds; f->stem = imf->stem; f->also_make = imf->also_make; + f->is_target = 1; imf = lookup_file (d->intermediate_pattern); if (imf != 0 && imf->precious) f->precious = 1; @@ -881,6 +882,7 @@ pattern_search (struct file *file, int archive, } file->cmds = rule->cmds; + file->is_target = 1; /* If this rule builds other targets, too, put the others into FILE's `also_make' member. */ diff --git a/tests/ChangeLog b/tests/ChangeLog index cffcb2d..ce8f460 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,7 @@ +2005-03-04 Boris Kolpackov <boris@kolpackov.net> + + * features/patternrules: Add a test fo Savannah bug #12202. + 2005-03-03 Boris Kolpackov <boris@kolpackov.net> * scripts/features/se_implicit: Add a test for stem diff --git a/tests/scripts/features/patternrules b/tests/scripts/features/patternrules index 926695a..3202a67 100644 --- a/tests/scripts/features/patternrules +++ b/tests/scripts/features/patternrules @@ -4,8 +4,10 @@ $description = "Test pattern rules."; $details = ""; -# Make sure that multiple patterns where the same target can be built are -# searched even if the first one fails to match properly. +# TEST #1: Make sure that multiple patterns where the same target +# can be built are searched even if the first one fails +# to match properly. +# run_make_test(' .PHONY: all @@ -33,7 +35,32 @@ a: void @true 3.implicit-phony: -', '', ''); +', +'', +''); + +# TEST #2: make sure files that are built via implicit rules are marked +# as targets (Savannah bug #12202). +# +run_make_test(' +TARGETS := foo foo.out + +.PHONY: all foo.in + +all: $(TARGETS) + +%: %.in + @echo $@ + +%.out: % + @echo $@ + +foo.in: ; @: + +', +'', +'foo +foo.out'); # This tells the test driver that the perl test script executed properly. |