【发布时间】:2013-10-14 12:09:37
【问题描述】:
如果我正在创建一个包含许多子目录的项目,每个子目录对应一个特定的模块,如 A、B、C、D、E、F 和可执行目标 E1、E2、E3。每个模块对应一个由可执行目标使用的 *.a。我的问题是如何生成模块和模块之间的依赖关系以及模块和可执行目标之间的依赖关系。也就是说,如果 E1 使用 A 的一个文件,那么 E1 应该依赖于 A,因为我需要链接 A.a 来创建 E1。
我应该如何设计我的 Makefile 来生成这种类型的依赖?谢谢,我是 Makefile 的新手。
【问题讨论】:
-
您是在问如何为 E1 编写规则,使 A.a 成为 E1 的先决条件?
-
是的,但我希望自动生成此规则,而不是自己编写,以防我对该依赖项出错。那可能吗?或者我只是想知道如何在包含多个库和可执行文件的大型项目中编写 Makefile,其中每个可执行文件都依赖于一些库。我认为手工编写这些依赖项时容易出错。谢谢
-
这些依赖可以自动处理,但是比较麻烦。您使用什么语言?你有一个合理的命名约定(例如
A/A.a)吗? -
c 和 c++。是的,命名约定是 A/A.a,同一文件夹或不同文件夹中的所有可执行目标都无关紧要。你能告诉我如何处理吗?非常感谢...
标签: makefile dependencies