Makefile基础——函数
来源:互联网 发布:淘宝是网站吗 编辑:程序博客网 时间:2024/06/05 20:51
本节将介绍Makefile中的函数。
函数的基础请参考Makefile基础。
字符串处理函数
$(subst <from>,<to>,<text>)
作用:将text中的from替换成to,并返回修改后的text(当然也有可能没有被修改)。
$(patsubst <pattern>,<replacement>,<text>)作用:基本同subst,只是这里变成了对满足模式的字符串的替换。
$(strip <string>)作用:将string前后的空格去掉并返回修改后的string(当然也有可能没有被修改)。
$(findstring <find>,<in>)作用:在in中找字符串find,如果找到了就返回find,否则返回空。
$(filter <pattern...>,<text>)作用:过滤text字符串,只保留符合模式的字符串,pattern可以有多个。
$(filter-out <pattern...>,<text>)作用:同filter刚好相反,这里删除符合模式的字符串。
$(sort <list>)作用:升序排序list里面的单词。
$(word <n>,<text>)作用:取text中的第n个单词,从1开始算。
$(wordlist <s>,<e>,<text>)作用:取text中第s个开始到第e个为止的单词,包括第e个单词。
$(words <text>)作用:返回text中的单词数。
$(firstword <text>)作用:返回text中的第一个单词。
文件名操作
$(dir <names...>)作用:取names中的目录部分。
$(nodir <names...>)作用:取names中的非目录部分。
$(suffix <names...>)作用:取names中的后缀部分,比如main.c就取得.c部分。
$(basename <names...>)作用:取names中的前面部分,比如main.c就取得main部分。
$(addsuffix <suffix>,<names...>)作用:给names中的每一个成员加后缀suffix。
$(addprefix <prefix>,<names...>)作用:给names中的每一个成员加前缀prefix。
$(join <list1>,<list2>)作用:将list1中的单词加到list2对应位置的单词之后。没有对应的就不管了。
$(abspath <names...>)作用:返回绝对路径。
结构函数
$(foreach <var>,<list>,<text>)作用:取出list中的每一个单词并赋值给var,再执行text语句。
$(if <condition>,<then-part>,<else-part>)作用:判断condition条件,满足条件就执行then-part,否则执行else-part。两个part都可以是空。
call函数
$(call <expression>,<param1>,<param2>...)作用:执行expression,后面的是参数,它们在expression中用$(1)$(2)...表示。
origin函数
$(origin <var>)作用:确定var的来源,是undefined?default?environment?file?command line?override?automatic?
shell函数
$(shell <cmd>)
作用:执行cmd命令。相当于`cmd`。
eval函数
$(eval <text>)作用:不明。
似乎是展开text,作为Makefile的一部分。但是为什么要这么做,为什么不直接写text,不明白。。。
告警/错误函数
$(error <tetx>)作用:显示错误并停止执行。
$(warning <text>)作用:显示告警,但是会继续执行。
wildcard函数
$(wildcard pattern...)作用:返回工作目录下满足pattern的所有文件名,多个文件名之间用空格隔开。
运行make之后的结果:
0 0
- Makefile基础——函数
- Python——makefile函数
- makefile讲义(1)——makefile基础(概述)
- Makefile 学习日记(五)——makefile中的函数
- Makefile构建工程设计——Makefile函数调用
- Linux技术——makefile基础
- Makefile讲义(7)——使用函数
- Makefile讲义(7)——使用函数
- Linux下C语言编程基础 —— Makefile
- C语言的本质(36)——makefile基础
- Linux——makefile IO基础 文件描述符
- makefile基础
- Makefile 基础
- Makefile基础
- Makefile基础
- makefile基础
- makefile 基础
- makefile 基础
- iOS读取二维码
- [Unity3D]Shader学习笔记之点和矢量
- JS 面向对象之神奇的prototype
- React/React Native 的ES5 ES6写法对照表
- nefu003模拟
- Makefile基础——函数
- Oracle 删除用户时出现异常ora-01922: CASCADE
- JAVA多线程(2)
- Maven仓库管理:Artifactory
- <设计模式11>桥接模式
- Spark性能优化第八季之Spark Tungsten-sort Based Shuffle
- CSS中浮动的特点
- 详解View的绘制流程
- oracle drop表空间