Ubuntu下学习Makefile(下)
一、创建和使用变量
1、变量定义的两种方式
1、递归展示方式VAR=var
2、简单方式 Var: = var
变量使用$(VAR)
用"$"则用"$$"来表示
类似于编程语言中的宏
为变量添加值
2、预定义变量
AR 库文件维护的名称,默认值为ar。AS汇编程序的名称,默认值为as。
CC C编译器的名称,默认值为cc。CPP c预编译器的名称,默认值为$(CC) -E
CXX C++编译器的名称 默认值为g++。
FC FORTRAN编译器的名称,默认值为f77
RM 文件删除程序的名称,默认值为rm -f
3、自动变量
二、Make使用
三、Makefile的隐含规则
1、隐含规则1:编译C程序的隐含规则
“<n>.o"的目标的依赖目标会自动推导为“<n>.c”,并且其生成命令是”$(cc) -c $(CPPFLAGS) $(CFLAGS)"
2、隐含规则2:链接Object文件的隐含规则
实例:
四、Makefile的VPATH
1、VPATH的用法
没加VPATH前,需要在.o前加上路径*
加VPATH之后在这里插入图片描述
2、Makefile的嵌套
总结
linux中make是用来编译的,它从Makefile中读取指令,然后编译。make的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能。
比如make install一般表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译。
make是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。
一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。