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

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

私は持っていますいくつかのスクリプト以下を含む行がわかりません$(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

$(1)GNU make "function"の最初のパラメータです。変える次のように解釈されます。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)機能。

関連情報