Экспарт проксі-змянных у рэцэпты 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.