我有一個非常簡單的makefile,基本上執行以下操作:預編譯的頭文件是在每個make上創建的?
# Pre-compiled header
CORE_PCH_FILENAME =Core.h
CORE_PCH:
$(CXX) $(CXX_CFLAGS) -x c++-header $(CORE_PCH_FILENAME)
#Objects
obj/%.o: CORE_PCH %.cpp obj/%.d
@mkdir -p obj
$(CXX) $(CXX_CFLAGS) -c $*.cpp -o [email protected]
#Dependencies
obj/%.d: %.cpp
@mkdir -p obj
$(CXX) $(CXX_CFLAGS) -MM -MT obj/$*.o -MF [email protected] $<
我的問題是,我第一次做時,Core.h.gch被創建和獲取項目建成。沒關係。
但是,即使沒有改變,再次運行make會重新創建Core.h.gch並重新編譯所有內容。
如果我沒有預編譯的頭,使精的行爲(如果一切都沒有改變也不會重建任何東西,如果重新進行修改,只取得了什麼是必要的)
但我真的很想有預編譯頭文件,有沒有我不正確的做法!?
編輯:
以下建議:
# Pre-compiled header
$(CORE_PCH_FILENAME) =Core.h
CORE_PCH: $(CORE_PCH_FILENAME)
$(CXX) $(CXX_CFLAGS) -x c++-header $(CORE_PCH_FILENAME)
但它仍然被創建每次:(
這樣的作品,非常感謝你;) – zedxz