2

私はメイクファイルで作業しており、現在デバッグモードで実行しています。「child 0x5435etc PID 2344 をチェーンに入れる」ことに気付きました。これは、どのファイルが生成されたかを記憶する makefile の方法ですか?

以下のようなターゲットのさまざまな種類のファイルを生成するツールを使用しているためです。

    %.v: $.rdl
       (Generates .html, .v, .vh, .xml, .spirit.xml, etc into current directory)

ツールは、期待どおりにすべてのファイルを生成します。

次に、メイクファイルはターゲットを実行します

    vpath %.spirit.xml ${list_of_directories}
    %.ralf: %.spirit.xml
       (Generates a .ralf and .spirit.ralf)

クリーンなディレクトリで「$ make」を初めて実行すると、最初のターゲットで .v ファイルのリストが生成されますが、最初の .ralf で失敗します。「$ make」を再度実行すると、すべての .ralf ファイルが正しくビルドされます。簡単な答えはありますか?%.v ターゲットのチェーンに子を入れると、.v ファイルしか入れられないことに気付きました! 他の人が存在することを知らないかもしれないと思っていました!

4

1 に答える 1

2

ええ、そのコマンドが複数の出力を生成することを Make に伝える必要があります。

これはうまくいくはずです:

%.html %.v %.vh %.xml %.spirit.xml: %.rdl
        # command

マニュアルのパターン例を参照してください。

于 2013-07-11T04:01:22.000 に答える