【发布时间】:2013-04-22 10:06:09
【问题描述】:
我的工作文件夹树:
.
|-- work_folder1
| |-- some.c file
| |-- Makefile B
|
|-- some.c file
|-- Makefile A
我的makefile A调用Makefile B中的'all'规则。Makefile B的'all'规则生成一个名为'B.o' [$(NAME) variable]的.o文件并将其复制到工作文件夹(cp ../ )。 Makefile A 编译.c 文件并将它们与“B.o”链接。但是如果我决定在 Makefile B 中更改 'B.o' 的名称,例如 'my_B.o',Makefile A 将无法编译,因为 'B.o' 不再存在。
如何从 Makefile A 读取 Makefile B 的 $(NAME) 变量?
【问题讨论】:
-
我的方法是让Makefile B先make并导出这个值,然后读取Makefile A中的值
-
我不是 MAKE 专家,但在 makefile A 中指定
BNAME似乎更容易,并将其传递给 makefile B。取决于 B 的实际情况(一整套类,可能是一个完整的命名空间,或者只有一个或两个类)这种方法当然或多或少是可行的,因为我假设您的项目中至少有几个像 B 这样的子目录。 -
@MYMNeo 很有趣。导出文件中的值?