自动化编译:一旦写好,只需要一个make命令,整个工程完全自动化编译,极大提高软件开发效率
提升编译效率:再次编译,只编译修改的文件
语法:
target : prerequisites
tab键 command
要使用makefile编译以上程序
由上图可以看到左边是书写格式,右边是make编译,并且在没有任何改动的情况下,其会表明是最新,而若改动了以后,就可重新进行编译
下图左边是错误的两步编译,右边是正确的两步编译
再进一步:当想要对编译好后的.o文件进行删除时,编译时使用make clean,可使用:
而若出现同名文件clean的现象时:
Makefile自定义变量
目的:
使用SRC代替add.o sub.o test.o,并利用${SRC}取值
当然也可使用赋值操作的+=
Makefile自动变量
若想查看自动变量是表示什么,10,11,12行
使用几个自动变量
Makefile隐含变量
使用CC=gcc,可以使得CC代替gcc,使用CFLAGS,得到如下:
当头文件未在当前目录下,在CFLAGS使用-I指定一下头文件路径
最后:由于都是.c生成.o文件,所以可以使用通配符%代替
条件判断及函数使用
函数语法:
$(<function><arguments>)
或者
${<function><arguments>}
常用函数
在没学习函数之前,是这样写的:
使用函数的示例:
其中2行获得所有的.c文件,3行将所有的.c文件转换成.o文件
自定义函数
其中8910是函数定义,18是函数调用
make的使用