Makefile 的核心内容

1.Makefile的规则

```target... : prerequisites...

command......`


target就是一个目标文件,可以是object文件,也可以是可执行文件等,或者是一个标签(伪目标),command是需要执行的shell命令,cc, echo, mkdir ...target这一个或多个目标文件依赖于一个或多个 prerequisites, 如果prerequisites中有一个比target新的话command就会被执行,这里的新指的是文件生成时的时间戳,可以使gcc时生成的.o文件,或者是touch出来的文件

eg:



现在target的时间比printf.c的时间新,make时候不会执行下面的命令



可以重新touch‘ printf.c文件,更新时间戳


2.伪目标

伪目标不是一个文件,只是一个target

伪目标没有时间戳,永远都是最新的,所以都会执行,比如clean, 我们每次make clean 的时候它都会执行下面的command


3.在Makefile中使用命令时加 “-” 可以忽略命令的错误返回


例如下面的例子,目录中已经存在MF这个目录了,我们再次mkdir的时候就会报错,打断makefile的执行






加上"-"就会忽略这个错误继续执行





Makefile就是利用这种依赖关系来判断是否执行下面的命令,来编译管理工程的


4.make -C 选项


表示进入指定目录执行make



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值