Converter hexadecimal para decimal no roteiro make?
-
07-07-2019 - |
Pergunta
A make roteiro está tentando definir uma variável da seguinte maneira:
VER_DEC=$( perl -e "print hex(\"$(VER_HEX)\");" )
onde VER_HEX
passa a ter um valor de 0a
.
Perl parece pensar que VER_HEX é zero, o que implica que a variável não está definido (mas é , de acordo com uma depuração eco no makefile).
faz tem uma maneira simples de bases converter?
Se sim, qual a versão do make é necessária?
UPDATE: Este é um GNU Makefile. A invocação do perl está faltando a palavra shell
dentro do $( )
, bem como potencialmente ter escapando problemas com as aspas.
Solução
VER_DEC=$(shell printf "%d" 0x$(VER_HEX))
Se você está falando Makefile
. Porque o seu não parece Makefile
para mim, mais como shell. (Acho $(shell )
é uma extensão GNU, mas a maioria do tempo você pode seguramente substituí-lo com acentos graves).