Make
$(number) 在 Makefile 中是什麼意思?
我有一些腳本,但我不明白包含以下內容的行
$(1)
:wget --retry-connrefused --waitretry=5 --read-timeout=30 --tries=50 --no-dns-cache https://dataverse.harvard.edu/api/access/datafile/:persistentId?persistentId=doi:$(1) -O data/tmp.tar.gz
代表什麼
$(1)
?
$(1)
是 GNU make“函式”的第一個參數,它是由函式解釋的變數call
:define dataverse_download wget --retry-connrefused --waitretry=5 --read-timeout=30 --tries=50 --no-dns-cache https://dataverse.harvard.edu/api/access/datafile/:persistentId?persistentId=doi:$(1) -O data/tmp.tar.gz cd data && tar -xzf tmp.tar.gz rm -f data/tmp.tar.gz endef download_wget: mkdir -p data $(call dataverse_download,10.7910/DVN/IA8UOS/URG8XN) $(call dataverse_download,10.7910/DVN/IA8UOS/1DBE7K) $(call dataverse_download,10.7910/DVN/IA8UOS/34QRHK)
這定義了一個函式 ,
dataverse_download
它下載與作為第一個參數給出的 DOI 匹配的數據文件;目標顯示瞭download_wget
如何將其與$(call)
函式一起使用。