如何解决Makefile-如何调用具有依赖性的其他Makefile
| 嘿,我有一个简单的\“ master \\” Makefile,它只调用其他makefile。我正在尝试执行以下操作,以便以正确的顺序构建组件:LIB_A = folder_a
LIB_B = folder_b
LIB_C = folder_c
MY_TARGETS = $(LIB_A) $(LIB_B) $(LIB_C)
.PHONY: $(LIB_A)
$(LIB_A):
@$(MAKE) -C $@;
.PHONY: $(LIB_B)
$(LIB_B):
@$(MAKE) -C $@;
.PHONY: $(LIB_C)
$(LIB_C): $(LIB_A) $(LIB_B)
@$(MAKE) -C $@;
.PHONY: all
all: $(MY_TARGETS)
但是,当我创建时,只有LIB_A被构建。
(我什至没有得到folder_b最新消息或其他信息)。
有什么提示吗?
解决方法
您需要将“ 1”设置为默认值。您可以通过以下两种方式之一进行操作:
将其移动到文件中的第一个目标
加
.DEFAULT_GOAL := all
或者,您可以运行make all
而不是make
。
,尼尔·巴特沃思(Neil Butterworth)解决了这个问题,但您也可以使此makefile更加简洁:
LIB_A = folder_a
LIB_B = folder_b
LIB_C = folder_c
MY_TARGETS = $(LIB_A) $(LIB_B) $(LIB_C)
.PHONY: all $(MY_TARGETS)
all: $(MY_TARGETS)
$(MY_TARGETS):
@$(MAKE) -C $@;
$(LIB_C): $(LIB_A) $(LIB_B)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。