当前位置:网站首页>黑猫带你学Makefile第12篇:常见Makefile问题汇总
黑猫带你学Makefile第12篇:常见Makefile问题汇总
2022-08-10 21:10:00 【黑猫学长呀】
本文结合个人工作/学习经验、网络资料辛苦整理/撰写而成,付费内容,禁止转载。
本文所在专栏《黑猫带你学Makefile》
在工作/学习过程中,即使深入学习研究了makefile,依旧有很多杂七杂八的问题产生,本文将这些问题整理汇总,方便查阅。
1 使用伪目标.PHONY : clean的原因
使用伪目标有两点原因:
1、避免在我们的Makefile中定义的只执行命令的的目标(此目标的目的为了执行执行一系列命令,而不需要创建这个目标)和工作目录下的实际文件出现名字冲突。
2、提高执行make时的效率,特别是对于一个大型的工程来说,编译的效率也许你同样关心。
如果我们需要书写这样一个规则:规定所定义的命令不是去创建目标文件,而是使用make指定具体的目标来执一些特定的命令。像下边那样:
clean:
rm *.o temp
规则中“rm”不是创建文件“clean”的命令,只是删除当前目录下的所有.o文件和temp文件。在工作目录下不存在“clean”这个文件时,我们输入“make clean”后,“rm *.o temp”总会被执行。这是我们的初衷。
但当
边栏推荐
- 如何保护 LDAP 目录服务中的用户安全?
- Detailed explanation of the use of Oracle's windowing function (2)
- 力扣221题,最大正方形
- 【PCBA scheme design】Bluetooth skipping scheme
- Getting started with kuberentes Auditing
- PROCEDURE :存储过程结构——《mysql 从入门到内卷再到入土》
- INSERT:插入操作语法&使用例——《mysql 从入门到内卷再到入土》
- DDL:CREATE 创建数据库——《mysql 从入门到内卷再到入土》
- GAN CFOP
- apr_thread使用内存之谜
猜你喜欢
数据标注太昂贵?这个方法可以用有限的数据训练模型实现基于文本的ReID!
TortoiseSVN小乌龟的使用
Rider调试ASP.NET Core时报thread not gc-safe的解决方法
ansible各个模块的详解和使用
ACM模板笔记:最长不下降/上升子序列
LeetCode-498 - Diagonal Traversal
Uniapp编译后小程序的代码反编译一些思路
Live Classroom System 08 Supplement - Tencent Cloud Object Storage and Course Classification Management
LeetCode-402 - Remove K digits
数字化转型:如何引导创新领导者
随机推荐
D. Game With Array
美创科技勒索病毒“零信任”防护和数据安全治理体系的探索实践
SELECT:简单的查询操作语法&使用例——《mysql 从入门到内卷再到入土》
化学制品制造业数智化供应链管理系统:建立端到端供应链采购一体化平台
深度学习之 12 循环神经网络RNN2
Getting started with kuberentes Auditing
TortoiseSVN小乌龟的使用
国内Gravatar头像的完美替代方案Cravatar
【PCBA方案设计】蓝牙跳绳方案
Likou 221 questions, the largest square
饿了么-机构树单选
【vulhub】MySql身份认证绕过漏洞复现(CVE-2012-2122)
B. Same Parity Summands
【PCBA solution】Electronic grip strength tester solution she'ji
C. Social Distance
ES6中的for...in/of的使用
我的世界整合包 云服务器搭建方法(ECS)
PostgreSQL 介绍
LeetCode-402-移掉K位数字
变量和它的特性——《mysql 从入门到内卷再到入土》