Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在几行中定义的Makefile规则依赖项_Makefile - Fatal编程技术网

在几行中定义的Makefile规则依赖项

在几行中定义的Makefile规则依赖项,makefile,Makefile,在Makefile中,这两个公式在评估顺序方面是等价的吗 rule: dep1 rule: dep2 及 我不知道你所说的“评估顺序”到底是什么意思,但在这两种情况下,make都会先尝试构建dep1,然后再构建dep2,保证。在并行构建的情况下,它们可能同时运行,但是dep1总是首先启动 我应该说,如果您的makefile更复杂,那么还有其他事情可能会改变顺序。例如,显式或隐式规则中的先决条件总是首先尝试 另外,如果dep1和dep2的先决条件花费了不同的时间,并且您是并行运行的,dep2可能

在Makefile中,这两个公式在评估顺序方面是等价的吗

rule: dep1
rule: dep2


我不知道你所说的“评估顺序”到底是什么意思,但在这两种情况下,make都会先尝试构建
dep1
,然后再构建
dep2
,保证。在并行构建的情况下,它们可能同时运行,但是
dep1
总是首先启动

我应该说,如果您的makefile更复杂,那么还有其他事情可能会改变顺序。例如,显式或隐式规则中的先决条件总是首先尝试


另外,如果
dep1
dep2
的先决条件花费了不同的时间,并且您是并行运行的,
dep2
可能在
dep1
之前启动,对,因此我的动机是错误的,但是,我相信知道这两种形式是否等效可能很有趣,因此,我可以随时选择使用哪一个来提高Makefile的可读性。好吧,我在上面的第一句话中说过,它们是。谢谢,我以为你的意思是只与依赖项本身相关,而不是其他方面。我想,即使在同一规则的两次出现之间定义了其他规则,这也是有效的?我不确定您的意思是什么,因为上面的makefile中只指定了依赖项。但是,它们导致相同的内部结构。即使中间定义了其他规则。您可以使用
-p
标志打印make的内部数据库,并查看。。。内部make甚至不存储他们原来在两条不同线路上的事实。好的,谢谢。我相信把这些信息直接放在你的答案中会很有用,这样其他人就不需要阅读评论了。
rule: dep1 dep2