make kör nedladdaren; nedladdaren väljer hur en proxy används. För GNU make exporterar du variablerna på Makefile-nivå när varje relevant recept ska få dem:

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

Receptraden börjar med en tabb. export-direktiven hör till makes syntax och skickar värdena in i kommandonas miljö.

Ett shell-export på en receptrad försvinner vanligtvis före nästa rad, eftersom GNU make startar ett eget skal för varje rad. För ett enda kommando använder du i stället en shell-tilldelning direkt vid kommandot:

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

Använd nedladdarens dokumenterade variabelnamn och proxyprotokoll. Om bygget kan använda en publik HTTP-slutpunkt, välj en kandidat från HTTP-proxylistan för de miljövariablerna. En körbar fil som ignorerar dessa variabler behöver sitt eget proxyval. Inloggningsuppgifter bör hellre levereras via byggmiljön än skrivas i Makefile.

Dessa exporter påverkar underordnade kommandon. De ändrar inte den överordnade terminalens miljö när make avslutas.

Relaterade artiklar