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، محیط ترمینال والد را تغییر نمی‌دهند.

مقالات مرتبط