Linux——make&Makefile

makefile介绍 — 跟我一起写Makefile 1.0 文档

make和makefile

首先我们要清楚:make是指令,makefile是文件

一个工程所需要的源文件有很多,makefile定义了一系列规则,去规定文件的编译顺序或者更复杂的文件操作。

当makefile存在时,make会去找makefile,并将其的第一个文件作为目标文件。

make和makefile共同使用,完成自动化构建。

makefile的书写规则+示例

目标文件:依赖关系

                  依赖方法

若想让依赖关系总被执行在文件前声明.PHONY,将其设置为 伪目标。

总是被执行可以无视编译器对修改时间的判断:即使没有修改,也可以被执行

makefile的工作方法

编译器iqiynaib根据目标文件的依赖关系,递归式的生成一系列文件(类似栈),直到最后成功编译出第一个目标文件。

简化书写的方法:
1.$@表示目标文件,$^表示所有的依赖文件

2.在依赖方法前加@可以不回显依赖方法的内容

 

如何判断是否要重新编译——stat touch amc

make会根据源文件和目标文件的新旧,判断是否需要重新执行依赖关系进行编译。

1.为什么要判断:提高编译效率,避免重复编译

2.怎么做到的?:比较源文件最近修改时间和可执行文件最近修改时间,一般而言源文件的最近修改时间比可执行程序要旧。

.exe新于.c——需要重新编译

.exe旧与.c——不需要重新编译

如何查看:stat

修改时间:access——最近访问时间(vim,cat),modify——文件内容修改时间(决定是否重新编译),change——文件属性修改时间

文件=文件内容+文件属性

用touch可以更新文件所有时间,touch完可以重新make

进度条项目实践:

https://gitee.com/oneshaw/echo_-aran/tree/master/ProgressBar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值