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 അവസാനിച്ചതിന് ശേഷം അവ മാതൃ ടെർമിനലിന്റെ പരിതസ്ഥിതി മാറ്റുന്നില്ല.