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 सकिएपछि तिनीहरूले मूल टर्मिनलको वातावरण परिवर्तन गर्दैनन्।