linux makefile basename函数
摘要:
makefile phony
1.Linux Makefile 简介 
2.Makefile 中的函数 
3.basename 函数的作用 
4.basename 函数的参数 
5.basename 函数的返回值 
6.basename 函数在 Makefile 中的应用示例
正文:
Linux Makefile 是一个用于管理编译过程的文件,它可以根据源文件之间的依赖关系自动编译、链接和安装软件。在 Makefile 中,可以定义一些函数来简化重复的操作,提高自动化程
度。basename 函数就是其中一个常用的函数。
basename 函数是用来获取文件名的函数,它可以从给定的路径名中提取文件名部分。该函数的定义和使用方式类似于 shell 脚本中的 basename 命令。在 Makefile 中,basename 函数可以方便地提取源文件名,以便进行后续操作。
basename 函数的语法如下:
``` 
basename(prefix, suffix) 
```
其中,`prefix` 参数表示路径名的前缀部分,`suffix` 参数表示路径名的后缀部分。函数返回值是去掉前缀和后缀后的文件名。
basename 函数的参数都是可选的。如果不提供 `prefix` 参数,那么默认前缀为空字符串;如果不提供 `suffix` 参数,那么默认后缀为空字符串。
basename 函数的返回值是一个字符串,表示去掉前缀和后缀后的文件名。如果源路径名中不包含前缀或后缀,那么返回值将与源路径名相同。
下面举一个 basename 函数在 Makefile 中的应用示例。假设我们有一个源文件 `main.c`,我们想要提取文件名并生成一个名为 `main` 的目标文件。我们可以这样写 Makefile:
``` 
all: main
main: main.c 
t$(CC) $(CFLAGS) -o $@ $<
.PHONY: clean 
clean: 
trm -f main 
```
在这个例子中,我们使用了 `$(CC) $(CFLAGS) -o $@ $<` 命令来编译源文件。其中,`$<` 表示依赖文件,即 `main.c`。`$@` 表示目标文件,即 `main`。这里我们用到了 basename 函数,通过 `$(notdir $(file))` 自动提取源文件的文件名。`$(notdir $(file))` 表示去掉路径名中的前缀部分,即目录名。这样我们就可以得到目标文件的名称。
通过这个简单的示例,我们可以看到 basename 函数在 Makefile 中的应用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。