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
某些情况下,你会遭遇一种状况,你想要为规则指定一个特定的顺序来运行,而不需要强迫目的被更新。
在这种场合,你也许想要定义 仅顺序 前提条件。仅顺序前提条件可以通过在前提条件列表中运用管道符号| 来实现:管道符号左边的前提条件是普通前提条件;右边是仅顺序前提条件。
后文待续