linux环境 编译程序makefile
时间: 2023-09-23 15:02:30 浏览: 100
Makefile 是一个文本文件,其中包含一系列规则来指导编译器如何编译和链接源代码文件。在 Linux 系统中,使用 make 命令来执行 Makefile 文件中的规则。
以下是一个简单的 Makefile 文件示例:
```
CC=gcc
CFLAGS=-Wall
all: myprogram
myprogram: main.o utility.o
$(CC) $(CFLAGS) -o myprogram main.o utility.o
main.o: main.c
$(CC) $(CFLAGS) -c main.c
utility.o: utility.c
$(CC) $(CFLAGS) -c utility.c
clean:
rm -f *.o myprogram
```
上面的 Makefile 定义了以下几个规则:
- `CC` 和 `CFLAGS` 是变量,用于指定编译器和编译选项;
- `all` 规则指定了要生成的目标文件,即 `myprogram`;
- `myprogram` 规则指定了如何生成目标文件。它依赖于 `main.o` 和 `utility.o` 两个中间文件,使用编译器将它们链接起来生成 `myprogram`;
- `main.o` 和 `utility.o` 规则分别指定了如何生成这两个中间文件;
- `clean` 规则用于清理生成的中间文件和目标文件。
要使用 Makefile 进行编译,只需要在终端中进入包含 Makefile 的目录,并执行 `make` 命令即可。
例如,假设上面的 Makefile 文件名为 `Makefile`,保存在 `/home/user/myproject/` 目录中,那么在终端中执行以下命令即可编译:
```
cd /home/user/myproject/
make
```
如果要清理生成的文件,可以执行以下命令:
```
make clean
```
阅读全文