makefile如何书写
时间: 2023-11-06 09:06:03 浏览: 85
Makefile 是一种用于管理代码编译和构建的工具。它可以自动化代码编译和构建过程,减少手动操作的工作量。下面是一个简单的 Makefile 的例子:
```
# Makefile
# 定义编译器和编译选项
CC=gcc
CFLAGS=-Wall -g
# 定义要编译的源文件名和目标文件名
SRCS=main.c foo.c bar.c
OBJS=$(SRCS:.c=.o)
TARGET=myprog
# 定义默认目标,即 make 命令执行时的默认操作
all: $(TARGET)
# 定义如何生成目标文件
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
# 定义如何生成可执行文件
$(TARGET): $(OBJS)
$(CC) $(CFLAGS) $^ -o $@
# 定义清除目标文件和可执行文件的操作
clean:
rm -f $(OBJS) $(TARGET)
```
上面的 Makefile 中包括以下几个部分:
1. 定义编译器和编译选项。
2. 定义要编译的源文件名和目标文件名。
3. 定义生成目标文件的规则,即如何将 .c 文件编译为 .o 文件。
4. 定义生成可执行文件的规则,即如何将 .o 文件链接为可执行文件。
5. 定义默认目标,即 make 命令执行时的默认操作。
6. 定义清除目标文件和可执行文件的操作。
在实际使用中,可以根据项目的需要修改 Makefile 中的变量和规则,以达到自动化编译和构建的目的。执行 make 命令后,Makefile 会根据规则自动编译和构建代码,并生成可执行文件。执行 make clean 命令可以清除生成的目标文件和可执行文件,以便重新编译和构建。
阅读全文