GNU make 手册介绍了仅订购先决条件:
target: prerequisite1 prerequisite2 | orderonlyprerequisite1 orderonlyprerequisite2
Run Code Online (Sandbox Code Playgroud)
然而,虽然该手册页给出了一个示例并描述了仅订购先决条件的目的,但该手册页从未回答标题中的问题:什么是仅订购先决条件?
你能给出一个精确的定义,只有订单的先决条件是如何表现的吗?
Joh*_*kel 49
假设你有一个像这样的 Makefile
baby: love
touch $@
love:
touch $@
Run Code Online (Sandbox Code Playgroud)
然后make
说,
touch love
touch baby
Run Code Online (Sandbox Code Playgroud)
现在你rm love
又说make
touch love
touch baby
Run Code Online (Sandbox Code Playgroud)
因为为了生孩子,你必须做爱,而每次做爱时,你都必须生孩子。然而,假设您不想每次做爱时都生孩子。在这种情况下,您可以使用管道。
baby: | love
touch $@
Run Code Online (Sandbox Code Playgroud)
现在你只rm love
说make
touch love
Run Code Online (Sandbox Code Playgroud)
因为虽然为了生孩子你必须做爱,但并不是每次做爱都必须生孩子。
Mat*_*att 24
首先,让我们回忆一下普通的先决条件是什么。
基本上,Makefile 中的先决条件有两个功能:
现在,仅订单先决条件执行 1.,即强加构建订单,但不执行 2。
归档时间: |
|
查看次数: |
4539 次 |
最近记录: |