Next: , Previous: Special Targets, Up: Rules

4.10 Multiple Targets in a Rule

A rule with multiple targets is equivalent to writing many rules, each with one target, and all identical aside from that. The same commands apply to all the targets, but their effects may vary because you can substitute the actual target name into the command using ‘$@’. The rule contributes the same prerequisites to all the targets also.

This is useful in two cases.

Suppose you would like to vary the prerequisites according to the target, much as the variable ‘$@’ allows you to vary the commands. You cannot do this with multiple targets in an ordinary rule, but you can do it with a static pattern rule. See Static Pattern Rules.