在不同目录中包含源文件的Makefile
我有一个目录结构如下的项目:
$projectroot |
+---------------+----------------+
| | |
part1/ part2/ part3/
| | |
+------+-----+ +---+----+ +---+-----+
| | | | | | |
data/ src/ inc/ src/ inc/ src/ inc/
我应该如何编写一个可以在part / src中(或在任何地方)的makefile来在部分c / c ++源文件中完成/链接?/ src?
我可以做一些事情-I $ projectroot / part1 / src -I $ projectroot / part1 / inc -I $
projectroot / part2 / src …
如果那行得通,有没有更简单的方法来做到这一点。我见过在每个相应部分中都有一个makefile的项目吗?文件夹。[在这篇文章中,我在bash语法中使用了问号]
回答:
传统的方法是有一个Makefile
在每个子目录(中part1
,part2
等),使您能够独立构建它们。此外,Makefile
在项目的根目录中有一个用于构建所有内容的目录。“根”
Makefile
看起来类似于以下内容:
all: +$(MAKE) -C part1
+$(MAKE) -C part2
+$(MAKE) -C part3
由于make目标中的每一行都在其自己的shell中运行,因此无需担心遍历目录树或其他目录。
我建议看一下GNU
make手册5.7;这是非常有帮助的。
以上是 在不同目录中包含源文件的Makefile 的全部内容, 来源链接: utcz.com/qa/407362.html