3

我正在使用几个 boost 库并使用下面的规则来生成自动依赖项。我认为 boost headers 确实减慢了编译速度,因为没有 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
4

1 回答 1

2

由于您可能不会更改 boost 标头,因此没有理由将它们添加为依赖项。通过使用 -MMD 生成依赖文件,系统头文件应该被忽略,因此你的依赖文件应该变得更小,这意味着你必须扫描更少的硬盘驱动器来查看文件是否仍然是最新的等等。当然你有包含带有 <> 而不是“”的标题。

于 2012-07-25T08:29:29.193 回答