天天看點

Makefile2

規範

  • target可以是Object file, 可執行檔案或者标簽(标簽一般沒有依賴)
  • 越靠近最終結果的target解除安裝越前面
  • 定義target前, 定義CC, SRC, CFLAGS, OBJS, INCLUDES, RM, COPY等變量友善修改
  • 在以前使用gcc編譯時, 一般直接使用gcc程式設計連結成可執行檔案, 但是在makefile中.o字尾的Object file非常重要, 需要生成OBJ = main.o test1.o test2.o
  • 每一個makefile檔案在最後應該定義一個clean标簽, 用于清理編譯生成的檔案, 這是定義的變量就友善了許多, 在clean标簽中使用-rm -rf $(OBJS), 其中rm之前的橫線是說可能rm執行時會有錯到那時不用理會
  • makefile中可以自動推導出.c與.o的依賴關系, 如果target是.o檔案, makefile最自動加上.c的依賴并執行一個從.c --> .o的指令

Makefile工作流程(Copy From Others)

  1. 讀入所有的Makefile。
  2. 讀入被include的其它Makefile。
  3. 初始化檔案中的變量。
  4. 推導隐晦規則,并分析所有規則。
  5. 為所有的目标檔案建立依賴關系鍊。
  6. 根據依賴關系,決定哪些目标要重新生成。
  7. 執行生成指令。
上一篇: Python工具
下一篇: 網頁URLs