Makefile: longue commande
Bonjour,
Je cherche à exécuter l'affectation de la variable PERL_TAG dans un Makefile, mais ça marche pas, je pense que c'est du au sous-shell successif et à la manière dont sont interpréter les variables dans la commande.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
SHELL:=/bin/bash
export
.SHELLFLAGS += -e
PERL_TAG?=$(echo $(echo $(echo "{"; i=1; for version in $(curl -s https://raw.githubusercontent.com/Perl/docker-perl/master/config.yml | grep ' version: ' | cut -d ':' -f 2 | tr -d ' '); do echo "\"version${i}\": \"${version}\",";((i=i+1)); done ; echo "\"version0\": \"0\""; echo "}") | jq -r '.| to_entries | max_by(.value) | .value')-slim)
ifndef DEBUG
.SILENT:
endif
.PHONY: * |
Dans un shell, le code suivant donne bien la réponse.
Code:
echo $(echo $(echo "{"; i=1; for version in $(curl -s https://raw.githubusercontent.com/Perl/docker-perl/master/config.yml | grep ' version: ' | cut -d ':' -f 2 | tr -d ' '); do echo "\"version${i}\": \"${version}\",";((i=i+1)); done ; echo "\"version0\": \"0\""; echo "}") | jq -r '.| to_entries | max_by(.value) | .value')-slim
ps: Je veux bien un rappel sur l'utilisation des variables et leur affectation dans un Makefile.
Merci d'avance