在一个目录中有多个.c函数文件如何编写makefile文件
时间: 2024-09-26 18:17:33 浏览: 54
在一个目录中如果有多个`.c`函数文件,你可以使用Makefile来组织和编译这些源文件。Makefile是一个文本文件,它包含了构建规则,通常用于自动化软件项目的构建过程。下面是创建Makefile的基本步骤:
1. **初始化Makefile**:
创建一个新的Makefile,并设置基础变量,如源文件所在的目录(`SRC_DIR`) 和目标二进制文件(`BIN`) 的位置。
```makefile
CC = gcc # 使用gcc作为默认的编译器
CFLAGS = -Wall -g # 编译选项
SRCDIR = src # 源代码目录
BINARY = myprog # 输出程序名称
# 添加.PHONY: 这行可以让某些命令不依赖于其他文件自动运行,例如clean
.PHONY: all clean
# 设置基本规则
all: $(BINARY)
$(BINARY): $(SRCDIR)/%.c
```
2. **指定编译规则**:
对每个`.c`文件,设置一个规则去编译它们到对应的.o文件。
```makefile
$(SRCDIR)/%.o: $(SRCDIR)/%.c
$(CC) $(CFLAGS) -c $< -o $@
```
3. **链接目标**:
当所有的.o文件都编译完成后,将它们链接成一个完整的二进制文件。
```makefile
$(BINARY): $(wildcard $(SRCDIR)/*.o)
$(CC) $(CFLAGS) $(SRCDIR)/*.o -o $@
# 清理规则
clean:
rm -f $(SRCDIR)/*.o $(BINARY)
```
4. **保存并运行**:
将上述内容保存为Makefile,然后在终端中切换到包含Makefile的目录,输入 `make` 命令即可编译整个项目。
阅读全文