13-Makefile基本語法

* head.h : 函數聲明 、頭文件名(C庫、系統調用) 、全局變量 、 宏替換、結構體類型聲明

make 文件 :
  • 1、 Makefile makefile GNUmakefile 在同一目錄下只能出現一者
  • 執行方式 : make
  • 2、test.mk test.AIX test.Linux
  • 執行方式 :make -f test.mk
  • 目標文件:依賴文件
    • 通過依賴文件得到目標文件的命令
* C語言源程序 —> 二進制文件 —> 二進制可執行文件每一個makefile文件, 有且只有一個最終目標 . 注意: 命令前的縮進至少爲一個tab字符 .
僞目標 : 沒有依賴文件的目標.
  • 執行僞目標時, 需要指定僞目標名:
  • make clean
  • 僞目標聲明 :
  • .PHONY:clean (僞目標名)
  • #保證僞目標能夠正確執行

顯式規則:
  • 目標文件:依賴文件
  • 通過依賴文件得到目標文件的命令
  • -命令 : 如果該條命令出錯, 忽略錯誤, 繼續向下執行.
  • @命令 : 隱藏命令的執行步驟
.PHONY:clean
test:1.o 2.o 3.o 4.o
    gcc *.o -o test

1.o:1.c
    gcc -c 1.c -o 1.o
2.o:2.c
    gcc -c 2.c -o 2.o
3.o:3.c
    gcc -c 3.c -o 3.o
4.o:4.c
    gcc -c 4.c -o 4.o

clean:
    rm *.o

隱式規則:
  • 針對於文件名, 只能替換後綴, 不能修改文件名.
.PHONY:clean

test:1.o 2.o 3.o 4.o
    gcc *.o -o test

clean:
    rm *.o

變量 :
  • 變量的引用 : ${變量名}
    1、變量 = 值 #支持變量的向後引用

    2、變量 := 值 # 不支持變量的向後引用

    3、變量 += 值 # 追加賦值

    4、變量 ?= 值 # 如果前面代碼有對變量進行賦值, 則該條語句忽略;
    如果沒有出現賦值, 該條語句生效.
環境變量 :
  • CC : cc
  • MAKE : make
發佈了38 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章