0

スタック!

熱心な実験と検索を行っても、この一見簡単な質問に対する解決策は見つかりませんでした。

私のビルドでは、.cc ファイルは .proto ファイルに依存しています。make プロセス中に、.proto ファイルは .cc および .h ファイルに変換され、それらが収集されて実行可能ファイルにビルドされます。

.proto を削除すると、対応する中間 .cc ファイルが make プロセスで自動的に削除されるようにするにはどうすればよいですか? (そうでない場合は、ビルドの次の段階に持ち込まれ、過去に問題が発生しました。)

現在、.proto を削除または名前変更するときに、生成されたすべての .cc/.h ファイルを消去するだけです。これは正しいですが、ほぼシステム全体の再構築を引き起こします。

前もって感謝します...!

4

1 に答える 1

1

のようなルールを書くことができますがclean、それほど厳密ではありません:

SOURCES = $(PROTOS:.proto=.cc)

.PHONY: tidy
tidy:
        @rm $(filter-out $(SOURCES), $(wildcard *.cc))

その後、このルールを手動で起動するか、実行可能ファイルの注文のみの前提条件にすることができます。

または、同じコマンドを実行可能ファイルのルールに入れることもできますが、それはちょっと洗練されていません。

于 2012-05-10T17:53:33.647 に答える