我想有一个用于编译项目的makefile,如果它们丢失,我需要下载一些文件(二进制文件),因为用git跟踪它们不是一个好主意.
我有一个URL列表和一个给定名称的列表(我希望能够选择名称来保存它们,因为我无法控制URL名称,而且大多数名称非常糟糕且不具描述性).假设文件将始终相同或者我们不关心它们是否在服务器中更改(我们不需要再次下载它们).
所以我的想法是在我的makefile中写这样的东西:
files = one two three four
main : $(files)
command to do when files are present
Run Code Online (Sandbox Code Playgroud)
但我希望每个人都可以下载,如果它们不存在,并且每个都来自它自己的URL,所以我需要像$(文件)元素的迭代.
我会在脑海里写下我想在混合python代码和makefile中知道的想法.我知道这是垃圾,但我不知道其他任何方式(问题是如何写好,基本上),我认为这很容易理解.
urls = url1 url2 url3 url4
for i in len(files):
$(files)[i] :
curl -Lo $(files)[i] $(urls)[i]
Run Code Online (Sandbox Code Playgroud)
因此问题是:我该怎么做?
我一直在查看make文档一段时间,如果没有多次写入文件名,我找不到正确的方法(我认为应该避免使用变量,而应该使用变量).也许罐头食谱是方式,但我看不出如何.