Esportare le variabili proxy nelle ricette di GNU Make
Esporta un ambiente proxy per i comandi delle ricette di GNU make ed evita di perdere un export di shell tra righe di ricetta separate.
make esegue il downloader; il downloader decide come usare un proxy. Per GNU make esporta le variabili a livello di Makefile quando ogni ricetta pertinente deve riceverle:
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
La riga della ricetta inizia con una tabulazione. Le direttive export appartengono alla sintassi di make e passano i valori nell'ambiente dei comandi.
Un export di shell su una riga di ricetta di solito scompare prima della riga successiva, perché GNU make avvia una shell separata per ogni riga. Per un solo comando usa invece un'assegnazione di shell direttamente con quel comando:
fetch:
http_proxy=http://proxy.example:8080 https_proxy=http://proxy.example:8080 curl --fail https://downloads.example/package.tar.gz
Usa i nomi delle variabili e il protocollo proxy documentati del downloader. Se la build può usare un endpoint HTTP pubblico, scegli un candidato dalla lista di proxy HTTP per quei valori d'ambiente. Un eseguibile che ignora queste variabili ha bisogno della propria opzione proxy. È meglio fornire le credenziali tramite l'ambiente di build che scriverle nel Makefile.
Questi export influenzano i comandi figli. Non cambiano l'ambiente del terminale padre dopo l'uscita di make.