1
我已經厭倦了等待我們的生成將依賴文件與目標文件分開製作,所以我試圖切換我們的生成以使用-MMD生成.d文件它生成.o文件。使用-MMD生成的依賴項文件在刪除後自動生成
這個效果很好,我們的構建時間縮短了一半,但是因爲我沒有規則來創建一個.d文件,如果它們不存在,make會忽略它們,並且不會重建目標文件。我們的一個要求是,如果依賴文件不存在,我們重建它們,顯然我們不喜歡「不要刪除依賴文件」解決方案。所以,是的,我們正在研究成功構建基線的情況,然後隨時隨地刪除依賴文件並且懶得做一次清理。
如何判斷如果.d文件不存在,只重建.o文件?當我使.d依賴於.o時,我得到「沒有規則來製作目標xyz.d」。
所以建立一個規則來生成.d文件。一些make程序足夠聰明,可以在.d被更改後重新加載包含在makefile中。 –
使用-MMD標誌將.o文件的副產品作爲.o文件的副產品生成。如果我分別製作它們,那麼我會加倍編譯時間,因爲它必須製作.d文件和.o文件。 – mjr
我們使用「gcc -M * .cpp> .depend」然後「include .depend」 –