如何编写一个基本的Makefile?
时间: 2024-09-27 07:12:15 浏览: 24
通用makefile编写
Makefile是一个Unix/Linux下的自动化构建工具,它通过简单的规则描述了如何从源代码生成目标文件的过程。创建一个基础的Makefile通常包含以下几个部分:
1. **变量设置**:
```makefile
# 设置CC为C++编译器
CC = g++
# 或者C编译器
CFLAGS = -Wall -g
```
2. **规则描述**:
```makefile
# 定义一个基本的目标,比如app,通常是可执行文件
app: main.cpp
$(CC) $(CFLAGS) -o $@ $^
# 当main.cpp文件改变时,自动重新编译app
%.o: %.cpp
$(CC) $(CFLAGS) -c $< -o $@
```
3. **目标依赖**:
如果有多个源文件参与编译,可以在目标前指定它们:
```makefile
lib.o: file1.c file2.c
```
4. **清理规则**:
清除目标时可以清理中间产物:
```makefile
clean:
rm -f *.o app
```
5. **默认目标**:
```makefile
all: app
.PHONY: all clean
```
当你在终端运行`make`命令时,如果还没有编译过的文件,Makefile会按照规则逐步生成最终目标。
阅读全文