在linux下做開發難免要接觸makefile,整個專案的構建都依賴於它。100個developer有100種makefile的寫法,在乙個較大的專案中,各種各樣的makefile無論在開發、後期維護還是整個系統的持續整合都是乙個負擔。
有幸參與重構乙個遺留系統的makefile,以下是一些心得和乙個makefile模板。
重構目的:
1.清晰易懂、容易維護
2.方便系統的持續整合
重構原則:
1.子模組makefile模板化
2.外部依賴、通用巨集定義集中化
3.中間和最終輸出集中,便於系統構建
下面是總結出的乙個makefile模板,我在日常的開發中都用它,其中加入了詳細的注釋。
工程Makefile例項
1級makefil phony clean for subdir in subdirs do cd subdir make clean done 級makefile target lib notdir curdir a objs wildcard o cc flags fpic md 靜態庫合成動態...
Makefile工程編譯
1.寫在前面 本篇文章講的是接前面makefile之編譯多個可執行程式中第二個需求,並延伸到對正規工程的編譯。2.工程 我接觸的工程有2種情況 所有原始檔都放乙個目錄 按模組分放不同的目錄 下面按照這兩種情況講解。3.所有原始檔都放乙個目錄 不建議所有原始檔都放乙個目錄,當工程大時,乙個目錄下會有很...
Makefile工程管理
1 makefile用途 make的工作主要依賴於乙個叫makefile的檔案。makefile檔案描述了整個程式的編譯,鏈結等規則。其中包括 工程中的哪些原始檔需要編譯以及如何編譯,如何最後產生我們想要的可執行檔案。2 makefile中最重要的組成部分是規則 規則 用於說明如何生成目標檔案,規則...