Makefile 使用 make depend 進行相依性檢查
在寫Makefile 的時候,一般的規則是這樣的:
Target: Dependency
Command
Makefile文件稱 command 為 recipe,不過我這邊就寫command。
如果是C 程式,通常也會把 header 檔寫在 dependency 內,否則 header 檔改了結果程式沒有重新編譯就奇怪了,如果每次改了header 都要 make -B 也不是辦法。
在寫Makefile 的時候,一般的規則是這樣的:
Target: Dependency
Command
Makefile文件稱 command 為 recipe,不過我這邊就寫command。
如果是C 程式,通常也會把 header 檔寫在 dependency 內,否則 header 檔改了結果程式沒有重新編譯就奇怪了,如果每次改了header 都要 make -B 也不是辦法。
在寫這篇,我發現我曾經寫過類似的內容:使用gnu make編譯Qt 專案
總之,這次又是在qucs專案上遇到的問題,之前專案裡的使用者介面,不知道是哪根筋不對,竟然全部都是用手爆的啊啊啊!
正好這個project現在進入巨量refactor階段,在改其中一個部分時,順手把其中一個使用者介面換用Qt的Designer來做。
結果,還要改編譯的autotool,讓它使用UIC解決才行,網路上找找沒什麼資料,只好印autotool的文件下來看,以下是我最後弄出來的Makefile.am設定:
...最近白天跑EM,夜深寫QT。
當然這完全沒什麼,其他同學至少兩年前就寫過了LOL。
只能說Qt 真是相當強大的工具,最基本的signal & slot的概念,如果對GTK的callback熟悉的話,很快就能上手。
一般在寫Qt時,最常用的還是用qmake來產生Makefile,畢竟qmake寫得還不賴,打一次就會產生好Makefile,接著make即可;
不過有時個人習慣還是偏好用gnu-make,可以自己編寫Makefile,做一些細部的調整,用qmake的話只要重新產生一次Makefile,這些細部調整就要重新再修改一次。
這篇就是說明一下,要如何使用gnu-make來處理Qt專案。
因為一些關係,最近正在寫Android上的Apps。
寫Android,大部分人可能都會用Eclipse來寫,Eclipse主要是整合了很多功能,用起來滿方便的,不過個人還是偏好用terminal+vim來寫code。
雖然這樣會比較不那麼自動一點,但也不是沒有解,在終端機下,如果有什麼要自動化的話,就要用makefile啦。