makefile典型的模式是

目标 : 依赖文件 ....

[TAB]生成目标的指令

假如我们要调用make clean,则你还要以clean为目标,指定clean的依赖和指令。当然,clean其实不依赖任何文件,所以依赖文件一栏其实是空白的。

这里有一个问题。假如makefile的所在路径里确实有一个clean文件,那么make clean 的操作可能会影响这个真实存在的文件。为了避免这种问题,makefile引入了.PHONY。一旦被.PHONY标记,make 指令就知道clean是一个伪目标,不会对真实的clean文件做动作。

看下面的makefile 和 main.cpp:

CC := g++main : main.o${CC} -o main main.o
main.o : main.cpp${CC} -o main.o -c main.cpp.PHONY : clean
clean :rm *.o main

main.cpp

#include <iostream>int main(void){std::cout<<"make an exe"<<std::endl;std::cin.get();return 0;
}

效果:

从零开始学习makefile(1).PHONY的作用相关推荐

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

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

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

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

  3. Makefile中.PHONY的作用

    单词phony (即phoney)的意思是:伪造的,假的.来自collins的解释是: If you describe something as phoney, you disapprove of i ...

  4. Makefile之 .PHONY 作用

    Makefile之 .PHONY 作用 ./PHONY 来显示的指名一个目标是伪目标,有两个作用一个是改善性能,另外一个是来避免冲突. 例如我写了这样一个Makefile [cpp] view pla ...

  5. Makefile文件中的 .PHONY 的作用

    我们可以看到即使不要.PHONY这一行,make proto 命令也是正常执行,那 .PHONY 的作用究竟是什么呢? 我先在Makefile的同级目录下建一个文件名为 proto 文件. .PHON ...

  6. Linux 从零开始学习笔记

    从零开始学习Linux,记录笔记,担心自己以后会忘,也供大家茶余饭后,闲来无事看看,自己的理解只能到这,能力有限.也希望大家可以指出我的错误,让我可以有一点点进步,以后会一直更新,同时也希望大家可以收 ...

  7. python新手教程 从零开始-Python零基础从零开始学习Python十分钟快速入门

    原标题:Python零基础从零开始学习Python十分钟快速入门 学习Python的,都知道Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python是一种动态解释型的 ...

  8. 从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件

    本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery ( ...

  9. 从零开始学习jQuery (二) 万能的选择器

    本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery ( ...

最新文章

  1. 经典的两数互换【指针】
  2. [思考]-32位的应用程序为什么不能跑64位的应用程序
  3. 【文本信息抽取与结构化】深入了解关系抽取你需要知道的东西
  4. vue Iframe
  5. 在python中,用正则表达式提取多层括号中最外层括号包含的内容
  6. 每日程序C语言41-带头结点的头插法创建链表
  7. 关于pagehelper分页
  8. 我与Linux系统的交集
  9. Java之Set集合的怪
  10. ubuntn开发php教程,Ubuntu16.04的PHP开发环境配置
  11. 后端开发常用框架文档及中文翻译
  12. VMM2012应用指南之11-将虚拟机转换为模板
  13. JQuery一行搞定当前面所对应的导航菜单变亮效果
  14. 三分钟轻松了解Spring框架基础知识
  15. 常见的数据分析模型有哪些
  16. 功夫小子实践开发-Menu家族学习及开始菜单场景的实现
  17. qchart 怎么点击一下 出一条线_动漫日系雨伞怎么画?教你用集中线尺画一把日本雨伞!...
  18. [iOS]高德地图SDK开发--准备篇
  19. 李清照最经典的10首诗词
  20. 电脑所有的文件打开很慢

热门文章

  1. 如何DOS命令进入D盘文件夹
  2. iis服务器更换https证书
  3. DvaJS的model属性
  4. 使用flex布局制作微信小程序案例
  5. qq文件服务器IP地址,QQ服务器IP地址收集贴 - 【 网络安全技术 】 - 我是网管论坛 - 畅通网络 因为有......
  6. cs反恐精英python
  7. linux 第十三天 linuxprobe
  8. 国内大学计算机科学(CS)公开课(清华,北大,浙大,上交,中科大)
  9. 时间片轮转计算例题截图
  10. Vue 实现 Switch 组件-通过vue.use()注册