Follow-up Comment #1, bug #19108 (project make): Hello Christoph,
I believe that the problem lies in your Makefile rule: %.tgt1 %.tgt2: %.src cp $< $(patsubst %.src,%.tgt1,$<) cp $< $(patsubst %.src,%.tgt2,$<) This rule states that %.tgt1 depends on %.src and %.tgt2 depends on %.src. However this single rule should NOT generate both files at once. I believe that if you rewrite your rule as follows: %.tgt1 %.tgt2: %.src cp $< $@ then it would work as desired. The issue is that if multiple targets pattern rule is defined, make runs commands for one fitting target at the time. Now, when you build "final", make sees that it depends on "x". "x" depends on x.tgt1, which can be built due to no further dependencies, so it calls your rules to build x.tgt1 ONLY. But your rule builds also x.tgt2, so when make comes back to check other dependencies of x, x.tgt2 is already up-to-date and does not need to be followed. My belief is that no rule should make more targets then make wants. Every rule should only generate [EMAIL PROTECTED] Otherwise one is asking for trouble. Best regards, Krzysztof Malinowski _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?19108> _______________________________________________ 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