使压缩存档的内容成为目标

时间:2018-04-09 19:35:10

标签: makefile

假设我需要下载包含数千个压缩CSV文件的压缩存档,并将其解压缩,我想在此过程中使用make。第一步很简单:

myarchive.zip:
    curl -o myarchive.zip 'http://path/to/archive.zip'

但是在下载档案之前,我不知道其中每个文件的名称。这不起作用。

extracted/*.csv: myarchive.zip
    unzip myarchive.zip -d extracted

如何让make知道所有这些CSV文件都是目标?

1 个答案:

答案 0 :(得分:1)

目前尚不清楚你想要什么,但这可能很接近:

ARCHIVE_DIR := extracted

.PHONY: archive
archive: myarchive.zip
    unzip $< -d $(ARCHIVE_DIR)

myarchive.zip:
    curl -o $@ 'http://path/to/archive.zip'