出于好奇,使用makep在makefile中执行目标的顺序是什么
${OBJ_DIR}/%.o: ${SRC_DIR}/%.cpp
我注意到这不是字典(<{>} 只是随机的吗?
答案 0 :(得分:1)
它们是按照构成先决条件图的顺序构建的。
在没有并行作业的简单情况下(没有-j
选项),那么如果您有一个目标,例如:
prog: foo.o bar.o. baz.o
make将首先尝试构建foo.o
,然后构建bar.o
,然后构建baz.o
,然后最终构建prog
。
如果您确实启用了并行作业,那么make仍然会尝试以相同的顺序 start 构建,但是由于某些构建的完成速度比其他构建快,因此您可能会同时构建不同的目标。 / p>