Makefile--Linux项目管理工具

1)Linux中使用Makefile, 首先编写Makefile项目管理脚本,而后使用make命令执行脚本,完成管理编译项目的目的
2)编写项目管理脚本时命名为Makefile, makefile(均可)标准后缀为.mk 可缺省

Makefile的优势:

1)自动编译管理代码
2)节省编译时间(空间换时间)
3)复用性强,makefile一次编写终身受益

工程编译过程:

在这里插入图片描述
#编译过程时候会产生大量临时文件和中间文件(核心二进制文件 .o文件),编译结束后会清除这些资源文件(例如 VS中的bulid 会在编译结束后清除 .o 文件)

#makefile编译项目时,会选择保留中间.o文件,修改源代码后检测改动,针对源码重新生成二进制,而后重新连接一次即可

makefile基本构成(三要素):

(1) 目标 (2)依赖
TAB制表符 (3)命令

makefile使用过程:

(1)编写项目管理脚本 makefile.mk | makefile | Makefile
(2)通过make命令执行脚本(自动查找当前目录下的makefile文件)

makefile运行原理:

makefile自顶向下分析建立依赖关系, 自底向上执行命令。

makefile 如何节省编译时间:比较文件改动时间
文件访问时间 文件更改时间 文件改动时间

在这里插入图片描述

makefile内置函数

使用函数给变量赋值需加括号() 和 💲符号
在这里插入图片描述

makefile变量的定义和使用

1)变量统一为大写命名(变量定义时要初始化)
2)默认情况变量无需指定类型,变量中存储字符串数据
3)一些较为常见的识别度较高的变量
4)使用变量内容,需要对变量名进行取值操作,取值符为💲(变量名)

特殊变量
$@(当前目标名)
$<(依赖中的第一个)
$^(所有依赖)
功能目标:没有依赖项,使用功能目标时make目标名 即可执行对应的功能
clean      (清除中间文件和程序文件)
install     (将编译出的ELF可执行文件拷贝到指定的路径即可) cp app /usr/bin/
disinstall  (删除程序文件,清除配置)
伪目标:确保功能目标的正常使用(若当前目录出现与功能目标同名的文件,会导致功能目标无法执行)
.PHONY:clean install disinstall ......
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值