服務器開發之六 對Makefile文件進行抽象

對Makefile進行抽象

動機

隨着源文件的數量的增多,使用的類庫越來越多,想要調整Makefile就需要更多的時間來思考,所以需要將Makefile當中一些有共性的地方抽象出來,讓這個文件更加簡潔,也降低出錯的概率,降低失誤帶來的時間成本的消耗。

改進思路

  1. 使用變量來替代重複的內容,方便後期修改
  2. 使用隱含規則,降低編寫makefile的成本

應用的技術點總結

  1. 有用的變量@ ^ < @ —— 目標文件(冒號前面的名稱只在當前段內有效)
    () < —— 指代第一個依賴(冒號後面第一個)

  2. Makefile的一個缺省規則
    是(雙)後綴名規則,似乎沒有模式規則優越,暫時夠用了

.cpp.o:
    gcc -c $<
  1. 定義變量的規則
    TARGET : 生成的目標文件
    OBJ : 中間obj文件
    CC : 使用的編譯器
    LIB : 使用的鏈接庫
    LIB_DIR : 鏈接庫所在的文件路徑
    INCLUDE : 包含頭文件的路徑
    CFLAGS: 編譯器的命令

參考資料一

參考資料二

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章