target:
echo "hello_Makefile" .PHONY: clean
clean:
echo "clean Done .2019"

使用伪目标的优势解读: 如果不使用伪目标,且本地存在名为“clean”文件名的文件,那么将不能执行clean目标下的命令。

1.   make的基本原则:A make软件认为目标总是对应文件的。   如果一个目标对应的依赖为空,将被视无需检查任何依赖是否更新

如果此时不存在该目标同名的文件,那么make该目标就能执行该目标下的命令们。

如果

此时本地已存在该目标同名的文件,并且依赖也为空,make软件不会执行该目标对应的命令。  

 2.  使用伪目标,可以消除该目标与本地同名文件的该层对应关系。 

不使用.PHONY,实现和伪目标一样功能的,另一种方法:

target:
echo "hello_Makefile" #.PHONY: clean clean:Enable_this_target
echo "clean Done" Enable_this_target:

原理解读(图中红色文字): 因为目标Enable_this_target总是需要被更新,所以clean这个目标总是需要被更新,

达到了每次make clean,都能去执行clean目标所在的规则内的命令们,这一目的。

最新文章

  1. 自己动手,实现一种类似List<T>的数据结构(二)
  2. Junity测试最大子数列和的Java程序
  3. Docker ntpdate Permition error
  4. asdsa
  5. Bootstrap页面布局10 - BS代码
  6. lua string函数
  7. C#中托管与非托管
  8. 14.6.4 Configuring the Memory Allocator for InnoDB 配置InnoDB 内存分配器
  9. 在ubuntu 12.04 中配置java环境(安装jdk, tomcat, maven, eclipse)
  10. 多系统实现单点登录方案:SSO 单点登录
  11. Qt 中文乱码解决大全
  12. webpack安装配置
  13. PyCharm 怎么查看 Python 的变量类型和变量内容
  14. Vue字符串传入变量
  15. nginx的日志配置
  16. 完整java开发中JDBC连接数据库代码和步骤[申明:来源于网络]
  17. libuv示例代码
  18. Maven私有仓库-使用docker部署Nexus
  19. 杨辉三角(Pascal Triangle)的几种C语言实现及其复杂度分析
  20. Cropperjs 插件知识点

热门文章

  1. Redis高可用——副本机制
  2. 一个神奇的jq插件----zTree
  3. e3mall商城的归纳总结4之图片服务器以及文本编辑器
  4. 不要盲目使用新技术,说的就是你,JWT!
  5. POJ-2104-K-th Number(区间第K大+主席树模板题)
  6. Linux—账号管理及命令使用详解
  7. Zabbix如何解决“System time is out of sync (diff with Zabbix server > 60s)”告警
  8. KMP - NOI2014 动物园
  9. Hexo博客迁移
  10. oracle之二控制文件