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.

Падобныя артыкулы