makefile指定头文件路径_Linux应用编程之quot;一文搞定Makefilequot;(下)
ID:嵌入式情报局
作者:情报小哥
1指定使用Makefile文件
在命令行中使用make命令,makefile会在默认路径中查找对应的makefile文件来进行工程管理,我们一般把对应的makefile文件名命名为Makefile和makefile等,如果名字不匹配可能无法找到对应的makefile文件,比如:
makefile文件名
Makefile文件名
MAKEFILE文件名-编译失败
从上面的实验现象可以了解到make会查找默认的makefile文件名,如果没有找到规定的文件名就会报相应的故障。
不过如果平时在一个目录下存在多个makefile文件的时候,一般我们都会通过不同命名来进行区分,那么该如何指定对应的makefile文件进行识别解析呢 ?可以使用make -f选项,如下图所示:
2注释文本
在开发过程中存在需要注释掉makefile文件相应文本行可以在文件的行首使用#号:
上面是正常进行makefile编译目标文件的完整实例,并且输出了正确的结果,然后小哥使用#号屏蔽掉前面两行,如下图所示:
继续执行make命令,根据makefile的规则,会默认编译Test1.o目标文件:
这样我们获得了正确的结果,说明注释生效。
3取消回显文本
在makefile使用过程中默认是会把相应的处理过程信息进行回显,这样能够让开发者更好的了解makefile的处理过程.
不过,如果回显信息非常的庞大也是不利于开发者分析的,所以编辑人员可以使用@来取消相关信息的回显,如下图所示:
在命令tab键后加入@
这里我们可以看到使用make以后没有像之前使用的makefile文件那样存在回显的命令行信息了。
4伪目标的使用
在makefile文件中有时候执行一些不需要有依赖命令的目标,称为伪目标。
上面是对应的makefile文件,其中里面加入伪目标clean,通过使用.PHONY修饰,这样可以直接使用make clean 来执行对应的命令。
上面执行make clean确实执行了清除操作。
5变量的使用
在makefile中为了减少代码的重复,使用变量的概念来简化编写,如下面的makefile进行如下改造:
使用$(obj)来代替所有的目标文件,以后需要添加其他目标文件的话就只需要在变量obj处进行相应修改即可。
同时系统还存在其他默认的自动化变量,这样可以大大简化makefile文件,便于设计和后期维护,如:
$^ 表示所有的依赖文件
$@ 表示生成的目标文件
$
等等
makefile基础知识点小哥暂时就讲到这里,其实大部分工程项目自己完完全全编写的并不是很多,更多的修修改改,所以遇到了具体的疑问在进行查找或许效率更高。
我是情报小哥,下期精彩见!
长按前往图中包含的公众号关注
makefile指定头文件路径_Linux应用编程之quot;一文搞定Makefilequot;(下)相关推荐
- makefile指定头文件路径_玩转Makefile | 企业项目Makefile实例
我是良许,世界500强外企 Linux 工程师,专业生产 Linux 干货,欢迎关注我的知乎「良许Linux」,欢迎点赞,收藏! 1. 前言 本教程展示了一个比较完整的企业项目级别的Makefile文 ...
- C语言:编译时指定头文件路径
编译C代码时,有时会报错,提示找不到头文件. undefined reference to 此时可以在编译命令中添加c头文件路径: C_INCLUDE_PATH=$PWD/include 比如: nd ...
- C语言头文件路径相关问题总结说明
聊聊系统路径位置,绝对路径与相对路径,正斜杠 `/` 与 反斜杠 `\` 使用说明 ...... by 矜辰所致 目录 前言 一.C语言中的头文件引用 二.KEIL 中的头文件路径 2.1 Incud ...
- C语言头文件路径剖析
在一个软件项目中,如果需要在一个文件中包含另一个头文件时,一般有两种包含方式: #include <stdio.h>#include "module.h" 如果你引用的 ...
- gcc指定头文件搜索路径及动态链接库搜索路径
一.#include <>与#include "" #include <>直接到系统指定的某些目录中去找某些头文件. #include "&quo ...
- 【错误记录】Visual Studio 中配置 NDK 头文件路径 ( NDK 的三个头文件路径 | 与 CPU 架构相关 asm 头文件路径选择 )
文章目录 一.报错信息 二.解决方案 1.NDK 的三个头文件路径 2.与 CPU 架构相关 asm 头文件路径选择 一.报错信息 参考 [Android 逆向]Android 进程注入工具开发 ( ...
- 四、Makefile包含 头文件和库文件
一.Makefile规则 二.Makefile案例-多个文件生成一个目标文件 三.Makefile–生成多个目标文件 四.Makefile包含 头文件和库文件 此篇文章以三.Makefile–生成多个 ...
- QtCreator里添加外部第三库、头文件路径的方法(.pro文件)
一.前言 在项目开发过程中,经常需要用到第三方库,需要在QtCreator工程里指定第三库的路径.头文件路径.引用的库名称等等:并且可能还需要编写通用工程针对不同的编译器类型,位数选择不同的库,针对不 ...
- vs2008 添加头文件路径
在vc6中tools->options->directory可以设置 vs2008怎么设置添加编译的头文件路径的?以下两种途径任选一种 1)在解决方案上点右键打开解决方案属性页,通用属性, ...
最新文章
- powerbuilder+2个dw联动_千元级小众表,只知道DW就out了,这5个英国品牌一样精致百搭...
- Allure Report使用
- 【风险管理】金融产品一站式解决方案
- Java Optional 的 orElse() 和 orElseGet() 的区别
- 大数的相加 乘 余 幂
- python中减法运算函数_详解 Python 的二元算术运算,为什么说减法只是语法糖?...
- 多线程并发思考--文件加锁
- setTimeout和setInteval
- jquery的ajax异步请求接收返回json数据
- SSRF---gopher和dict打redis
- 性能测试——抗攻击-hyenae-ddos攻击
- 你是如何转行的?转行容易吗? 1
- C语言的s8数据结构
- 人工在线客服不在线怎么办
- whitelabel error page漏洞及解决
- Docker学习笔记 — Swarm搭建Docker集群
- 深挖独立站为何在中东大热
- 上网看视频国家版八段锦,很好的预防和治疗久坐办公室带来的肩周颈椎疾病...
- MSDTC Service的访问权限
- 使用微信小程序实现学生登录
热门文章
- lua-luaStudio安装
- 五大主流浏览器的内核
- GitHub搭建个人博客初始版
- 128g内存linux开机需要多久,10年时间内存的变换,128MB到128G,价格不但没涨反而越来越低...
- Large-scale CelebFaces Attributes (CelebA) Dataset
- 数据链路层:以太网帧格式
- php object array in,PHP的ArrayObject是否具有in_array等价物?
- C#取汉字的拼音或拼音首字母
- Homeassistant手机通知功能
- Adobe XD使用心得及简单使用技巧