当前位置:首页makefile|cmake > 正文

makefile自动推导和makefile伪目标

作者:野牛程序员:2024-01-03 15:50:07makefile|cmake阅读 2541

自动推导是Makefile的一项重要功能,它允许Make根据文件的依赖关系自动推导出如何生成目标文件的规则。这样,只需定义源文件和目标文件的依赖关系,Make就能够自动生成构建规则。

以下是一个简单的Makefile示例,其中包含了自动推导规则:

# 定义源文件和目标文件
SRCS = main.c utils.c
OBJS = $(SRCS:.c=.o)

# 声明伪目标(Phony Target),用于防止与实际文件名冲突
.PHONY: all clean

# 默认目标
all: my_program

# 生成可执行文件的规则
my_program: $(OBJS)
    gcc -o $@ $^

# 自动生成.o文件的规则
%.o: %.c
    gcc -c -o $@ $<

# 伪目标,用于清理生成的文件
clean:
    rm -f $(OBJS) my_program

在上面的示例中,$(SRCS:.c=.o)将源文件列表中的所有.c文件替换为对应的.o文件,从而得到目标文件列表。通过这种方式,Makefile能够自动推导出如何从源文件生成目标文件的规则。

伪目标(Phony Target)allclean是指并不存在实际文件与其对应,它们只是用于声明一些操作的名称。在Makefile中,它们通常用于指定默认构建目标和清理操作。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击