Follow-up Comment #2, bug #18622 (project make): Ouch. This is a result of the secondary expansion feature. The problem is that we defer the tokenization of dependencies until the snap_deps() step, when all the makefiles have been read in. This means that when we try to override the pattern rule and compare the dependencies, they don't match because our "internal" dependencies are two separate strings "%.w" and "%.ch" (for example) but the overriding dependencies are (at this point) a single string "%.w %.ch". We don't split them until later.
There are actually a number of problems with the current secondary expansion feature, not least of which is that it wastes memory; I have a half-completed workspace that is changed to always split dependencies right away UNLESS we can show that secondary expansion is a possibility (that is that the .SECONDARYEXPANSION special target is present, AND that the prerequisite list contains expandable elements---contains one or more "$"). Once that change is completed, it will fix this bug as well. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?18622> _______________________________________________ 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