在几行中定义的Makefile规则依赖项
在Makefile中,这两个公式在评估顺序方面是等价的吗在几行中定义的Makefile规则依赖项,makefile,Makefile,在Makefile中,这两个公式在评估顺序方面是等价的吗 rule: dep1 rule: dep2 及 我不知道你所说的“评估顺序”到底是什么意思,但在这两种情况下,make都会先尝试构建dep1,然后再构建dep2,保证。在并行构建的情况下,它们可能同时运行,但是dep1总是首先启动 我应该说,如果您的makefile更复杂,那么还有其他事情可能会改变顺序。例如,显式或隐式规则中的先决条件总是首先尝试 另外,如果dep1和dep2的先决条件花费了不同的时间,并且您是并行运行的,dep2可能
rule: dep1
rule: dep2
及
我不知道你所说的“评估顺序”到底是什么意思,但在这两种情况下,make都会先尝试构建
dep1
,然后再构建dep2
,保证。在并行构建的情况下,它们可能同时运行,但是dep1
总是首先启动
我应该说,如果您的makefile更复杂,那么还有其他事情可能会改变顺序。例如,显式或隐式规则中的先决条件总是首先尝试
另外,如果
dep1
和dep2
的先决条件花费了不同的时间,并且您是并行运行的,dep2
可能在dep1
之前启动,对,因此我的动机是错误的,但是,我相信知道这两种形式是否等效可能很有趣,因此,我可以随时选择使用哪一个来提高Makefile的可读性。好吧,我在上面的第一句话中说过,它们是。谢谢,我以为你的意思是只与依赖项本身相关,而不是其他方面。我想,即使在同一规则的两次出现之间定义了其他规则,这也是有效的?我不确定您的意思是什么,因为上面的makefile中只指定了依赖项。但是,它们导致相同的内部结构。即使中间定义了其他规则。您可以使用-p
标志打印make的内部数据库,并查看。。。内部make甚至不存储他们原来在两条不同线路上的事实。好的,谢谢。我相信把这些信息直接放在你的答案中会很有用,这样其他人就不需要阅读评论了。
rule: dep1 dep2