OBJS = $(patsubst %.c,%.o, $(CFILES))
时间: 2023-11-25 08:06:04 浏览: 32
这行代码是一个 Makefile 规则中的变量定义,它使用了 Makefile 内置的函数 `patsubst`。这个函数的作用是将变量 `CFILES` 中所有以 `.c` 结尾的字符串替换成对应的以 `.o` 结尾的字符串,并将结果赋值给变量 `OBJS`。其中 `$()` 表示引用变量,`%` 表示通配符匹配任意字符,因此 `%.c` 匹配所有以 `.c` 结尾的字符串,`%.o` 匹配所有以 `.o` 结尾的字符串。最终的结果是 `OBJS` 变量包含了所有与 `CFILES` 变量中的 C 源文件对应的目标文件名。
相关问题
SRCS := $(wildcard *.c) OBJS := $(patsubst %.c, %.o, $(SRCS))
这是一个 Makefile 文件的两行代码,其中:
- `SRCS := $(wildcard *.c)` 表示将当前目录中所有的 .c 文件名列表赋值给 SRCS 变量。
- `OBJS := $(patsubst %.c, %.o, $(SRCS))` 表示将 SRCS 变量中的 .c 文件名列表分别替换成 .o 文件名列表,并赋值给 OBJS 变量。其中,`$(patsubst %.c, %.o, $(SRCS))` 表示将 SRCS 变量中的每个 .c 文件名都替换成对应的 .o 文件名。`$(patsubst pattern,replacement,text)` 是 Makefile 中的一个函数,表示将 text 中的所有 pattern 替换成 replacement。
CUR_OBJS=${patsubst %.c, %.o, $(CUR_SOURCE)}
这是一个 Makefile 中的语句,用于将当前目录下的所有 .c 文件转换为对应的 .o 文件。具体来说,这个语句中使用了 Makefile 中的一个函数 patsubst,该函数可以将字符串中匹配指定模式的部分替换为另一个字符串。在这个语句中,使用了 %.c 和 %.o 两个通配符来指定 .c 文件和 .o 文件的匹配规则,并使用 $(CUR_SOURCE) 变量来表示当前目录下的所有 .c 文件。通过这个语句,可以将 $(CUR_SOURCE) 变量中的所有 .c 文件转换为对应的 .o 文件,并将其保存在 CUR_OBJS 变量中。这个变量的值是一个以空格分隔的文件列表,可以用于编译和链接操作。这个语句的作用是将当前目录下的所有 .c 文件转换为对应的 .o 文件,以便进行编译和链接操作。