gpt4 book ai didi

makefile - 仅当先决条件发生变化时,如何让 GNU make 重建虚假目标?

转载 作者:行者123 更新时间:2023-12-04 15:32:51 26 4
gpt4 key购买 nike

就我而言,我有 requirements目标,安装需要的 Python 包和 test ,它运行测试并依赖于前一个。

安装依赖项是一个很长的操作,我希望它仅在 requirements.txt 时执行变化。我怎样才能做到这一点?

这是我现在拥有的 Makefile 的一个简化示例:

.PHONY: test requirements

requirements: requirements.txt
pip install -r $<

test: tests/ | requirements
py.test $^

最佳答案

正如@user1034749 指出的,Make 比较了文件的修改时间。如果你想让它知道什么时候 requirements.txt自从上次安装后被修改,你必须给它一个修改时间与上次安装时间相同的文件,以便它可以比较两者。换句话说,您必须有一个虚拟文件并在执行安装时对其进行修改。你可以叫它任何你喜欢的东西,但我会称之为“安装”:

.PHONY: test

installation: requirements.txt
pip install -r $<
touch $@

test: tests/ | installation
py.test $^

关于makefile - 仅当先决条件发生变化时,如何让 GNU make 重建虚假目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33597117/

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