3
我正在使用一對boost庫並使用下面的規則來生成自動依賴關係。我認爲boost頭文件確實減慢了編譯的速度,因爲如果沒有Makefile中的依賴項,那編譯項目的速度就要快10倍。有沒有辦法提高生成的依賴關係的速度?自動生成的依賴關係導致編譯速度緩慢
%.o: %.cc
$(CXX) $(CFLAGS) $(INCLUDES) -MD -c $< -o [email protected]
@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
由於您可能不會更改提升標題,因此沒有理由將它們添加爲依賴項。所以你可以尋找一種方法來排除boost頭文件(也可能是其他系統頭文件)。 – 2012-07-25 06:58:44
(刪除了我的答案,因爲我意識到它並不真正與您的具體問題有關)。就我個人而言,我寫了一個自定義Python腳本,它在<1秒內掃描我的'src'並寫入一個非常簡單的(無*規則或由GCC生成的依賴項)Makefile。 – Oleg2718281828 2012-07-25 08:49:04
我在ruby中做了同樣的事情來爲我的耙構建生成依賴文件。它只是省略<>中的所有括號。 – 2012-07-25 08:56:06