make 脚本正在尝试按如下方式设置变量:
VER_DEC=$( perl -e "print hex(\"$(VER_HEX)\");" )
其中VER_HEX
的值恰好为0a
。
Perl似乎认为VER_HEX为零,暗示该变量未设置(但是,根据makefile中的调试回显)。
make有更简单的方法来转换碱基吗?
如果是这样,需要什么版本的make?
更新:这是一个GNU Makefile。对perl的调用缺少shell
内的单词$( )
,并且可能会出现双引号的转义问题。
答案 0 :(得分:2)
VER_DEC=$(shell printf "%d" 0x$(VER_HEX))
如果你在谈论Makefile
。因为你对我来说看起来不像Makefile
,更像是shell。 (我认为$(shell )
是GNU扩展,但大多数时候你可以用反引号安全地替换它。)