makefile编译多个c文件
时间: 2023-08-25 16:06:06 浏览: 57
在 Makefile 中,你可以通过编写规则来编译多个 C 文件。下面是一个示例 Makefile,其中包含了三个规则,分别用于编译 `main.c`、`foo.c` 和 `bar.c`:
```
CC=gcc
CFLAGS=-Wall
myprogram: main.o foo.o bar.o
$(CC) $(CFLAGS) -o myprogram main.o foo.o bar.o
main.o: main.c
$(CC) $(CFLAGS) -c main.c
foo.o: foo.c
$(CC) $(CFLAGS) -c foo.c
bar.o: bar.c
$(CC) $(CFLAGS) -c bar.c
```
在该 Makefile 中,`myprogram` 规则定义了如何将 `main.o`、`foo.o` 和 `bar.o` 这三个目标文件链接成可执行文件 `myprogram`。`main.o`、`foo.o` 和 `bar.o` 规则则分别定义了如何编译这三个 C 文件,生成对应的目标文件。
在执行 `make` 命令时,会自动根据依赖关系,先编译 `main.o`、`foo.o` 和 `bar.o` 这三个目标文件,然后再执行 `myprogram` 规则,将它们链接成可执行文件 `myprogram`。
你可以将上面的示例 Makefile 中的 `main.c`、`foo.c` 和 `bar.c` 替换成你自己的源代码文件名,然后保存为 `Makefile` 文件,然后在命令行中执行 `make` 命令即可编译生成可执行文件。