%% Noel Yap <[EMAIL PROTECTED]> writes:
ny> I see. You wouldn't happen to have a patch that'll allow make to ny> use the implicit rule for the former example, would you?
Don't know which example you're talking about when you refer to "the former example", but this:
I think I meant "latter" (ie "%.mk: %.m"). How can I get make to use the "%.mk: %.m" implicit rule to build aoeu/aoeu.mk?
>>> %.mk: %.mk >>> cp $(<) $(@)
Just doesn't make sense. It's like saying:
foo.o : foo.o
How can a target depend on itself as a prerequisite? That requirement cannot be satisfied given our current understanding of the laws of space/time :).
The reason one might want something like "%.mk: %.mk" (rather than "foo.o: foo.o" which is different) is because of how implicit rule matching treats directories. For example, except for the spurious "Cyclic dependency" errors, in the end, make did exactly what I intended.
IIUC, make can use "%.mk: %.mk" to match "aoeu/aoeu.mk: aoeu.mk". OTOH, IIUC, make should use "%.mk: %.mk" to match "aoeu/aoeu.mk: aoeu.m" so I'm clearly missing something here.
You _COULD_, however, do this:
aoeu/%.mk : %.mk cp $< $@
and then all would be right with the world. Or at least make would be happy.
This rule is now not as generic as before; one would have to write a new rule depending on where the target will be created.
Noel
_______________________________________________ Help-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-make
