我有一个项目,目录结构是这样的:
$projectroot
|
+---------------+----------------+
| | |
part1/ part2/ part3/
| | |
+------+-----+ +---+----+ +---+-----+
| | | | | | |
data/ src/ inc/ src/ inc/ src/ inc/
我应该如何编写一个部分/src(或其他任何地方)的makefile,它可以在部分c/c++源文件上完成/链接?/src?
我可以做类似的事情吗 -I$projectroot/part1/src -I$projectroot/part1/inc -I$projectroot/part2/src ...
如果这样可行,有没有更简单的方法。我见过每个相应部分都有一个makefile的项目吗?文件夹。 [在这篇文章中,我使用了 bash 语法中的问号]
最佳答案
传统的方法是在每个子目录(part1
、part2
等)中都有一个 Makefile
允许您构建它们独立。此外,在构建所有内容的项目的根目录中有一个 Makefile
。 “根” Makefile
如下所示:
all:
+$(MAKE) -C part1
+$(MAKE) -C part2
+$(MAKE) -C part3
由于 make 目标中的每一行都在其自己的 shell 中运行,因此无需担心遍历目录树或其他目录。
我建议看看 GNU make manual section 5.7 ;很有帮助。
关于linux - 具有不同目录中的源文件的 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1139271/