Makefile - 如何调用其他具有依赖关系的 makefile
嘿,我有一个简单的“主”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 最新消息或其他消息)。
有什么提示吗?
Hey, I have a simple "master" Makefile who simply calls other makefiles. I'm trying to do the following in order to build components in the right order:
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)
However, when I make, only LIB_A gets built.
(I don't even get a folder_b up-to-date message or whatever).
Any hint ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要将
all
设置为默认值。您可以通过以下任一方式执行此操作:.DEFAULT_GOAL := all
或者,您可以运行
make all
而不是仅仅运行制作
。You need to make
all
the default. You can do this in either of these ways:.DEFAULT_GOAL := all
Alternatively, you could run
make all
instead of justmake
.Neil Butterworth 解决了这个问题,但您也可以使这个 makefile 更简洁一些:
Neil Butterworth solved the problem, but you can also make this makefile a little more concise: