GNU make manual 翻译(七十九)

继续翻译

   Occasionally, however, you have a situation where you want to impose a specific ordering on the rules to be invoked _without_ forcing the target to be updated if one of those rules is executed.  In that case, you want to define "order-only" prerequisites.  Order-only prerequisites can be specified by placing a pipe symbol (`|') in the prerequisites list: any prerequisites to the left of the pipe symbol are normal; any prerequisites to the right are order-only:  
     TARGETS : NORMAL-PREREQUISITES | ORDER-ONLY-PREREQUISITES 
                        
   The normal prerequisites section may of course be empty.  Also, youmay still declare multiple lines of prerequisites for the same target: they are appended appropriately (normal prerequisites are appended to the list of normal prerequisites; order-only prerequisites are appended  to the list of order-only prerequisites).  Note that if you declare the same file to be both a normal and an order-only prerequisite, the normal prerequisite takes precedence (since they have a strict superset
of the behavior of an order-only prerequisite).                        

Order-only
prerequisites can be specified by placing a pipe symbol (`|') in the
prerequisites list: any prerequisites to the left of the pipe symbol
are normal; any prerequisites to the right are order-only:

TARGETS : NORMAL-PREREQUISITES | ORDER-ONLY-PREREQUISITES

某些情况下,你会遭遇一种状况,你想要为规则指定一个特定的顺序来运行,而不需要强迫目的被更新。

在这种场合,你也许想要定义 仅顺序 前提条件。仅顺序前提条件可以通过在前提条件列表中运用管道符号| 来实现:管道符号左边的前提条件是普通前提条件;右边是仅顺序前提条件。

后文待续

原文地址:https://www.cnblogs.com/gaojian/p/2690781.html