Tarpinio serverio kintamųjų eksportavimas į GNU Make taisykles
Eksportuokite tarpinio serverio aplinką GNU make taisyklių komandoms ir išvengsite shell export praradimo tarp atskirų taisyklės eilučių.
make paleidžia atsisiuntėją; atsisiuntėjas nusprendžia, kaip naudoti tarpinį serverį. GNU make atveju eksportuokite kintamuosius Makefile lygmenyje, kai kiekviena susijusi taisyklė turi juos gauti:
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
Taisyklės eilutė prasideda tabuliavimo ženklu. export direktyvos priklauso make sintaksei ir perduoda reikšmes komandų aplinkai.
shell export vienoje taisyklės eilutėje paprastai išnyksta prieš kitą eilutę, nes GNU make kiekvienai eilutei iškviečia atskirą shell. Vienai komandai vietoj to naudokite shell priskyrimą tiesiogiai su ta komanda:
fetch:
http_proxy=http://proxy.example:8080 https_proxy=http://proxy.example:8080 curl --fail https://downloads.example/package.tar.gz
Naudokite dokumentuotus atsisiuntėjo kintamųjų pavadinimus ir tarpinio serverio protokolą. Jei kūrimas gali naudoti viešą HTTP galinį tašką, pasirinkite kandidatą iš HTTP tarpinių serverių sąrašo toms aplinkos reikšmėms. Vykdomajai programai, kuri nepaiso šių kintamųjų, reikia savo tarpinio serverio parinkties. Kredencialus geriau perduoti per kūrimo aplinką nei įrašyti į Makefile.
Šie eksportai veikia pavaldžias komandas. Jie po make pabaigos nekeičia pagrindinio terminalo aplinkos.