makefile实验一 make的基本原则、伪目标、以及不使用.PHONY确实现和伪目标一样功能的一种方法
2024-09-07 02:47:58
target:
echo "hello_Makefile" .PHONY: clean
clean:
echo "clean Done .2019"
使用伪目标的优势解读: 如果不使用伪目标,且本地存在名为“clean”文件名的文件,那么将不能执行clean目标下的命令。
1. make的基本原则:A make软件认为目标总是对应文件的。 B 如果一个目标对应的依赖为空,将被视无需检查任何依赖是否更新。
如果此时不存在该目标同名的文件,那么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目标所在的规则内的命令们,这一目的。
最新文章
- 自己动手,实现一种类似List<;T>;的数据结构(二)
- Junity测试最大子数列和的Java程序
- Docker ntpdate Permition error
- asdsa
- Bootstrap页面布局10 - BS代码
- lua string函数
- C#中托管与非托管
- 14.6.4 Configuring the Memory Allocator for InnoDB 配置InnoDB 内存分配器
- 在ubuntu 12.04 中配置java环境(安装jdk, tomcat, maven, eclipse)
- 多系统实现单点登录方案:SSO 单点登录
- Qt 中文乱码解决大全
- webpack安装配置
- PyCharm 怎么查看 Python 的变量类型和变量内容
- Vue字符串传入变量
- nginx的日志配置
- 完整java开发中JDBC连接数据库代码和步骤[申明:来源于网络]
- libuv示例代码
- Maven私有仓库-使用docker部署Nexus
- 杨辉三角(Pascal Triangle)的几种C语言实现及其复杂度分析
- Cropperjs 插件知识点
热门文章
- Redis高可用——副本机制
- 一个神奇的jq插件----zTree
- e3mall商城的归纳总结4之图片服务器以及文本编辑器
- 不要盲目使用新技术,说的就是你,JWT!
- POJ-2104-K-th Number(区间第K大+主席树模板题)
- Linux—账号管理及命令使用详解
- Zabbix如何解决&ldquo;System time is out of sync (diff with Zabbix server >; 60s)&rdquo;告警
- KMP - NOI2014 动物园
- Hexo博客迁移
- oracle之二控制文件