第 7 章:Make 构建系统
学习目标
- 理解构建系统的作用
- 掌握 Makefile 编写
- 学会管理复杂项目
7.1 为什么需要 Make
手动编译很麻烦:
gcc -c main.c
gcc -c utils.c
gcc -o app main.o utils.o
使用 Make 自动化:
make
7.2 基础 Makefile
# 目标: 依赖
# 命令
app: main.o utils.o
gcc -o app main.o utils.o
main.o: main.c
gcc -c main.c
utils.o: utils.c
gcc -c utils.c
clean:
rm -f *.o app
7.3 变量和模式规则
CC = gcc
CFLAGS = -Wall -O2
OBJS = main.o utils.o
TARGET = app
$(TARGET): $(OBJS)
$(CC) -o $(TARGET) $(OBJS)
%.o: %.c
$(CC) $(CFLAGS) -c $<
clean:
rm -f $(OBJS) $(TARGET)
实践练习
创建一个计算器项目,包含加减乘除功能,使用 Makefile 构建。