¿Convertir hexadecimal a decimal en make script?
-
07-07-2019 - |
Pregunta
Un script make intenta establecer una variable de la siguiente manera:
VER_DEC=$( perl -e "print hex(\"$(VER_HEX)\");" )
donde VER_HEX
tiene un valor de 0a
.
Perl parece pensar que VER_HEX es cero, lo que implica que la variable no está configurada (pero es , de acuerdo con un eco de depuración en el archivo MAKE).
¿Tiene make una forma más sencilla de convertir bases?
Si es así, ¿qué versión de make se requiere?
ACTUALIZACIÓN: Este es un Makefile GNU. A la invocación de perl le falta la palabra shell
dentro del $ ()
y posiblemente tenga problemas de escape con las comillas dobles.
Solución
VER_DEC=$(shell printf "%d" 0x$(VER_HEX))
si estás hablando de Makefile
. Porque tu no se parece a Makefile
para mí, más bien a shell. (Creo que $ (shell)
es una extensión de GNU, pero la mayoría de las veces puede reemplazarlo de forma segura con backticks).