Next: Automatic Dependencies Prev: Static Pattern Up: Rules
"Double-colon" rules are rules written with `::' instead of `:'
after the target names. They are handled differently from ordinary
rules when the same target appears in more than one rule.
When a target appears in multiple rules, all the rules must be the
same type: all ordinary, or all double-colon. If they are
double-colon, each of them is independent of the others. Each
double-colon rule's commands are executed if the target is older than
any dependencies of that rule. This can result in executing none, any,
or all of the double-colon rules.
Double-colon rules with the same target are in fact completely
separate from one another. Each double-colon rule is processed
individually, just as rules with different targets are processed.
The double-colon rules for a target are executed in the order they
appear in the makefile. However, the cases where double-colon rules
really make sense are those where the order of executing the commands
would not matter.
Double-colon rules are somewhat obscure and not often very useful;
they provide a mechanism for cases in which the method used to update a
target differs depending on which dependency files caused the update,
and such cases are rare.
Each double-colon rule should specify commands; if it does not, an
implicit rule will be used if one applies. *Note Using Implicit Rules:
automatically generated by info2www