Re: [問題] Makefile 問題請教
自己回自己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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章