gpt4 book ai didi

linux - 具有不同目录中的源文件的 Makefile

转载 作者:太空宇宙 更新时间:2023-11-04 13:48:50 25 4
gpt4 key购买 nike

我有一个项目,目录结构是这样的:

                         $projectroot
|
+---------------+----------------+
| | |
part1/ part2/ part3/
| | |
+------+-----+ +---+----+ +---+-----+
| | | | | | |
data/ src/ inc/ src/ inc/ src/ inc/

我应该如何编写一个位于 part/src(或任何真正的地方)的 makefile,它可以在 c/c++ 源文件上完成/链接 part?/src?

我可以做类似的事情吗-I$projectroot/part1/src -I$projectroot/part1/inc -I$projectroot/part2/src ...

如果这行得通,有没有更简单的方法呢?我见过每个相应部分都有一个 makefile 的项目吗?文件夹。 [在这篇文章中,我使用了 bash 语法中的问号]

最佳答案

传统的方法是在每个子目录(part1part2 等)中都有一个Makefile,允许您构建它们独立地。此外,在构建所有内容的项目的根目录中有一个 Makefile。 “root”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/24406334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com