通配符%和Makefile自动推导(规则)
(1)%是Makefile中的通配符,代表一个或几个字母。也就是说%.o就代表所有以.o为结尾的文件。
(2)所谓自动推导其实就是Makefile的规则。当Makefile需要某一个目标时,他会把这个目标去套规则说明,一旦套上了某个规则说明,则Makefile会试图寻找这个规则中的依赖,如果能找到则会执行这个规则用依赖生成目标。

Makfile中引用其他Makefile(include指令)
(1)有时候Makefile总体比较复杂,因此分成好几个Makefile来写。然后在主Makefile中引用其他的,用include指令来引用。引用的效果也是原地展开,和C语言中的头文件包含非常相似。

命令前面的@用来静默执行
(1)在makefile的命令行中前面的@表示静默执行。
(2)Makefile中默认情况下在执行一行命令前会先把这行命令给打印出来,然后再执行这行命令。
(3)如果你不想看到命令本身,只想看到命令执行就静默执行即可。

Makefile中几种变量赋值运算符

(1)= 最简单的赋值。但是用的时候非常注意,如果变量后面还有从新赋值,那么解析的时候是最后一次赋值为准。


(2):= 一般也是赋值
以上这两个大部分情况下效果是一样的,但是有时候不一样。
用=赋值的变量,在被解析时他的值取决于最后一次赋值时的值,所以你看变量引用的值时不能只往前面看,还要往后面看。
用:=来赋值的,则是就地直接解析,只用往前看即可。

(3)?= 如果变量前面并没有赋值过则执行这条赋值,如果前面已经赋值过了则本行被忽略。(实验可以看出:所谓的没有赋值过其实就是这个变量没有被定义过,例 var=" ", var= ,都)
(4)+= 用来给一个已经赋值的变量接续赋值,意思就是把这次的值加到原来的值的后面,有点类似于strcat。(在shell makefile等文件中,可以认为所有变量都是字符串,+=就相当于给字符串stcat接续内容)(注意一个细节,+=续接的内容和原来的内容之间会自动加一个空格隔开)

转载于:https://www.cnblogs.com/yygsj/p/5204368.html

Makefile的补充学习相关推荐

  1. Proxy 补充学习笔记

    Proxy 补充学习笔记 1.基本使用 let obj = new Proxy({},{get:function(target,key,receiver){console.log('获取值');},s ...

  2. 【Makefile由浅入深完全学习记录1】认识make和makefile

    学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 今天开始学习项目又多了一项:Makefile由浅入深完全学习.之前做 ...

  3. 【致敬未来的攻城狮计划】— 连续打卡第三天:欲速则不达,今天是对RA2E1 基础知识的补充学习。

    系列文章目录 1.连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下 2.开发环境的选择和调试(从零开始,加油) 文章目录 目录 系列文章目录 文章目录 前言 一.RA是什 ...

  4. 【Makefile由浅入深完全学习记录8】条件判断语句

    加qq:1126137994 微信:liu1126137994 一起学习更多技术~ 今天来学习Makefile中条件判断语句! Makefile也算是一门语言,它有自己的语法,那么它应该也会像C/C+ ...

  5. 【Makefile由浅入深完全学习记录7】Makefile中变量的高级主题下

    加qq:1126137994 微信:liu1126137994 一起学习更多技术~ 继续上一篇文章关于变量的学习! 1.环境变量(全局变量) -makefile中能够直接使用环境变量的值 如果make ...

  6. 【Makefile由浅入深完全学习记录6】Makefile中变量的高级主题上

    抓住基础,学习更多技术,迎接挑战,加qq:1126137994 微信:liu1126137994 一起学习更多技术~ 上一篇文章学习了makefile中的预定义变量的使用,今天来继续学习makefil ...

  7. 【Makefile由浅入深完全学习记录5】预定义变量的使用

    今天学习Makefile预定义变量的使用,加qq:1126137994.微信:liu1126137994一起学习更多技术!!! 1.预定义变量:自动变量 在Makefile中存在一些预定义过的变量,我 ...

  8. 【Makefile由浅入深完全学习记录4】变量和不同的赋值方式

    今天来学习Makefile中变量的不同的赋值方式!努力的意义就是让贫穷不再限制你的想象!加qq共同学习交流1126137994 1.概念 makefile中支持程序设计中变量的概念 makefile中 ...

  9. 【Makefile由浅入深完全学习记录3】伪目标的引入

    只有不停的努力,才能看起来很轻松!!!加qq1126137994共同学习探讨更多技术!!! 1.思考: makefile中的目标究竟是什么? 在默认的情况下: make认为目标对应一个文件 make比 ...

最新文章

  1. Annoy搜索算法(Approximate Nearest Neighbors Oh Yeah)
  2. oracle存储过程调用游标例子
  3. Tomcat User 配置
  4. 7.wait和waitpid
  5. 计算机专业多媒体技术学什么,计算机多媒体技术需要学习哪些知识
  6. linux的mount命令详解
  7. 惠普服务器ssa找不到控制卡,DL380 Gen10服务器Vmware ESXi 6.0 系统SSACLI工具
  8. ANDROID 中设计模式的採用--结构型模式
  9. SBCL 使用中文时的错误记录 --close 问题已经解决
  10. 数建--LINGO软件介绍
  11. Java高级工程师面试题总结及参考答案
  12. ADS学习:谐波分析和参数扫描
  13. 一文详解蒙特卡洛(Monte Carlo)法及其应用
  14. UE4 Pak包热更新
  15. 读心神探感悟 读心神探 语录 读心神探 观后感
  16. 熊猫直播P2P分享率优化(上):IP组网
  17. SIP协议及其简单介绍
  18. 2021-2027全球与中国多媒体教室投影仪市场现状及未来发展趋势
  19. 3.3V和1.8V电平双向转换
  20. 暴力枚举题:平面上的点与外心

热门文章

  1. koa-中间件流程控制
  2. matlab矩阵中如何去掉重复的行;如何找到相同的行,并找到其位置
  3. Unix/Linux环境C编程入门教程(39) shell命令之系统管理
  4. [.NET] Rough Dependency Injection
  5. python iot平台_Python MQTT连接到Azure Iot中心
  6. Linux中如何将文件dump成16进制值
  7. 使用nsenter进入docker namespace
  8. leetcode算法题--对称的二叉树
  9. 南外计算机课,南外小升初,怎么考?
  10. Lambda 表达式(=):网络摘抄,自学用,侵删。