Makefile中.PHONY的作用-make&& make install
原文链接:https://blog.csdn.net/derkampf/article/details/70256891
一.实例
拿clean举例,如果make完成后,自己另外定义一个名叫clean的文件,再执行make clean时,将不会执行rm命令。
为了避免出现这个问题,需要.PHONY: clean
(1)不添加.PHONY:clean
在Makefile所在的目录下touch一个clean文件
运行make–>运行make clean
结果:由于目录下clean文件冲突,无法执行make clean
(2)添加.PHONY:clean
运行make–>运行make clean
结果:make clean正常执行
二.结论
.PHONY是一个伪目标,可以防止在Makefile中定义的只执行命令的目标和工作目录下的实际文件出现名字冲突,另一种是提交执行makefile时的效率。
/configure配置环境
make是编译的意思。就是把源码包编译成二进制可执行文件
make install 就是安装的意思。
make&& make install的意思是:
make与makeinstall是两个命令,在你./configuration生成了Makefile之后执行编译安装;
与&&一起的还有||,不过意思不一样,&&是与,||是或;
make && makeinstall的意思就是执行make如果没有发生错误就执行make install
一般的软件包的安装都是./configure && make && make install这华丽的三部曲来完成的,
用一句话来解释这个过程:
根据源码包中 Makefile.in 文件的指示,
configure 脚本检查当前的系统环境和配置选项,
在当前目录中生成 Makefile 文件(还有其它本文无需关心的文件),
然后 make 程序就按照当前目录中的 Makefile 文件的指示将源代码编译为二进制文件,
最后将这些二进制文件移动(即安装)到指定的地方(仍然按照 Makefile 文件的指示)。
http://www.ruanyifeng.com/blog/2015/02/make.html
阮一峰的网络日志 -> Make 命令教程(完整)
Makefile中.PHONY的作用-make&& make install的更多相关文章
- Makefile中.PHONY的作用
单词phony (即phoney)的意思是:伪造的,假的.来自collins的解释是: If you describe something as phoney, you disapprove of i ...
- makefile中PHONY的重要性
伪目标是这样一个目标:它不代表一个真正的文件名,在执行make时可以指定这个目标来执行所在规则定义的命令,有时也可以将一个伪目标称为标签.伪目标通过 PHONY来指明. PHONY定义伪目标的命令 ...
- makefile中.PHNOY的用法
makefile中PHONY的重要性 伪目标是这样一个目标:它不代表一个真正的文件名,在执行make时可以指定这个目标来执行所在规则定义的命令,有时也可以将一个伪目标称为标签.伪目标通过 PHON ...
- Linux编译安装中configure、make和make install各自的作用
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./configure是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或G ...
- Makefile 中的.PHONY
PHONY 目标并非实际的文件名:只是在显式请求时执行命令的名字.有两种理由需要使用PHONY 目标:避免和同名文件冲突,改善性能. 所谓的PHONY这个单词就是伪造的意思,makefile中将.PH ...
- .PHONY makefile中的伪目标
我的理解: 拿clean举例,如果make完成后,自己另外定义一个名叫clean的文件,再执行make clean时,将不会执行rm命令. 为了避免出现这个问题,需要.PHONY: clean === ...
- Makefile中 的 phony target,empty target
phony target Makefile的语法很简单 <target> : <prerequisites> [tab] <commands> 目标.先决条件.命令 ...
- Makefile ------ .PHONY的作用
看下面的例子 Makefile文件 .PHONY: cleanclean: rm *.o 当Makefile文件所在目录有文件名为clean的文件,命令行“.PHONY: clean”又没添加的话,执 ...
- [转] Makefile 基础 (7) —— Makefile 中 make 的运行
该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客:(最原始版本) http://blog.csdn.net/haoel/article/details/2886 我转自 ...
- Linux中./configure、make、make install详解
./configure && make && make install详解 2010-08-03 23:30:05 标签:休闲 ./configure &&a ...
随机推荐
- C++11 Lambda表达式(匿名函数)详解
使用STL时,往往会大量用到函数对象,为此要编写很多函数对象类.而有的函数对象类只用定义一个对象,而且这个对象也只使用一次,那编写这样一个函数对象就很浪费了.而且有时这定义函数对象类的地方和使用函数对 ...
- 问题描述:libGL.so.1: cannot open shared object file: No such file or directory
问题截图: 在实验室服务器上跑代码,报如上错误 解决方案: sudo apt update sudo apt install libgl1-mesa-glx 因遇见多次该错误,特此记录下 (据说该问题 ...
- 转:基于Redis实现延时队列
摘要:使用 sortedset,拿时间戳作为score,消息内容作为 key 调用 zadd 来生产消息,消费者用 zrangebyscore 指令获取 N 秒之前的数据轮询进行处理. 前段时间 ...
- 关于PHP 函数性能优化的技巧
本文由 ChatMoney团队出品 本文将详细介绍 PHP 函数性能优化的技巧.通过分析 PHP 函数的执行过程和性能瓶颈,提供一系列实用的优化方法,并结合代码示例,帮助读者提升 PHP 代码的执行效 ...
- [2024.10.27鲜花/csp后记?/rain] 夢をみせて
[2024.10.27鲜花/csp后记?] 夢をみせて \(csp\)这周非常涨\(rp\)的,牙龈肿了,可能是牙周炎,总之又去了趟医院,自高中后,12.2,刚刚被月轮踩出的数字,很有趣,也许什么时候 ...
- sql更新数据
插入数据-insert 单条插入 insert into 表名 (列1,列2...)values(值1,值2...) 批量插入 insert into c_student(student_id,stu ...
- 这几个 Vibe Coding 经验,真的建议学!
大家好,我是 Immerse,一名独立开发者.内容创作者.AGI 实践者. 关注公众号:#沉浸式趣谈,获取最新文章(更多内容只在公众号更新) 个人网站:https://yaolifeng.com 也同 ...
- centos设置swap
熟话说 内存不够,交换来凑,swap 就是用来提前在硬盘中划分一部分空间作为内存使用, 无奈论在linux或windows都有这个概念. 在安卓手机中还给起了一系列的名字 比如 内存融合.扩展内存什么 ...
- mariadb 中 mysql 初始化配置密码
简介 设定初始密码 命令如下 mysql_secure_installation 参考文献 https://www.cnblogs.com/keithtt/p/6922378.html
- PDD 笔试反思记录
一个二叉树的有2016个节点 最多有几个拥有两个子节点的 应该是1007 我擦写错了 第二个求一个直线段的长度 不知道对错 没有参考意义 第三个是输出旋转数组 源码 #include< ...