linux编写makefile运行项目
时间: 2024-05-02 13:16:33 浏览: 104
Makefile 是一个自动化编译工具,可以让我们更方便地编译和构建项目。下面是一个示例 Makefile,用于编译一个简单的 C 程序:
```makefile
CC = gcc
CFLAGS = -Wall -g
all: hello
hello: hello.o
$(CC) $(CFLAGS) -o hello hello.o
hello.o: hello.c
$(CC) $(CFLAGS) -c hello.c
clean:
rm -f hello *.o
```
在这个 Makefile 中,我们定义了三个目标:all、hello 和 clean。
all 目标是默认目标,当我们运行 make 命令时,它会自动执行 all 目标。all 目标依赖于 hello 目标,所以当我们运行 all 目标时,它会先编译 hello 目标。
hello 目标依赖于 hello.o 目标,当我们运行 hello 目标时,它会链接 hello.o 文件,并生成可执行文件 hello。
hello.o 目标依赖于 hello.c 文件,当我们运行 hello.o 目标时,它会编译 hello.c 文件,并生成目标文件 hello.o。
clean 目标用于清除生成的文件,当我们运行 clean 目标时,它会删除可执行文件 hello 和目标文件 hello.o。
要运行这个 Makefile,只需在终端中进入包含 Makefile 的目录,并运行以下命令:
```
make
```
这个命令会自动执行 all 目标,并编译并链接 hello 程序。如果你只想编译 hello 目标,只需运行以下命令:
```
make hello
```
这个命令会编译并链接 hello 程序。如果你想清除生成的文件,只需运行以下命令:
```
make clean
```
这个命令会删除生成的可执行文件和目标文件。
阅读全文