我的工作文件夹的树:
.
|-- work_folder1
| |-- some.c file
| |-- Makefile B
|
|-- some.c file
|-- Makefile AMakefile A编译.c文件并将它们与“B.O”链接。但是如果我决定更改Makefile B中的'B.o‘的名称,例如'my_B.o',Makefile A将无法编译,因为'B.o’不再存在。
如何从Makefile A读取Makefile B的$(NAME)变量?
发布于 2013-04-22 18:19:15
您可以在Makefile B中添加一个特殊的.PHONY规则,以便它输出您想要的名称。
在Makefile B中
.PHONY: get_names
get_names:
@echo "B.o"在Makefile A中
B_Files:=$(shell $(MAKE) -C work_folder_B get_names)
# You can use $(B_Files) that will contain `B.o`.请注意,在Makefile A中使用了:=,以便您只运行一次make来获取名称。
发布于 2013-04-22 19:01:28
我找到了!非常感谢Didier!
在我的Makefile B中:
$(NAME): my_B.o
PHONY: get_name
get_name:
@echo $(NAME)在我的Makefile A中:
B_Files:=$(shell make -s -C work_folder_B get_name)https://stackoverflow.com/questions/16144408
复制相似问题