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
రెసిపీ పంక్తి tab తో ప్రారంభమవుతుంది. 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 ముగిసిన తర్వాత అవి మాతృ టెర్మినల్ వాతావరణాన్ని మార్చవు.