質問

make スクリプトは次のように変数を設定しようとしています:

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

where VER_HEX の値は 0a です。

PerlはVER_HEXがゼロであると考えているようです。これは、変数が設定されていないことを意味します(ただし、メイクファイルのデバッグエコーによると です)。

塩基を変換するより簡単な方法はありますか?

もしそうなら、どのバージョンのmakeが必要ですか?

UPDATE:これはGNU Makefileです。 perlの呼び出しには、 $()内に単語 shell がありません。また、二重引用符でエスケープの問題が発生する可能性があります。

役に立ちましたか?

解決

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

Makefile について話している場合。私には Makefile のように見えないので、シェルのようです。 ( $(shell)はGNU拡張機能だと思いますが、ほとんどの場合、バックティックで安全に置き換えることができます)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top