Извоз на прокси променливи во рецепти на GNU Make
Извезете прокси опкружување за командите на рецептите на GNU make и избегнете губење на shell export меѓу одделни редови на рецептот.
make го стартува преземачот; преземачот одлучува како да се користи прокси. За GNU make извезете ги променливите на ниво на Makefile кога секој релевантен рецепт треба да ги добие:
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
Редот на рецептот започнува со табулатор. Директивите export припаѓаат на синтаксата на make и ги пренесуваат вредностите во опкружувањето на командите.
shell export на еден ред од рецептот обично исчезнува пред следниот ред, бидејќи GNU make повикува одделен shell за секој ред. За една команда наместо тоа користете shell доделување директно со таа команда:
fetch:
http_proxy=http://proxy.example:8080 https_proxy=http://proxy.example:8080 curl --fail https://downloads.example/package.tar.gz
Користете ги документираните имиња на променливи и прокси протоколот на преземачот. Ако изградбата може да користи јавен HTTP крај, изберете кандидат од списокот на HTTP прокси за тие вредности на опкружувањето. Извршна датотека што ги игнорира овие променливи бара сопствена прокси опција. Акредитивните податоци подобро е да се достават преку опкружувањето за изградба отколку да се запишат во Makefile.
Овие извози влијаат на подредените команди. Тие не го менуваат опкружувањето на родителскиот терминал откако make ќе заврши.