1.make介紹
2.makefile檔案的命名
3.makefile中的規則
makefile中的規則組成:目標,依賴,命令,具體格式如下:
目標:依賴
(tab縮排) 命令
makefile中由一條或多條規則組成!
4.makefile的編寫
依賴存在,判斷是否需要更新:
第二個版本的缺點:makefile檔案中有很多內容是冗餘的。
具體例項如下所示,第三個版本:
makefile自帶的變數:大寫
自動變數:自動變數只能在規則的命令中使用!
dl@cdl-inspiron-5421:~/cpp_tutorials/makefile$ vim makefile
cdl@cdl-inspiron-5421:~/cpp_tutorials/makefile$ cat makefile
obj = add.o main.o sub.o
$(target):$(obj)
gcc $(obj) -o $(target)
# 也可以使用自動變數
gcc $^ -o $@
%.o:%.c
gcc -c $< -o $@
cdl@cdl-inspiron-5421:~/cpp_tutorials/makefile$ rm *.o
cdl@cdl-inspiron-5421:~/cpp_tutorials/makefile$ make
cc -c -o add.o add.c
cc -c -o main.o main.c
cc -c -o sub.o sub.c
模式匹配:%.o:%.c
add.o:add.c
gcc -c add.c -o add.o
main.o:main.c
gcc -c main.c -o main.o
5.makefile中的函式
cdl@cdl-inspiron-5421:~/cpp_tutorials/makefile$ vim makefile
cdl@cdl-inspiron-5421:~/cpp_tutorials/makefile$ cat makefile
src = $(wildcard ./*.c)
obj = $(patsubst %..c, %..o, $(src))
$(target):$(obj)
gcc $^ -o $@
%..o:%..c
gcc -c $< -o $@
cdl@cdl-inspiron-5421:~/cpp_tutorials/makefile$ make
sum=36
6.makefile中新增專案清理功能
clean:
.phony:clean
cdl@cdl-inspiron-5421:~/cpp_tutorials/makefile$ cat makefile
src = $(wildcard ./*.c)
obj = $(patsubst %..c, %..o, $(src))
$(target):$(obj)
gcc $^ -o $@
%..o:%..c
gcc -c $< -o $@
.phony:clean
clean:
-mkdir /abc
-rm $(obj) $(target) -f
makefile檔案編寫
hello.c include include function.h int main function.c includeint fun1 int fun2 int fun3 function.h ifndef fun h define fun h int fun1 void int fun2 v...
Makefile檔案編寫
1 基本大全教程 2 四個賦值的區別 是最基本的賦值 是覆蓋之前的值 是如果沒有被賦值過就賦予等號後面的值 是新增等號後面的值其中 和 的區別是 立馬賦值,是整個makefile檔案讀取完後賦值。1 make會將整個makefile展開後,再決定變數的值。也就是說,變數的值將會是整個makefile...
Makefile檔案編寫
main3.c 1 include 2 include static lib.h 3 include fun.h 4 5int main void static lib.h和 1 extern int add int a,int b 2 extern int sub int a,int b 3 ex...