Proxy-változók exportálása GNU Make-receptekbe
Exportálj proxy-környezetet a GNU make receptparancsaihoz, és kerüld el, hogy egy shell export elveszítsen a külön receptsorok között.
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.