Makefile的优缺点包括vs运行Submake?

时间:2011-11-17 18:33:03

标签: makefile gnu-make

我想将Makefile分解成两个模块化/分离所有的优点。在include和submake之间进行选择时需要注意什么?

我能立刻想到的是,对于submake,您仍然需要将子目标中的目标重新映射到父Makefile中父目标中的目标。

1 个答案:

答案 0 :(得分:1)

对此的详细讨论是Recursive Make Considered Harmful

正如你可能从标题中猜到的那样,RCMH认为将所有内容都包含在一个makefile中(“非递归”)比运行submakes(“递归”)更好。

支持非递归make的主要论据是跨模块依赖性的性能和准确性(这对并行构建也有性能影响)。

递归makefile系统的优点是它们更易于编写,因为每个模块的make调用都与其他模块分开。正如RCMH指出的那样,这种完全分离实际上会导致问题。