Update of bug #27497 (project make): Status: None => Not A Bug Open/Closed: Open => Closed
_______________________________________________________ Follow-up Comment #1: Make is behaving exactly as it should here. You are confused because you think that a double-colon in a pattern rule behaves the same way as a double-colon in an explicit rule... but it doesn't. A rule like "%.a :: %.c" is very different than "foo.a :: foo.c". See the section "Match-Anything Pattern Rules" in the GNU make manual. Pattern rules don't need double-colon capabilities because they work like that all the time. For pattern rules, if make cannot use the pattern (that is either the target doesn't match the pattern, or the target does match but the prerequisites don't exist and make doesn't know how to build them) then it skips that pattern and tries the next one. The "order matters" rule is a feature. From the GNU make manual section "Introduction to Pattern Rules", you'll see: > 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. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?27497> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make