Exporter les variables de proxy vers les recettes GNU Make
Exportez un environnement proxy pour les commandes des recettes GNU make et évitez de perdre un export shell entre des lignes de recette distinctes.
make lance le téléchargeur ; c'est le téléchargeur qui choisit comment utiliser un proxy. Pour GNU make, exportez les variables au niveau du Makefile lorsque chaque recette concernée doit les recevoir :
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
La ligne de recette commence par une tabulation. Les directives export appartiennent à la syntaxe de make et transmettent les valeurs à l'environnement des commandes.
Un export shell sur une ligne de recette disparaît normalement avant la ligne suivante, car GNU make lance un shell distinct pour chaque ligne. Pour une seule commande, utilisez plutôt une affectation shell directement avec cette commande :
fetch:
http_proxy=http://proxy.example:8080 https_proxy=http://proxy.example:8080 curl --fail https://downloads.example/package.tar.gz
Utilisez les noms de variables et le protocole proxy documentés du téléchargeur. Si la compilation peut utiliser un point de terminaison HTTP public, choisissez un candidat dans la liste de proxys HTTP pour ces valeurs d'environnement. Un exécutable qui ignore ces variables a besoin de sa propre option proxy. Mieux vaut fournir les identifiants via l'environnement de compilation que les inscrire dans le Makefile.
Ces exports affectent les commandes enfants. Ils ne modifient pas l'environnement du terminal parent après la sortie de make.