%% Noel Yap <address@hidden> writes:
ny> I had thought that the better-matching rule would be the one used.
I don't know what "better-matching" means, but the way make chooses a
pattern rule is well-defined; from section "Introduction to Pattern
Rules":
The order in which pattern rules appear in the makefile is important
since this is the order in which they are considered. Of equally
applicable rules, only the first one found is used.
I guess that's a little confusing, since "equally applicable" isn't
defined anywhere. But, it refers to the last sentence:
Note however, that a rule whose prerequisites actually exist or are
mentioned always takes priority over a rule with prerequisites that must
be made by chaining other implicit rules.
Anyway, the short answer is that for basic pattern rules (not chained
pattern rules) the first one appearing in the makefile is always used.