我正在使用几个boost库并使用下面的规则来生成自动依赖项。我认为boost标题确实会减慢编译速度,因为如果Makefile中没有依赖包含,那么编译项目的速度要快10倍。有没有办法通过生成的依赖项来提高速度?
%.o: %.cc
$(CXX) $(CFLAGS) $(INCLUDES) -MD -c $< -o $@
@mv $*.d .deps/
@cp .deps/$*.d .deps/$*.tmp
@sed -e 's;#.*;;' -e 's;^[^:]*: *;;' -e 's; *\\$$;;' \
-e '/^$$/d' -e 's;$$; :;' < .deps/$*.tmp >> .deps/$*.d
@rm .deps/$*.tmp
答案 0 :(得分:2)
由于您可能不会更改boost标头,因此没有理由将它们添加为依赖项。通过使用-MMD生成依赖项文件,应该忽略系统头文件,因此您的依赖项文件应该变小,这意味着必须扫描较少的硬盘驱动器以查看文件是否仍然是最新的等等。当然,你有包含带&lt;&gt;的标头不是“”。