Makefile中将多个.c文件合成一个可执行文件
时间: 2024-10-19 19:11:26 浏览: 45
Makefile是一个在Unix/Linux或类Unix系统中常用的构建工具,用于自动化管理和组织源代码文件的编译过程。当你有多个.c
(C语言源代码)文件需要组合成一个可执行文件(通常是一个.o
或.exe
文件),你可以创建一个Makefile来描述这个过程,包括编译、链接等步骤。
以下是一个基本的Makefile示例,它包含了两个源文件main.c
和func.c
:
CC = gcc # 使用gcc作为默认的C编译器
OBJECTS = main.o func.o
all: program # 这是目标规则,表示要生成可执行文件
# 定义如何从源文件编译为对象文件
%.o: %.c
$(CC) -c $< -o $@
# 定义如何链接所有对象文件生成可执行文件
program: $(OBJECTS)
$(CC) $(OBJECTS) -o program
# 清理目标,删除编译产生的临时文件
clean:
rm -f *.o program
在这个例子中,all
规则指定了当运行make all
时应该做什么——即编译所有的.c
文件并链接生成program
。每个.o
对象文件的依赖于对应的.c
源文件,如果源文件改变了,Makefile会自动重新编译相应的对象文件。clean
规则则定义了如何清理编译过程中产生的中间文件。
要使用这个Makefile,只需打开终端,进入包含Makefile的目录,然后运行make
命令即可。
相关推荐















