我正在尝试使用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)
。
答案 0 :(得分:3)
将其标记为.PRECIOUS:
或.SECONDARY:
,以防止Make将其清理为中间目标。另请参阅http://www.gnu.org/software/make/manual/html_node/Special-Targets.html