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 শেষ হওয়ার পর এগুলো মূল টার্মিনালের পরিবেশ বদলায় না।

সম্পর্কিত নিবন্ধ