0

一个make脚本试图设置一个变量,如下所示:

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

whereVER_HEX的值恰好为0a.

Perl 似乎认为 VER_HEX 为零,这意味着该变量未设置(但根据 makefile 中的调试回显,它)。

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

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

更新:这是一个 GNU Makefile。perl 的调用缺少shell内部的单词$( )以及双引号可能存在​​转义问题。

4

1 回答 1

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

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

于 2009-09-15T17:50:51.840 回答