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 מסתיים.

מאמרים קשורים