Re: [問題] Makefile 問題請教

看板LinuxDev作者 (ASKA)時間16年前 (2009/04/10 14:59), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
自己回自己XD,後來我找到問題了 原來我在子目錄所寫的規則檔是 %.o: %.c $(myCC) $(CFLAGS)$(INCLUDE) -c $< -o ../$(objf)$@ 但是因為我產生o應該是放在../$(objf)這裡,所以我後來改寫成 ../$(objf)%.o: %.c $(myCC) $(CFLAGS)$(INCLUDE) -c $< -o ../$(objf)$@ 這樣重複make的時候就不會認為我的o不存在,然後全部重新編譯了 以上是我的發現,有錯的話還請各位先進指教~~ ※ 引述《askacis (ASKA)》之銘言: : 各位先進大家好^^,初學者小弟想請教有關於makefile的問題: : 我的專案有好幾個子目錄,目前我頂層的makefile會呼叫子目錄的makfile : 產生*.o , 然後再把子目錄下的*.o 都集中產生在一個資料夾叫做obj的資料夾 : 但是這樣會有一個問題就是因為我將*.o都搬走放在同一個資料夾而不是本來 : 原始碼所在的目錄,所以當target建立出來之後,若有人再下第二次make指令 : 時,這些資料夾都會重新再build一次 : 為了避免掉這個狀況,我目前是在各個子資料夾make完之後建立了一個檔案來檢查 : 如果我在make子資料夾的時候有檢查到這個檔案的存在便會停止make : 但是這樣又會有別的問題,即是當子目錄的*.c被修改後,因為這個我建立的檔案存在 : 所以沒辦法重新再做make的動作,一定要執行make clean把他殺掉之後才能make : 不曉得各位先進有沒有什麼更好的想法~~ : 感激不盡~~謝謝大家了~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.105.113
文章代碼(AID): #19tkv3bb (LinuxDev)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #19tkv3bb (LinuxDev)