make 脚本正在尝试按如下方式设置变量:

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

其中 VER_HEX 的值恰好为 0a

Perl似乎认为VER_HEX为零,暗示该变量未设置(但,根据makefile中的调试回显)。

make有更简单的方法来转换碱基吗?

如果是这样,需要什么版本的make?

更新:这是一个GNU Makefile。 perl的调用缺少 $()中的 shell 这个词,并且可能有双引号的转义问题。

有帮助吗?

解决方案

VER_DEC=$(shell printf "%d" 0x$(VER_HEX))

如果您正在谈论 Makefile 。因为你看起来不像 Makefile ,更像是shell。 (我认为 $(shell)是GNU扩展,但大多数时候你可以用反引号安全地替换它。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top