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 这个设置脚本根据给定的参数和系统环境生成。
文章介绍了在Ubuntu环境下如何学习和使用Makefile,包括变量的定义与使用(如递归展示和简单方式),预定义变量如AR,AS等,以及自动变量的概念。此外,详细阐述了Makefile的隐含规则,如C程序编译和Object文件链接的规则,并讲解了VPATH在管理源文件路径中的作用。最后提到了Makefile的嵌套以及make工具在Linux开发中的重要性,如自动化编译和安装等。

1408

被折叠的 条评论
为什么被折叠?



