DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(make.info.gz) Double-Colon

Info Catalog (make.info.gz) Static Pattern (make.info.gz) Rules (make.info.gz) Automatic Prerequisites
 
 4.13 Double-Colon 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 prerequisites of that rule.  If there are no prerequisites for that
 rule, its commands are always executed (even if the target already
 exists).  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 prerequisite 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.   Using Implicit Rules
 Implicit Rules.
 
Info Catalog (make.info.gz) Static Pattern (make.info.gz) Rules (make.info.gz) Automatic Prerequisites
automatically generated byinfo2html