gpt4 book ai didi

code-generation - 如何编写 Makefile 规则以仅在文件丢失时下载文件?

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

我正在尝试编写一个 Makefile,当且仅当它们丢失时,它应该下载一些源。

就像是:

hello: hello.c
gcc -o hello hello.c

hello.c:
wget -O hello.c http://example.org/hello.c

但当然这会导致 hello.c每次运行 make 命令时下载。我要 hello.c仅在缺少此 Makefile 时才由该 Makefile 下载。这对 GNU make 是否可行,如果可以,如何做到这一点?

最佳答案

我的猜测是 wget 不会更新 hello.c 上的时间戳,而是保留远程时间戳。这会导致 make相信 hello.c 是旧的并尝试再次下载它。尝试

hello.c:
wget ...
touch $@

编辑: wget 的 -N 选项将阻止 wget 下载任何内容,除非远程文件更新(但它仍然会检查远程文件的时间戳,当然。)

关于code-generation - 如何编写 Makefile 规则以仅在文件丢失时下载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1588013/

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