关注、星标公众号,直达精彩内容

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;(下)相关推荐

  1. makefile指定头文件路径_玩转Makefile | 企业项目Makefile实例

    我是良许,世界500强外企 Linux 工程师,专业生产 Linux 干货,欢迎关注我的知乎「良许Linux」,欢迎点赞,收藏! 1. 前言 本教程展示了一个比较完整的企业项目级别的Makefile文 ...

  2. C语言:编译时指定头文件路径

    编译C代码时,有时会报错,提示找不到头文件. undefined reference to 此时可以在编译命令中添加c头文件路径: C_INCLUDE_PATH=$PWD/include 比如: nd ...

  3. C语言头文件路径相关问题总结说明

    聊聊系统路径位置,绝对路径与相对路径,正斜杠 `/` 与 反斜杠 `\` 使用说明 ...... by 矜辰所致 目录 前言 一.C语言中的头文件引用 二.KEIL 中的头文件路径 2.1 Incud ...

  4. C语言头文件路径剖析

    在一个软件项目中,如果需要在一个文件中包含另一个头文件时,一般有两种包含方式: #include <stdio.h>#include "module.h" 如果你引用的 ...

  5. gcc指定头文件搜索路径及动态链接库搜索路径

    一.#include <>与#include "" #include <>直接到系统指定的某些目录中去找某些头文件. #include "&quo ...

  6. 【错误记录】Visual Studio 中配置 NDK 头文件路径 ( NDK 的三个头文件路径 | 与 CPU 架构相关 asm 头文件路径选择 )

    文章目录 一.报错信息 二.解决方案 1.NDK 的三个头文件路径 2.与 CPU 架构相关 asm 头文件路径选择 一.报错信息 参考 [Android 逆向]Android 进程注入工具开发 ( ...

  7. 四、Makefile包含 头文件和库文件

    一.Makefile规则 二.Makefile案例-多个文件生成一个目标文件 三.Makefile–生成多个目标文件 四.Makefile包含 头文件和库文件 此篇文章以三.Makefile–生成多个 ...

  8. QtCreator里添加外部第三库、头文件路径的方法(.pro文件)

    一.前言 在项目开发过程中,经常需要用到第三方库,需要在QtCreator工程里指定第三库的路径.头文件路径.引用的库名称等等:并且可能还需要编写通用工程针对不同的编译器类型,位数选择不同的库,针对不 ...

  9. vs2008 添加头文件路径

    在vc6中tools->options->directory可以设置 vs2008怎么设置添加编译的头文件路径的?以下两种途径任选一种 1)在解决方案上点右键打开解决方案属性页,通用属性, ...

最新文章

  1. powerbuilder+2个dw联动_千元级小众表,只知道DW就out了,这5个英国品牌一样精致百搭...
  2. Allure Report使用
  3. 【风险管理】金融产品一站式解决方案
  4. Java Optional 的 orElse() 和 orElseGet() 的区别
  5. 大数的相加 乘 余 幂
  6. python中减法运算函数_详解 Python 的二元算术运算,为什么说减法只是语法糖?...
  7. 多线程并发思考--文件加锁
  8. setTimeout和setInteval
  9. jquery的ajax异步请求接收返回json数据
  10. SSRF---gopher和dict打redis
  11. 性能测试——抗攻击-hyenae-ddos攻击
  12. 你是如何转行的?转行容易吗? 1
  13. C语言的s8数据结构
  14. 人工在线客服不在线怎么办
  15. whitelabel error page漏洞及解决
  16. Docker学习笔记 — Swarm搭建Docker集群
  17. 深挖独立站为何在中东大热
  18. 上网看视频国家版八段锦,很好的预防和治疗久坐办公室带来的肩周颈椎疾病...
  19. MSDTC Service的访问权限
  20. 使用微信小程序实现学生登录

热门文章

  1. lua-luaStudio安装
  2. 五大主流浏览器的内核
  3. GitHub搭建个人博客初始版
  4. 128g内存linux开机需要多久,10年时间内存的变换,128MB到128G,价格不但没涨反而越来越低...
  5. Large-scale CelebFaces Attributes (CelebA) Dataset
  6. 数据链路层:以太网帧格式
  7. php object array in,PHP的ArrayObject是否具有in_array等价物?
  8. C#取汉字的拼音或拼音首字母
  9. Homeassistant手机通知功能
  10. Adobe XD使用心得及简单使用技巧