t-makefile:自動萬能通用makefile模板(freetoo 碼客 盧益貴)
t-makefile:自動萬能通用makefile模板(freetoo 碼客 盧益貴)
關鍵字: make makefile shell find grep wildcard notdir patsubst findstring wordlist suffix foreach gcc g++ c++11 嵌入指令碼 靜態連結庫 動態連結庫 靜態動態混合編譯連結 語法 內嵌函式 函式巢狀執行 替換字串 判斷字串相等 遍歷陣列 執行shell指令碼 迴圈 邏輯與 邏輯或 查詢檔案 搜尋檔案目錄 獲取目錄名 獲取檔名
t-makefile原始碼及示例專案下載連結:
https://github.com/freetoo/t-makefile
注意:最新版本請從github下載
一、t-makefile解決的痛點和難點
往往在一個專案工程中,目錄名改變了、子目錄變更位置了都需要去修改makefile,目錄繁多的時候修改makefile也是一件耗時的工作。有沒有一個自動的makefile呢?
對於makefile所在的當前目錄及其字母來說,自動makefile的功能實現是非常容易的事情,但難點是:
1、如何自動識別上層目錄中(專案目錄範圍內)的公共目錄
2、如何排除一些無關的目錄,比如test目錄、tmp目錄、doc目錄等。
t-makefile正是解決了以上痛點和難點,從而達到了自動化的目的。t-makefile是一個高度自動化的專案管理級別的makefile原始碼,能夠使您的linux c/c++專案的協同開發工作更加的便捷和高效。
二、t-makefile功能:
1、自動搜尋原始碼、標頭檔案、庫檔案目錄並形成有效目錄列表和有效檔案列表
2、自動識別總makefile功能,可批量執行子目錄的makefile
3、自動以目錄名為TARGET檔名
4、可動態和靜態混合連結成TARGET檔案
5、可設定排除目錄,避免搜尋編譯無關原始碼
6、目錄框架靈活設定,框架內可自由移動子makefile仍具有自動功能
7、可避免連結無關符號(函式和變數),避免TARGET體積臃腫
8、支援test目錄,可自動包含test工程引用到的模組原始碼,並能排除其它test目錄。
更詳細說明請移步:
https://blog.csdn.net/guestcode/article/details/81229127