文章目录

  • 1 foreach函数
  • 2 wildcard函数
  • 3 patsubst函数
  • 4 filter 函数
  • 5 filter-out函数

1 foreach函数

语法: $(foreach var,list,text)
简单地说,就是 for each var in list, change it to text。
对list中的每一个元素,取出来赋给var,然后把var改为text所描述的形式。

例子:

objs := a.o b.o
dep_files := $(foreach  f,  $(objs),  .$(f).d)  // 最终 dep_files := .a.o.d .b.o.d

2 wildcard函数

语法: $(wildcard pattern)
pattern所列出的文件是否存在,把存在的文件都列出来。

例子:

src_files := $( wildcard  *.c)  // 最终 src_files中列出了当前目录下的所有.c文件

3 patsubst函数

语法: $(patsubst pattern,replacement,text)
寻找text中符合格式pattern的字,用replacement替换它们。pattern和replacement中可以使用通配符。

举例

subdir-y    :=  c/  d/
subdir-y    := $(patsubst  %/,  %,  $(subdir-y))   // 结果为:c  d

4 filter 函数

语法: $(filter pattern…,text)
把text中符合pattern格式的内容,filter(过滤)出来、留下来。
举例

obj-y := a.o b.o c/ d/
DIR :=  $(filter  %/,  $(obj-y))   //结果为:c/ d/

5 filter-out函数

语法: $(filter-out pattern…,text)
把text中符合pattern格式的内容,filter-out(过滤)出来、扔掉。
举例

obj-y := a.o b.o c/ d/
DIR :=  $(filter-out  %/,  $(obj-y))   //结果为:a.o  b.o

参考资料

  1. 韦东山全系列视频第1季快速入门

makefile中的函数相关推荐

  1. Makefile中wildcard函数的应用理解

    文章目录 前言 1 "*"通配符使用场景 2 "*"通配符实例 总结 前言 如果我们想定义一系列比较类似的文件,我们很自然地就想起使用通配符.make 支持三种 ...

  2. makefile中常用函数

    Linux下编译c/c++源码需要编写makefile文件,文章参看 http://blog.sina.com.cn/s/blog_4c4d6e74010009jr.html 一函数的调用语法 二字符 ...

  3. Makefile中patsubst函数使用方法

    Makefile中patsubst函数使用方法   patsubst函数用于将文件模式进行替换. 一.作用 替换文件后缀. 二.格式 $(patsubst 原模式, 目标模式, 文件列表) 三.实例 ...

  4. Android Makefile中inherit-product函数和include的区别

    在 Android Makefile中inherit-product函数和include都是执行某个文件. include 使用: include device/mediatek/mt2712/dev ...

  5. Makefile中自定义函数的调用

    From: http://www.cnblogs.com/MyEyes/archive/2012/01/12/2320589.html 自己学习脚印,不喜勿喷,谢谢 ~ Makefile中函数定义: ...

  6. Makefile中if函数和ifeq/ifneq语句

    注意:Makefile中没有if语句,只有 ifeq ifneq语句 8.5 if 函数 函数" if"提供了一个在函数上下文中实现条件判断的功能.就像make所支持的条 件语句- ...

  7. Android Makefile中inherit-product函数简介,以及与include的区别

    在 Android Makefile 中时不时会看见 inherit-product 函数的使用,类似下方这样:         $(call  inherit-product,  vendor/do ...

  8. 章节之外:makefile中的函数定义

    build-userimage-ext2-target的定义 # $(1): src directory # $(2): output file # $(3): label (if any) # $( ...

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

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

最新文章

  1. IBM Cloud Speech to Text 语音识别
  2. 学习记录:CONCAT()
  3. in作为介词的用法_英语中in/on/at/to/from/by/with/for/about/after/before的用法
  4. AR Software
  5. 在Word XP中也能插入国际音标、拼音
  6. 清除Pycharm设置的方法
  7. pcc定义_PCC介绍——智能管道
  8. android 抽屉式滑动demo
  9. StringIndexOutOfBoundsException
  10. 虚拟机scala安装
  11. 视频教程-Linux基础入门视频课程-Linux
  12. DLP和3LCD投影仪技术有什么区别?怎么选看这里!
  13. 骚操作!快速创建JSON数据和解析JSON数据
  14. AutoIt上路03-添加工具栏
  15. vscode安装及插件安装
  16. LINUX未来的发展前景
  17. 手机html点击按钮复制,网页文字无法复制?按下手机这个键即可复制!网友:厉害了...
  18. windows服务器系统发展史,从1.0到Win10:Windows操作系统进化史
  19. 没有50W彩礼 女友被强行拽走! Python分析全国彩礼情况,心凉了!
  20. c语言背景音乐,背景图,背景字体

热门文章

  1. 4.10 风格代价函数-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  2. 【问题解决】老外ESP32TTS语音合成库AquesTalk ESP32测试成功
  3. 【DIY】送给儿子的礼物——DIY故事机(音乐播放器)
  4. MASH结构相噪分析的simulink仿真
  5. 关于热插拔usb hotplug /proc/sys/kernel mdev udev busybox
  6. 百度ueditor编辑器动态获取项目根目录
  7. 多delegate使用
  8. Hibernate用Mysql数据库时链接关闭异常的解决
  9. 关于mysql的ddl_log.log文件
  10. 隐藏在mock之后的‘快感’