make menjalankan pengunduh; pengunduh memilih bagaimana proxy digunakan. Untuk GNU make, ekspor variabel di tingkat Makefile saat setiap resep terkait harus menerimanya:

export http_proxy := http://proxy.example:8080
export https_proxy := http://proxy.example:8080

fetch:
	curl --fail --output package.tar.gz https://downloads.example/package.tar.gz

Baris resep diawali dengan tab. Direktif export termasuk sintaks make dan meneruskan nilai ke lingkungan perintah.

shell export pada satu baris resep biasanya hilang sebelum baris berikutnya, karena GNU make memanggil shell terpisah untuk setiap baris. Untuk satu perintah, gunakan penetapan shell langsung bersama perintah itu:

fetch:
	http_proxy=http://proxy.example:8080 https_proxy=http://proxy.example:8080 curl --fail https://downloads.example/package.tar.gz

Gunakan nama variabel dan protokol proxy yang didokumentasikan pengunduh. Jika build dapat memakai endpoint HTTP publik, pilih kandidat dari daftar proxy HTTP untuk nilai lingkungan tersebut. Program yang mengabaikan variabel ini memerlukan opsi proxy sendiri. Kredensial lebih baik diberikan melalui lingkungan build daripada ditulis di Makefile.

Ekspor ini memengaruhi perintah anak. Ekspor ini tidak mengubah lingkungan terminal induk setelah make keluar.

Artikel terkait