Makefile文件编写规则概述
Makefile的编写
target:目标文件1 目标文件2
gcc -o 欲建立的可执行文件 目标文件1 目标文件2
目标文件也就是依赖文件
目标文件也就是依赖文件
Makefile中#代表注释(单行)
与bash shell脚本的语法有点不太相同,变量的基本语法为:
1.变量与变量内容以【=】隔开,同时两边可以具有空格;
2.变量左边不可以有, 例如上面范例的第一行LIBS左边不可以是;
3.变量与变量内容在【=】两边不能具有【:】;
4.在习惯上,变量最好是以【大写字母】为主;
5.运用变量时,以${变量}或$(变量)使用;
6.在该shell的环境变量是可以被套用,例如提到的CFLAGS这个变量;
7.在命令行模式也可以设置变量。
3.变量与变量内容在【=】两边不能具有【:】;
4.在习惯上,变量最好是以【大写字母】为主;
5.运用变量时,以${变量}或$(变量)使用;
6.在该shell的环境变量是可以被套用,例如提到的CFLAGS这个变量;
7.在命令行模式也可以设置变量。
a.out:main.o libadd.so
cc main.o libadd.so -o a.out
main.o:main.c
cc -c main.c
libadd.so:add.o
cc -shared add.o -o libadd.so
add.o:add.c
cc -c add.c
clean:
rm -f *.o
=============================================================
a.out是终极目标,紧跟其后的是需要的依赖文件。make命令会自动向下找生成依赖的子目标main.o和libadd.so。
但是单执行make命令不加参数只会默认执行终极目标,所以clean那里的命令是不会执行的,单独执行make clean(tab可补全)即可删除中间文件