首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Makefile中读取Makefile中的变量

在Makefile中读取Makefile中的变量
EN

Stack Overflow用户
提问于 2013-04-22 18:06:10
回答 2查看 465关注 0票数 4

我的工作文件夹的树:

代码语言:javascript
复制
.
|-- work_folder1
|    |-- some.c file
|    |-- Makefile B
|
|-- some.c file
|-- Makefile A

Makefile A编译.c文件并将它们与“B.O”链接。但是如果我决定更改Makefile B中的'B.o‘的名称,例如'my_B.o',Makefile A将无法编译,因为'B.o’不再存在。

如何从Makefile A读取Makefile B的$(NAME)变量?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-22 18:19:15

您可以在Makefile B中添加一个特殊的.PHONY规则,以便它输出您想要的名称。

在Makefile B中

代码语言:javascript
复制
.PHONY: get_names

get_names:
    @echo "B.o"

在Makefile A中

代码语言:javascript
复制
B_Files:=$(shell $(MAKE) -C work_folder_B get_names)

# You can use $(B_Files) that will contain `B.o`.

请注意,在Makefile A中使用了:=,以便您只运行一次make来获取名称。

票数 4
EN

Stack Overflow用户

发布于 2013-04-22 19:01:28

我找到了!非常感谢Didier!

在我的Makefile B中:

代码语言:javascript
复制
$(NAME): my_B.o

PHONY: get_name

get_name:
    @echo $(NAME)

在我的Makefile A中:

代码语言:javascript
复制
B_Files:=$(shell make -s -C work_folder_B get_name)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16144408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档