Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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 如何控制make目标的执行顺序?_Makefile_Parallel Processing - Fatal编程技术网

Makefile 如何控制make目标的执行顺序?

Makefile 如何控制make目标的执行顺序?,makefile,parallel-processing,Makefile,Parallel Processing,假设我有一个主要目标,exe,它依赖于三个lib: exe: LIB1.lib LIB2.lib LIB3.lib lib目标有如下内容: LIB1: $(LIB1OBJECTS) LIB2: $(LIB2OBJECTS) LIB3: $(LIB3OBJECTS) 在大多数情况下,make将使用-j标志运行,我希望LIB1和LIB2能够并行构建,如何确保LIB3总是在LIB2之后构建?使LIB3依赖于LIB2。我可以使它依赖于LIB2和对象吗?我尝试放置类似于LIB3:$(LIB3OBJEC

假设我有一个主要目标,
exe
,它依赖于三个lib:

exe: LIB1.lib LIB2.lib LIB3.lib
lib目标有如下内容:

LIB1: $(LIB1OBJECTS)
LIB2: $(LIB2OBJECTS)
LIB3: $(LIB3OBJECTS)

在大多数情况下,make将使用
-j
标志运行,我希望LIB1和LIB2能够并行构建,如何确保LIB3总是在LIB2之后构建?

使LIB3依赖于LIB2。

我可以使它依赖于LIB2和对象吗?我尝试放置类似于
LIB3:$(LIB3OBJECTS)LIB2
的内容,但一定是出了问题,因为有时它在不等待LIB2完成的情况下就开始构建LIB3。您应该能够。它们中有任何一个用于其他目标吗?@Geo:那很好-使用该规则,它将首先构建
$(LIB3OBJECTS)
,然后构建
LIB2
。我希望规则像
LIB1.lib:$(LIB1OBJECTS)
,而不是
LIB1:$(LIB1OBJECTS)
。也许这就是为什么伊格纳西奥·巴斯克斯·艾布拉姆斯的建议对你不起作用的原因?