2

gmakeとGCCを使用してビルドを高速化するために、プリコンパイル済みヘッダーを取得しようとしています。ファイルは作成され.gchますが、何らかの理由で、ビルドが完了するとすぐに自動的に削除されます。

関連するルールは次のとおりです。

cxx_pch := ./bin/analysis.h.gch

bin/%.cpp.o: src/%.cpp $(cxx_includes) $(cxx_pch)
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(cxx_include_paths) -H -c -o $@ $<

bin/%.gch: src/pch/%
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(cxx_include_paths) -I./src -x c++-header -o $@ $<

私がビルドするときに印刷される最後のものはこれです:

rm bin/analysis.h.gch

私のルールはどれもこれを行うことができませんでした。cleanのみrm -r $(output_dir)です。

4

1 に答える 1

3

としてマークする.PRECIOUS:.SECONDARY:、Makeが中間ターゲットとしてクリーンアップしないようにします。http://www.gnu.org/software/make/manual/html_node/Special-Targets.htmlも参照してください。

于 2012-09-27T09:54:46.740 に答える