
在 Makefile 中,$(notdir names…) 是一个函数,用于获取一组文件名或路径中的文件名部分,并将其返回。
这个函数通常用于从给定的路径中提取文件名部分,非常适合在 Makefile 中进行文件处理操作。
语法:
makefile
Copy Code
$(notdir names...)
参数:
names…:一组空格分隔的文件名或路径。
示例:
makefile
Copy Code
SRCS := src/file1.c src/file2.c src/file3.c
OBJS := $(notdir $(SRCS))
在这个例子中,$(notdir $(SRCS)) 将会从 SRCS 变量中的每个文件路径中提取文件名部分,并将处理后的结果赋值给 OBJS 变量。最终得到的 OBJS 变量的值为 “file1.c file2.c file3.c”。
另一个示例:
makefile
Copy Code
VPATH := src include
FILES := $(notdir $(wildcard $(addprefix $(VPATH)/,*.c)))
在这个示例中,$(notdir $(wildcard $(addprefix $(VPATH)/,*.c))) 将会从 VPATH 目录下的所有 .c 文件的路径中提取文件名部分,从而得到所有的 .c 文件名。
总之,$(notdir names…) 函数在 Makefile 中非常有用,可以帮助我们从路径中提取文件名部分,实现灵活的文件处理和路径操作。














![【Qt秘籍】[004]-Qt中的重要工具-介绍](https://img-blog.csdnimg.cn/direct/6d5e540f12dd4abc8f6a9bd447181345.png)


![[AIGC] Nginx常用变量详解](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fimages.dzone.com%2Fstorage%2Ftemp%2F12434125-nginx-logo.png&pos_id=img-92lk77Tr-1716909480363)


