CUR_SOURCE=${wildcard *.c} CUR_OBJS=${patsubst %.c, %.o, $(CUR_SOURCE)} all:$(SUBDIRS) $(CUR_OBJS)
时间: 2024-04-07 07:32:44 浏览: 15
这段代码是一个 Makefile 中的规则,用于将当前目录下的所有 .c 文件编译成对应的 .o 文件,并且在所有子目录都编译完成后进行链接。其中,使用了 Makefile 中的两个函数:
- wildcard:用于获取当前目录下所有 .c 文件的文件名,返回值为一个以空格分隔的文件名列表。
- patsubst:用于将文件名列表中的 .c 后缀替换成 .o 后缀,返回值为替换后的文件名列表。
最终编译生成的目标文件为 $(CUR_OBJS),它包含了所有 .c 文件对应的 .o 文件。
相关问题
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 文件,以便进行编译和链接操作。
CUR_SOURCE=${wildcard *.c}
这是一个关于 Makefile 的问题,CUR_SOURCE=${wildcard *.c} 是一个 Makefile 中的变量定义,表示将当前目录下所有的 .c 文件赋值给变量 CUR_SOURCE。