A make indítja a letöltőt; a letöltő dönti el, hogyan használja a proxyt. GNU make esetén a Makefile szintjén exportáld a változókat, amikor minden érintett receptnek meg kell kapnia őket:

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

A receptsor egy tabulátorral kezdődik. Az export utasítások a make szintaxisához tartoznak, és átadják az értékeket a parancsok környezetének.

Az egy receptsoron végzett shell export általában eltűnik a következő sor előtt, mert a GNU make minden sorhoz külön shellt indít. Egyetlen parancshoz inkább shell-értékadást használj közvetlenül az adott parancsnál:

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

Használd a letöltő dokumentált változóneveit és proxyprotokollját. Ha a build használhat nyilvános HTTP-végpontot, válassz jelöltet a HTTP-proxylistáról ezekhez a környezeti értékekhez. Az a végrehajtható fájl, amely figyelmen kívül hagyja ezeket a változókat, saját proxyopciót igényel. A hitelesítő adatokat jobb a build környezetén keresztül megadni, mint a Makefile-ba írni.

Ezek az exportok a gyermekparancsokra hatnak. Nem változtatják meg a szülő terminál környezetét, miután a make kilép.

Kapcsolódó cikkek