编写 Makefile 文件
时间: 2024-05-05 07:21:35 浏览: 66
Makefile 是一个用于自动化构建的文件,可以用来编译、链接和打包代码。下面是一个简单的 Makefile 文件示例:
```makefile
CC=gcc
CFLAGS=-Wall -g
all: program
program: main.o file1.o file2.o
$(CC) $(CFLAGS) -o program main.o file1.o file2.o
main.o: main.c header1.h header2.h
$(CC) $(CFLAGS) -c main.c
file1.o: file1.c header1.h
$(CC) $(CFLAGS) -c file1.c
file2.o: file2.c header2.h
$(CC) $(CFLAGS) -c file2.c
clean:
rm -f *.o program
```
上述 Makefile 文件中,首先定义了编译器 CC 和编译选项 CFLAGS,然后定义了一个 all 目标,它会构建 program 目标。program 目标依赖于 main.o、file1.o 和 file2.o 三个目标,分别对应 main.c、file1.c 和 file2.c 三个源文件。make 会自动执行这些依赖关系,编译这些目标,并将它们链接成一个名为 program 的可执行文件。
除此之外,还定义了三个分别对应 main.c、file1.c 和 file2.c 的目标,每个目标都依赖于对应的头文件。这些目标会将对应的源文件编译成目标文件。
最后,定义了一个 clean 目标,它用于清除所有生成的目标文件和可执行文件。
使用 make 命令时,会自动读取当前目录下的 Makefile 文件,并执行其中定义的目标和规则。例如,执行 make all 命令将会构建 program 可执行文件。执行 make clean 命令将会清除所有生成的目标文件和可执行文件。
阅读全文