首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在make模式规则中的依赖项中使用依赖于模式的变量

在Makefile中,可以使用模式规则来定义一组依赖项,并使用依赖于模式的变量来指定依赖项。以下是一个示例:

代码语言:txt
复制
# 定义一个模式规则
%.o: %.c
	$(CC) -c $(CFLAGS) $< -o $@

# 定义一个依赖于模式的变量
OBJS = $(patsubst %.c, %.o, $(wildcard *.c))

# 使用依赖于模式的变量作为依赖项
my_program: $(OBJS)
	$(CC) $(LDFLAGS) $^ -o $@

在这个示例中,我们定义了一个模式规则,用于将所有的.c文件编译成.o文件。然后,我们使用patsubst函数和wildcard函数来生成一个依赖于模式的变量OBJS,该变量包含了所有的.o文件。最后,我们将$(OBJS)作为my_program的依赖项,这样当任何一个.c文件发生变化时,Makefile就会自动重新编译它,并链接生成my_program可执行文件。

需要注意的是,在使用依赖于模式的变量时,需要使用$^符号来引用所有的依赖项,而不是$@符号,因为$@符号只表示当前规则的目标文件,而不是所有的依赖项。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券