在 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 中非常有用,可以帮助我们从路径中提取文件名部分,实现灵活的文件处理和路径操作。