makefie中notdir函数
时间: 2024-05-03 10:22:09 浏览: 140
notdir函数是makefile中的一个函数,用于从文件路径中提取文件名部分。具体用法如下:
```makefile
$(notdir names...)
```
其中,names是一个或多个文件路径,可以使用通配符。
例如,假设有如下文件路径:
```
src/main.c
src/utils/helper.h
```
可以使用notdir函数提取文件名部分:
```makefile
$(notdir src/main.c src/utils/helper.h)
```
输出结果为:
```
main.c helper.h
```
notdir函数可以用于生成目标文件名、依赖文件名等场景。
相关问题
makefile的所有函数
在Makefile中,通常使用以下函数:
1. $(subst from,to,text): 将文本 text 中的 from 字符串替换为 to 字符串。
2. $(patsubst pattern,replacement,text): 使用模式匹配,将文本 text 中的 pattern 字符串替换为 replacement 字符串。
3. $(strip string): 去除 string 字符串中的前导空格和尾随空格。
4. $(findstring find,in): 在字符串 in 中查找字符串 find。如果找到,则返回 find,否则返回空。
5. $(filter pattern...,text): 从文本 text 中选取符合模式 pattern 的字符串。
6. $(filter-out pattern...,text): 从文本 text 中去除符合模式 pattern 的字符串。
7. $(sort list): 将列表 list 中的字符串按字典序排序。
8. $(word n,text): 返回文本 text 中的第 n 个单词。
9. $(wordlist s,e,text): 返回文本 text 中从第 s 个单词到第 e 个单词的列表。
10. $(words text): 返回文本 text 中的单词数。
11. $(firstword names...): 返回 names 列表中的第一个单词。
12. $(lastword names...): 返回 names 列表中的最后一个单词。
13. $(dir names...): 返回 names 列表中的路径部分。
14. $(notdir names...): 返回 names 列表中的非路径部分。
15. $(suffix names...): 返回 names 列表中的文件后缀名。
16. $(basename names...): 返回 names 列表中的文件名,不包括后缀名。
17. $(addsuffix suffix,names...): 将列表 names 中的每个字符串后面添加后缀 suffix。
18. $(addprefix prefix,names...): 将列表 names 中的每个字符串前面添加前缀 prefix。
19. $(join list1,list2): 将列表 list1 中的每个字符串与列表 list2 中的每个字符串连接起来。
20. $(wildcard pattern): 返回符合模式 pattern 的文件名列表。
21. $(shell command): 执行 shell 命令,并返回命令的输出结果。
22. $(eval text): 对文本进行求值,将文本作为 Makefile 代码执行。
23. $(call variable,param1,param2,...): 定义一个函数,并返回函数的结果。
24. $(if condition,then-part,else-part): 如果条件 condition 成立,则返回 then-part,否则返回 else-part。
25. $(foreach var,list,text): 对列表 list 中的每个元素执行一次文本 text,并将变量 var 替换为当前元素的值。
26. $(shell), $(eval), $(call), $(if), $(foreach) 等函数还可以嵌套使用。
makefile中$(notdir $(shell pwd))什么作用
`$(notdir $(shell pwd))`在Makefile中的作用是获取当前工作目录的名称,即去除当前工作目录的路径,只保留最后的目录名。其中,`$(shell pwd)`用于获取当前工作目录的路径,`$(notdir)`函数用于去除路径,只保留目录名。
举个例子,如果当前工作目录的路径为`/home/user/project/src`,那么`$(notdir $(shell pwd))`的值就是`src`。
阅读全文