常用的makefile内置函数
patsubst
格式:$(patsubst <pattern>,<replacement>,<text> )
名称:模式字符串替换函数——patsubst。
功能:查找<text>中的单词(单词以“空格”、“Tab”或“回车”“换行”分隔)是否符合模式<pattern>,如果匹配的话,则以<replacement>替换。
这里,<pattern>可以包括通配符“%”,表示任意长度的字串。如果<replacement>中也包含“%”,那么,<replacement>中的这个“%”将是<pattern>中的那个“%”所代表的字串。
(可以用“\”来转义,以“\%”来表示真实含义的“%”字符)
返回:函数返回被替换过后的字符串。
示例:
$(patsubst %.c,%.o, a.c b.c)
把字串“a.c b.c”符合模式[%.c]的单词替换成[%.o],返回结果是“a.o b.o”
<text>可以使用makefile中的变量
相关推荐
### 如何编写Makefile #### 概述 Makefile 是一种用于自动化构建过程的脚本文件,主要用于 Unix/Linux 系统。它通过一系列预定义的规则来管理项目的编译流程,使得开发者能够更加高效地管理和编译大型项目。在本...
* 函数(function):Makefile 中的函数,例如 addprefix、filter、patsubst 等。 Makefile 的应用场景非常广泛,例如: * 代码编译:Makefile 可以用来编译源代码生成可执行文件。 * 项目管理:Makefile 可以用来...
4. 函数(Function):用于处理变量,如`$(patsubst pattern,replacement,text)`用于字符串替换。 5.隐含规则(Implicit Rule):预定义的规则,例如编译C源文件到可执行文件。 四、Makefile的常用指令 1.`clean`:...
此外,`Makefile`还支持条件语句(ifeq, ifneq等)和函数(如patsubst, wildcard等),可以实现更复杂的逻辑和路径处理。例如,你可以使用`wildcard`函数获取当前目录下的所有`.c`文件,然后自动构建规则: ```make...
Make还提供了内置函数,如`$(patsubst)`用于字符串替换,`$(wildcard)`用于获取目录中的文件列表。 3. **规则和目标**:目标通常是需要构建的文件,如可执行文件或库。依赖项是构建目标所需的文件。当依赖文件更新...
Makefile还提供了许多内置函数,如wildcard、patsubst、notdir等,它们可以用来处理文件名匹配和转换,使得编写Makefile更为灵活和强大。 6. 清理工作 在Makefile中通常会定义一个名为clean的目标,用来清除编译...
在编程世界中,`Makefile` 是一个至关重要的工具,特别是在多文件项目中,它用于自动化编译和链接过程,节省了开发者的时间和精力。`Makefile` 的编写是项目构建自动化的核心,它定义了一系列规则,告诉操作系统如何...
另外,Makefile还支持条件语句(ifeq, ifneq等)和函数(比如patsubst,wildcard等),使得编写更复杂的构建逻辑成为可能。 “GNU_Make_3.80_cn.pdf”是GNU Make 3.80版本的中文文档,可能会涵盖更多细节,如Make的...
Makefile支持一些函数,如`$(patsubst pattern,replacement,text)`用于替换文本模式,`$(wildcard pattern)`用于匹配目录中的文件等。 ### 6. 清理目标(Clean Target) 清理目标通常命名为`clean`,用于删除编译...
还有内置函数,如`$(shell command)`用于执行shell命令,`$(patsubst pattern,replacement,text)`进行字符串替换。 3. **隐含规则**:make内建了一些隐含规则,如默认的编译和链接规则,可以自动处理`.c`文件到`.o`...
### GNU makefile中文手册知识点概览 #### 一、GNU make工具概述 - **GNU make** 是一个自动化构建工具,广泛应用于软件项目管理和构建过程中。它通过读取一个名为 Makefile 的文件来确定如何构建最终的目标文件。 ...
7. **函数和运算符**:`make`提供了一系列函数,如`$(shell command)`运行系统命令,`$(patsubst pattern,replacement,text)`替换文本中的模式。 8. **多目标和多规则**:一个规则可以有多个目标,而一个`Makefile`...
在Linux系统中,Makefile是用于自动化构建程序的脚本,它定义了如何从源代码编译、链接生成可执行文件。在这个特定的场景中,我们的任务是编写一个Makefile来处理工程目录下所有C语言源文件的编译,包括可能存在的子...
- **函数(Function)**:用于字符串操作,如`$(patsubst)`用于替换模式。 4. **Makefile的用法** - `make`命令:执行Makefile中的规则,根据依赖关系判断哪些文件需要更新。 - `-f`选项:指定Makefile的路径,...
Makefile支持多种函数,如`subst`(替换)、`patsubst`(模式替换)、`sort`(排序)等,用于文本处理。 **6.3 文件名操作** 包括`dir`(获取目录部分)、`notdir`(获取文件名部分)、`suffix`(获取文件扩展名)...
Makefile还提供了一些内置函数,如`$(patsubst pattern,replacement,text)`用于模式替换,`$(wildcard pattern...)`用于匹配文件名等。例如: ```makefile SOURCES := $(wildcard *.c) OBJECTS := $(SOURCES:.c=.o)...
在编程世界中,`Makefile` 是一个非常重要的工具,特别是在C/C++等需要编译的语言中,它用于自动化构建过程。`Makefile`通过定义规则来决定哪些源文件需要被编译或链接,以及如何执行这些操作。当`Makefile`不编译...
- **字符串处理函数**:如`subst`、`patsubst`等用于字符串操作。 - **文件名操作函数**:如`dir`、`notdir`等处理文件路径。 - **控制流函数**:如`foreach`、`if`等控制流程。 10. **make的运行**: - **指定...
7. **函数**:Makefile还提供了一些内置函数,如`$(shell command)`用于执行shell命令,`$(patsubst pattern,replacement,text)`用于字符串替换。 8. **规则的顺序**:Makefile中规则的顺序很重要,因为Make会按从...