单词phony (即phoney)的意思是:伪造的,假的。来自collins的解释是:

If you describe something as phoney, you disapprove of it because it is false
rather than genuine. 

那么,在Makefile中,.PHONY后面的target表示的也是一个伪造的target, 而不是真实存在的文件target,注意Makefile的target默认是文件。

举个例子

Makefile内容如下:

clean:rm -f test.txt

该目录下只有test.txt时,执行make,得到结果如下:

rm -f test.txt

在改目录下透彻test.txt和clean两个文件,这时执行make命令,得到结果如下:

make: “clean”是最新的。

可以看到make会将clean文件当成目标文件,而执行失败

如果将Makefile修改为如下内容:

.PHONY:clean
clean:rm -f test.txt

然后再执行make,得到结果如下:

rm -f test.txt

即该makefile并没有将clean当成是目标文件,所以执行成功

小结:

.PHONY: cleano means the word "clean" doesn't represent a file name in this Makefile;o means the Makefile has nothing to do with a file called "clean" in the same directory.

Makefile中.PHONY的作用相关推荐

  1. makefile中.PHONY的作用是什么?

    makefile中.PHONY的作用是什么?   初学makefile的时候,有一个关键字".PHONY"搞不懂,在请教过同学之后豁然开朗,遂写下经验望帮助更多的同学能够理解. 在 ...

  2. makefile中.PHONY的最直接理解

    makefile中.PHONY的最直接理解 为了避免和文件重名的这种情况,可以使用一个特殊的标记".PHONY"来显示地指明一个目标是"伪目标",向make说明 ...

  3. Makefile中.PHONY伪目标的作用(完整)

    第一种情况:避免命令与目录下的文件名重复 实际上这个情况很少发生,但网上大部分博客也仅介绍了这一种情况.这里以如下Makefile简单介绍一下: clean:rm -f *.o temp 如果当前目录 ...

  4. Makefile中.PHONY的含义

    目录标题 含义 作用 说明 含义 单词phony (即phoney)的意思是:伪造的,假的. 在Makefile中, .PHONY后面的target表示的也是一个伪造的target, 而不是真实存在的 ...

  5. makefile中.PHONY目标的意义

    在makefile文件中,会频繁的看到许多".PHONY"目标,例如: .PHONY: build_docker_image build_docker_image:# build ...

  6. Makefile 中all:的作用

    在Makefile中使用all:时 若直接 make 或 make all 的话,会执行$(TARGET) 和 install 对应的命令 在执行make时,若后面接all下对应的选项,则有: 1.m ...

  7. 【C基础】Makefile(含.phony的作用)和CMake

    目录 1. Makfile 1.1.基础 1.2. 伪对象.PHONY 1.3. 变量 1.3.1. 普通变量 1.3.2. 自动变量 1.4.依赖第三方库 2. CMake Makefile 是编译 ...

  8. makefile 中的.PHONY

    makefile 中.PHONY  的理解 make xxx.   是否执行xxx 这个target 对应的规则. 取决于这个target 是否存在, 以及生成这个target 的input file ...

  9. makefile中的.PHONY和all的作用

    .PHONY(伪目标) 伪目标是这样一个目标:它不代表一个真正的文件名,在执行make时可以指定这个目标来执行所在规则定义的命令,有时也可以将一个伪目标称为标签.伪目标通过PHONY来指明. PHON ...

最新文章

  1. python自动寻路模板_Python实现的简单模板引擎功能示例
  2. 新经济、新选择——人才流动与迁徙2021
  3. PHP百度收录量查询接口源码,PHP百度收录量查询接口源码
  4. Leetcode每日一题:204.count-primes(计数质数)
  5. mysql hibernate 分页查询_hibernate分页查询的实现
  6. php下xcache的安装
  7. 快捷方式 java 桌面_创建桌面快捷方式
  8. springcloud Netflix
  9. Unreal Engine 4 —— GAS系统学习 (四十七)FireBall技能
  10. 苹果退款_教程:在 iTunes 申请 App Store 退款
  11. 遥感或DEM像素深度如何降为8bit
  12. python自动拼图_Python图像处理——人物拼图游戏
  13. 网络准入认证系统方案评估
  14. 语音通知API - onealert的语音通告替代调研
  15. 腾讯云服务器8核16G18M配置测评
  16. Logisim中六进制计数器的设计
  17. luoguP1462 通往奥格瑞玛的道路[四星]
  18. 判断HTML页面是点击历史返回打开,还是正常跳转打开
  19. diy网页加速服务器教程,巧用网络加速工具 加速网页浏览速度
  20. android自动隐藏悬浮菜单,FloatBall

热门文章

  1. Java实现把图片上传到图片服务器(nginx+vsftp)
  2. Ubuntu11.04中安装中标普华Office5.0
  3. 公众号信息流,假如我来设计。。。
  4. Flink SQL 功能解密系列 —— 维表 JOIN 与异步优化
  5. 解决phpstudy打开网页很慢的问题(网站响应速度慢)
  6. 国产ARM与低成本FPGA高速通信的3种方案,基于全志T3/A40i
  7. Java实现“前世今生”测试
  8. html登录状态验证,Token验证登录状态的简单实现
  9. sklearn pipeline简介
  10. 进程退出以及内存释放