makefile文件编写
时间: 2023-08-05 16:14:24 浏览: 35
Makefile 是一种用于自动化程序构建的文件。在编译大型项目时,使用 Makefile 可以更方便地管理和构建代码。Makefile 文件通常包含以下内容:
1. 宏定义:定义了一些变量,例如编译器的名称和选项等。
2. 依赖关系:指定了每个目标文件所依赖的源文件和其他目标文件。
3. 编译命令:指定了如何编译每个目标文件的命令。
下面是一个简单的 Makefile 示例:
```makefile
CC = gcc
CFLAGS = -Wall -O2
LIBS = -lm
all: hello
hello: main.o message.o
$(CC) $(CFLAGS) main.o message.o -o hello $(LIBS)
main.o: main.c message.h
$(CC) $(CFLAGS) -c main.c
message.o: message.c message.h
$(CC) $(CFLAGS) -c message.c
clean:
rm -f *.o hello
```
这个 Makefile 定义了三个宏:CC、CFLAGS 和 LIBS,分别表示编译器的名称、编译选项和需要链接的库。接着,定义了一个 all 目标,它依赖于另一个目标 hello,也就是最终的可执行文件。hello 目标依赖于两个目标文件 main.o 和 message.o,它们分别对应着 main.c 和 message.c。然后,分别定义了编译每个目标文件的规则和命令。最后,定义了一个 clean 目标,用于清除生成的目标文件和可执行文件。
要使用 Makefile,只需要在终端中输入 make 命令即可。Make 工具会自动根据 Makefile 中的规则和依赖关系来构建代码。例如,如果修改了某个源文件,只需要重新运行 make 命令,Make 工具就会自动重新编译该文件并重新链接程序。