3.伪目标的引入

目录

1.默认情况下

2.下面的代码有什么意义?

3.有趣的目标

4.makefile中的伪目标

5.伪目标的语法:先声明,后使用

6.伪目标的妙用:规则调用(函数调用)

7.技巧:绕开.PHONY关键字定义伪目标

8.小结


  • 思考

makefile中的目标究竟是什么?

1.默认情况下

  • make认为目标对应着一个文件
  • make比较目标文件和依赖文件的新旧关系,决定是否执行命令
  • make以文件处理作为第一优先级

2.下面的代码有什么意义?

3.有趣的目标

我们创建一个clean文件,在去make clean会发现clean对应的是clean文件

我们本来目的是要删除文件的,但是现在不是;要去怎么解决呢?

4.makefile中的伪目标

  • 通过.PHONY关键字声明一个伪目标
  • 伪目标不对应任何实际的文件
  • 不管伪目标的依赖是否更新,命令总是执行

5.伪目标的语法:先声明,后使用

本质:

伪目标是make中特殊目标.PHONY的依赖

6.伪目标的妙用:规则调用(函数调用)

总结:伪目标是使用下面的依赖

7.技巧:绕开.PHONY关键字定义伪目标

原理:

如果一个规则没有命令或者依赖,并且它的目标不是一个存在的文件名;在执行此规则时,目标总会被认为是最新的

8.小结

  • 默认情况下,make认为目标对应着一个文件
  • .PHONY用于声明一个伪目标,伪目标不对实际的文件
  • 伪目标的本质是make中特殊目标.PHONY的依赖
  • 使用伪目标可以模拟”函数调用”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值