0

FPGA チームのメイクファイル環境に取り組んでいますが、現在マクロに問題があります。TOOL_EXEC 変数に示されているように定義しましたが、二重引用符と括弧に関連する「予期しないトークン」エラーが発生します。二重引用符を付けると、変数は引用符なしで膨張し、エラーは発生しませんが、ツールではそれらを括弧で囲む必要があります。完全に引用された括弧情報を渡す必要がありますが、マクロ定義が問題を引き起こしています!

"予期しないトークン `(' の近くで構文エラーが発生しました"

    Example call to tool: (This works fine)
    $ Tool --v v4.5 -odir . -verilog -vh "('name', 'propname', 'address', 'desc')" filename.rdl

    Desired Macro/variable: (not working)
    TOOL_EXEC = -odir . -verilog -vh "('name', 'propname', 'address', 'desc')"

何か案は?ありがとう

4

2 に答える 2

1

Makefile で変数を設定するときは、次のように、ドル記号を付けずに変数の名前のみを使用します。

TOOL_EXEC = -odir . -verilog -vh "('name', 'propname', 'address', 'desc')"

と書く${TOOL_EXEC}と展開され、展開結果が変数名として使われます。設定されていない場合は、次のように解決されます。

 = -odir . -verilog -vh "('name', 'propname', 'address', 'desc')"

これは明らかに正しくありません。

于 2013-07-06T01:22:06.780 に答える