* head.h : 函數(shù)聲明 、頭文件名(C庫髓考、系統(tǒng)調(diào)用) 、全局變量 弃酌、 宏替換氨菇、結(jié)構(gòu)體類型聲明
make 文件 :
- 1儡炼、 Makefile makefile GNUmakefile 在同一目錄下只能出現(xiàn)一者
- 執(zhí)行方式 : make
- 2、test.mk test.AIX test.Linux
- 執(zhí)行方式 :make -f test.mk
- 目標(biāo)文件:依賴文件
- 通過依賴文件得到目標(biāo)文件的命令
* C語言源程序 ---> 二進制文件 ---> 二進制可執(zhí)行文件每一個makefile文件, 有且只有一個最終目標(biāo) . 注意: 命令前的縮進至少為一個tab字符 .
偽目標(biāo) : 沒有依賴文件的目標(biāo).
- 執(zhí)行偽目標(biāo)時, 需要指定偽目標(biāo)名:
- make clean
- 偽目標(biāo)聲明 :
- .PHONY:clean (偽目標(biāo)名)
-
#
保證偽目標(biāo)能夠正確執(zhí)行
顯式規(guī)則:
- 目標(biāo)文件:依賴文件
- 通過依賴文件得到目標(biāo)文件的命令
- -命令 : 如果該條命令出錯, 忽略錯誤, 繼續(xù)向下執(zhí)行.
- @命令 : 隱藏命令的執(zhí)行步驟
.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
隱式規(guī)則:
- 針對于文件名, 只能替換后綴, 不能修改文件名.
.PHONY:clean
test:1.o 2.o 3.o 4.o
gcc *.o -o test
clean:
rm *.o
變量 :
- 變量的引用 : ${變量名}
1查蓉、變量 = 值 #支持變量的向后引用
2乌询、變量 := 值 # 不支持變量的向后引用
3、變量 += 值 # 追加賦值
4豌研、變量 ?= 值 # 如果前面代碼有對變量進行賦值, 則該條語句忽略;
如果沒有出現(xiàn)賦值, 該條語句生效.
環(huán)境變量 :
- CC : cc
- MAKE : make