如何从零写一个makefile
时间: 2023-08-10 17:05:30 浏览: 137
如何写makefile
5星 · 资源好评率100%
写一个Makefile主要分为以下几个步骤:
1. 定义变量
变量可以用来存储文件名、编译器选项等。例如:
```makefile
CC = gcc
CFLAGS = -Wall -O2
```
2. 定义目标及其依赖
目标可以是可执行文件、静态库或动态库等。依赖可以是源文件、头文件或其它目标。例如:
```makefile
target: dependency1.o dependency2.o
$(CC) $(CFLAGS) -o target dependency1.o dependency2.o
```
3. 定义规则
规则描述了如何从依赖生成目标。例如:
```makefile
dependency1.o: dependency1.c dependency1.h
$(CC) $(CFLAGS) -c dependency1.c
```
4. 定义伪目标
伪目标是不生成任何文件的目标,常用于执行一些特殊操作。例如:
```makefile
.PHONY: clean
clean:
rm -f target dependency1.o dependency2.o
```
完整的Makefile示例:
```makefile
CC = gcc
CFLAGS = -Wall -O2
target: dependency1.o dependency2.o
$(CC) $(CFLAGS) -o target dependency1.o dependency2.o
dependency1.o: dependency1.c dependency1.h
$(CC) $(CFLAGS) -c dependency1.c
dependency2.o: dependency2.c dependency2.h
$(CC) $(CFLAGS) -c dependency2.c)
.PHONY: clean
clean:
rm -f target dependency1.o dependency2.o
```
注意,在Makefile中必须使用Tab键来缩进规则的命令行。
阅读全文