Eksportér proxyvariabler til GNU Make-opskrifter
Eksportér et proxymiljø til GNU make-opskrifternes kommandoer, og undgå at miste et shell-export mellem separate opskriftslinjer.
make kører downloaderen; downloaderen vælger, hvordan en proxy bruges. Til GNU make eksporterer du variablerne på Makefile-niveau, når hver relevant opskrift skal modtage 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
Opskriftslinjen begynder med et tabulatortegn. export-direktiverne hører til makes syntaks og sender værdierne ind i kommandoernes miljø.
Et shell-export på én opskriftslinje forsvinder normalt før den næste linje, fordi GNU make starter et separat shell for hver linje. Til én kommando bør du i stedet bruge en shell-tildeling direkte sammen med kommandoen:
fetch:
http_proxy=http://proxy.example:8080 https_proxy=http://proxy.example:8080 curl --fail https://downloads.example/package.tar.gz
Brug downloaderens dokumenterede variabelnavne og proxyprotokol. Hvis bygget kan bruge et offentligt HTTP-endepunkt, så vælg en kandidat fra HTTP-proxylisten til de miljøværdier. En eksekverbar fil, der ignorerer disse variabler, har brug for sin egen proxyindstilling. Legitimationsoplysninger bør leveres via byggemiljøet frem for at blive skrevet i Makefile.
Disse eksporter påvirker underordnede kommandoer. De ændrer ikke den overordnede terminals miljø, når make afslutter.