Преобразовать шестнадцатеричное в десятичное в скрипте make? - PullRequest
0 голосов
/ 15 сентября 2009

A make Сценарий пытается установить переменную следующим образом:

VER_DEC=$( perl -e "print hex(\"$(VER_HEX)\");" )

, где VER_HEX имеет значение 0a.

Perl, похоже, считает, что VER_HEX равен нулю, подразумевая, что переменная не установлена ​​(но это равно , в соответствии с отладочным эхо в make-файле).

Есть ли в make более простой способ конвертации баз?

Если это так, какая версия make требуется?

ОБНОВЛЕНИЕ: это Makefile GNU. В вызове perl отсутствует слово shell внутри $( ), а также возможно возникновение проблем с двойными кавычками.

1 Ответ

2 голосов
/ 15 сентября 2009
VER_DEC=$(shell printf "%d" 0x$(VER_HEX))

, если вы говорите о Makefile. Потому что ты не похож на Makefile для меня, больше похож на оболочку. (Я думаю, $(shell ) является расширением GNU, но большую часть времени вы можете смело заменять его обратными чертами).

...