web-dev-qa-db-ja.com

Makefileで$(number)はどういう意味ですか?

私は some script を持っており、$(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)は何を表していますか?

8
men.mouhamed1

$(1)は、GNU make“ function”の最初の引数です。これは variablecall 関数:

_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)
_

これは、最初の引数として指定されたDOIに一致するデータファイルをダウンロードする関数_dataverse_download_を定義します。 _download_wget_ターゲットは、これを $(call) 関数で使用する方法を示しています。

10
Stephen Kitt