gpt4 book ai didi

makefile - 当有更改时调用子 make 进行构建时,如何检查依赖关系?

转载 作者:行者123 更新时间:2023-12-02 20:05:00 24 4
gpt4 key购买 nike

如果我有一个 makefile 调用另一个 makefile,如何让主 makefile 正确检查从属 makefile 的依赖项是否已更改?

例如,如果我有规则

server:
@cd $(SERVERDIR) && $(MAKE)

这会在我构建可执行“服务器”的子目录中调用 make。但是,如果我更改组成服务器的文件之一,则父级 make 看不到更改并拒绝重建服务器 - “make:`server' 是最新的。”

如何让主 makefile 正确检测依赖文件之一(例如 $(SERVERDIR)/server.c 之类的文件)何时发生更改?

最佳答案

您似乎想使用虚假目标

.PHONY: server
server:
@cd $(SERVERDIR) && $(MAKE)

这里有虚假目标的详细描述 here ,但简短的描述是您告诉 makefile 永远不会有与此服务器目标对应的文件,因此如果目录中存在名为 server 的文件,它不会认为服务器是最新的。

关于makefile - 当有更改时调用子 make 进行构建时,如何检查依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/556876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com