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.

Relaterede artikler