Linux中make和makefile

简单介绍

make是Linux中一个命令,与之匹配的是makefile,makefile是一个文件。make会根据makefile中的内容完成对应的工作

创建一个名为makefile的文件
vim打开makefile
第一行是依赖关系,my.exe 是我们要生成的文件,后面是依赖文件列表,依赖文件列表可以有很多个
第二行是依赖方法,就是我们要通过什么方式获得我们要生成的方式,依赖方法开头必须是Tab键,不能是空格(依赖方法可以不止一个,依赖关系下的所有命令都会执行,可以通过这样一次进行多步操作
第三行的.PHONY代表后面的命令总是被执行
第四行依然是依赖关系,clean比较特殊,依赖文件列表可以为空
第五行是依赖方法
在这里插入图片描述

如果我们单纯执行make命令,默认执行makefile中的第一个依赖关系的以来方法,如果我们把clean的放第一行,那么默认就会执行clean
在这里插入图片描述

如果没有放在第一行,那么就要make 依赖关系的目标文件,比如,如果my.exe放在下面,如果要形成my.exe,就要make my.exe。
在这里插入图片描述

当make形成可执行程序以后,就无法再次make,这是因为我们的文件已经是最新的了,如果再次编译很浪费时间,小程序还好,不明显,如果是很大的项目,编译就会花很久的时间。
在这里插入图片描述

通过stat可以查看文件acm时间,其中makefile就是对比Modify的时间,如果可执行程序的时间是最新的,就无法进行make。
PHONY修饰的符号总是可以执行,就是不去对比时间,所有才可以一直执行
在这里插入图片描述

常见用法

符号替代

$@代指要生成的目标文件
$^代指依赖文件
@代表目标文件,^代表依赖文件,$表示提取文件
在这里插入图片描述

自动寻找

同样可以这样写,如果发现没有code.o会自动向下寻找,发现所依赖的.s文件也没有,那么就会递归式地向下寻找,一直到找到为止,否则就报错。但是我们要形成地目标文件要在第一行,因为默认形成第一行地目标文件。
在这里插入图片描述

设置变量

设置变量为我们的目标文件和依赖文件
用$符号取出我们的变量取代的文件
同样可以生成我们的目标文件
在这里插入图片描述

取消打印提示

输入命令会提示,在每一条依赖方法前面加@就不会再进行提示了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值