一. make 工具
当源文件比较多的时候,就不适合通过直接输入 gcc 命令来编译,这时候就需要一个自动化的编译工具。
make工具: 一般说 GNU Make,是一个软件,属于将源代码文件编译为可执行的二进制文件,make 工具主要用于完成自动化编译。make 工具编译的啥时候,需要Makefile文件。
通常make会在当前目录按顺序查找:如果没找到,make停止执行。
二. Makefile 文件
Makefile: Makefile 文件是 make 工具所使用的文件,Makefile 指明了编译规则。
利用make工具可以自动完成编译工作,这些工作包括:
- 如果修改了某几个源文件,则只重新编译这几个源文件。
- 如果某个头文件被修改了,则重新编译所有包含该头文件的源文件。
利用这种自动编译可以大大简化开发工作,避免不必要的重新编译。make工具通过一个称为Makefile 的文件来完成并自动维护编译工作,Makefile文件描述了整个工程的编译、连接规则。
三. Makefile 文件基本语法
Makefile文件是由一系列规则组写的,这些规则格式如下:
目标...:依赖文件集合......
命令1
命令2
......
例如如下写法:
main: main.o swap.o
gcc -o main main.o swap.o
main.o: main.c
gcc -c main.c
swap.o: swap.c
gcc -c swap.c
clean:
rm *.o
rm main
注意:命令列表中的每条命令必须以 TAB 键开始,不能使用空格!
make 命令会为 Makefile 中的每个以 TAB 开始的命令创建一个 Shell 进程去执行。
Linux终端输入如下命令即可进行编译:make
Linux终端输入如下命令即可进行清理工作:make clean
后续文章具体介绍 Makefile 文件的基本语法。