继续翻译
4.13 Double-Colon Rules=======================Double-colon rules are explicit rules written with `::' instead of`:' after the target names. They are handled differently from ordinaryrules when the same target appears in more than one rule. Patternrules with double-colons have an entirely different meaning (*noteMatch-Anything Rules::). When a target appears in multiple rules, all the rules must be thesame type: all ordinary, or all double-colon. If they aredouble-colon, each of them is independent of the others. Eachdouble-colon rule's recipe is executed if the target is older than anyprerequisites of that rule. If there are no prerequisites for thatrule, its recipe is always executed (even if the target alreadyexists). This can result in executing none, any, or all of thedouble-colon rules. Double-colon rules with the same target are in fact completelyseparate from one another. Each double-colon rule is processedindividually, just as rules with different targets are processed.
4.13 双冒号规则
=======================双冒号规则是在目的名字后用::代替 : 的显式规则。它们和普通规则被处理的方式不一样,同样的目的在不同的规则中多次出现。带有双冒号的模式规则有着完全不同的含义(*note Match-Anything Rules)。
当目的出现在多个规则中的时候,所有的规则必须是同样的类型,要么都是普通,要么都是双冒号。如果目的比其所在地的规则的前提条件陈旧,则此个双冒号规则的片段总是要被执行(既使目的已经存在)。这可能导致双冒好规则被执行若干次。
拥有同样目的的双冒号规则事实上是彼此完全分隔开的。每一个双冒号规则都单独执行,就像拥有不同目的的规则一样。
后文待续