patsubst函数:

功能:查找text中的单词(单词以“空格”、“Tab”或“回车”“换行”分隔)是否符合模式pattern,如果匹配的话,则以replacement替换。
这里,pattern可以包括通配符“%”,表示任意长度的字串。如果replacement中也包含“%”,那么,replacement中的这个“%”将是pattern中的那个“%”所代表的字串。(可以用“\”来转义,以“%”来表示真实含义的“%”字符)。

例如:INCDIRS := imx6ul bsp/clk bsp/led bsp/delay
INCLUDE := $(patsubst %, -I %, $(INCDIRS))
效果:INCDIRS :=-I imx6ul -I bsp/clk -I bsp/led -I bsp/delay


wildcard函数:

功能:$(wildcard PATTERN),获取匹配 PATTERN 的所有对象,返回值为当前目录下匹配PATTERN条件的使用空格作为间隔的列表。

例如:SRC = $(wildcard *.c),获取当前目录下的.c文件并以空格为间隔。


foreach函数:

功能:Makefile常用循环函数,函数常用格式: $(foreach var, list, text),该函数从list参数中逐一取出var参数中,然后执行text表达式,每次返回一个字符串,最后返回值为以空格为间隔的之前单次循环的所有字符串集合。

例如:SRCDIRS := project bsp/clk bsp/led bsp/delay
SFILES := $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.S))

效果:将SRCDIRS中的元素逐一读出到dir,然后执行$(wildcard $(dir)/*.S)),最终效果就是将SRCDIRS中的所有.S文件读出并以空格间隔


Makfile笔记——patsubst函数、foreacch函数、wildcard函数相关推荐

  1. linux_makefile文件编写,基本规则、工作原理、模式规则,wildcard函数、patsubst函数

    接上一篇:linux_GDB调试学习(调试运行.多文件设置断点)_C/C++程序调试 本次来分享linux下的makefile文件的编写,开始上菜: 目录 1.makefile文件的命名规则 2.用途 ...

  2. 【makefile笔记】patsubst和wildcard函数使用小结

    0x00 前言 文章中的文字可能存在语法错误以及标点错误,请谅解: 如果在文章中发现代码错误或其它问题请告知,感谢! 0x01 makefile函数调用语法 makefile函数调用原型: $(< ...

  3. wildcard函数

    在Makefile规则中,通配符会被自动展开.但在变量的定义和函数引用时,通配符将失效.这种情况下如果需要通配符有效,就需要使用函数"wildcard",它的用法是:$(wildc ...

  4. OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC

    OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...

  5. OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十

    OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...

  6. 子类重写父类虚函数_C/C++编程笔记:关于C++的虚函数和多态,你真的了解吗?...

    前言 本章节主要针对于C++中的虚函数和多态做一个详细介绍. 虚函数 虚函数的长相其实很简单,在C++类型用virtual修饰的函数就是虚函数,如下代码: 虚函数对于本类的影响:存在虚函数类的内存会多 ...

  7. Python学习笔记__4.1章 高阶函数

    # 这是学习廖雪峰老师python教程的学习笔记 1.概览 我们知道Python内置的求绝对值的函数是abs() # 调用abs()函数可以获得一个值 >>> abs(-10) 10 ...

  8. Linux学习笔记-Makefile中的变量及函数

    Makefile中的变量 此处的变量不是C/C++,Java等中的变量(认为他是一个字符串就阔以了) 一般变量名用大写字母来写,如下所属: SUBDIR = src xml SUBDIR += osa ...

  9. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

最新文章

  1. 卷积神经网络(CNN)新手指南
  2. ios开发判断字符串为空_【开发常识】这个问题,直接导致年终奖没了……(惨兮兮)...
  3. oracle中类似indexof用法_instr函数
  4. 【MongoDB系列】:MongoDB 集群,副本集模式(二)
  5. Match Points
  6. 2018-2019 20165227《信息安全系统设计基础》第三周学习总结
  7. php 循环多条件,怎么循环带条件的数组
  8. ntlm java_深讨Java SE 6 在 HTTP 方面的新特性(NTLM)
  9. Python学习笔记之用户输入
  10. 0-10不断循环的js
  11. android蓝牙设置特征属性,Android BLE蓝牙详细解读(二)
  12. 20172328《程序设计与数据结构》第三周学习总结
  13. 崩溃中!我终于看明白了,什么是财富自由的底层逻辑!思维导图+笔记精华
  14. android 焦点移动,Android TV 焦点上下左右移动
  15. 数字黑洞java,java解决数字黑洞问题
  16. 语音识别 特征提取(一)
  17. Catlike Coding Unity教程系列 中文翻译 Basics篇(一)Game Objects and Scripts
  18. 【Flutter 问题系列第 15 篇】如何给 Flutter 中的图片设置透明度
  19. XSS短字符短域名绕过,XSS相关的知识
  20. 品管七大手法-6鱼骨图(转载)

热门文章

  1. 动手学Zeppelin数据挖掘生产力怪兽
  2. 京沪动卧取消 豪华软卧极为刺眼
  3. 前端开发--webpack打包工具
  4. 我知道的webpack前端打包工具(一)
  5. ROS+Bebop2无人机+YOLO算法实现无人机视角的实时目标检测
  6. 399元享乐自由青春!荣耀FlyPods青春版无线蓝牙耳机今日发布
  7. karate参数使用和设置debug超长延时
  8. 2023年全国最新保安员精选真题及答案20
  9. Android中View类OnClickListener和DialogInterface类OnClickListener冲突解决办法
  10. java基础知识-集合和泛型