Експорт змінних проксі в рецепти 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.