make spúšťa sťahovač; sťahovač rozhoduje, ako použiť proxy. V GNU make exportujte premenné na úrovni Makefile, keď ich má každý relevantný recept dostať:

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

Riadok receptu sa začína tabulátorom. Direktívy export patria k syntaxi make a odovzdávajú hodnoty do prostredia príkazov.

shell export na jednom riadku receptu zvyčajne zmizne pred ďalším riadkom, pretože GNU make spúšťa samostatný shell pre každý riadok. Pre jediný príkaz použite radšej shell priradenie priamo pri tomto príkaze:

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

Používajte dokumentované názvy premenných a protokol proxy daného sťahovača. Ak zostavenie môže použiť verejný HTTP koncový bod, vyberte kandidáta zo zoznamu HTTP proxy pre tieto hodnoty prostredia. Spustiteľný súbor, ktorý tieto premenné ignoruje, potrebuje vlastnú voľbu proxy. Prihlasovacie údaje je lepšie dodať cez prostredie zostavenia než ich ukladať do Makefile.

Tieto exporty ovplyvňujú podriadené príkazy. Po ukončení make nemenia prostredie nadradeného terminálu.

Súvisiace články