1、Makefile
Makefile是一种文本文件,通常用于定义项目的编译规则和依赖关系。它通常与GNU Make工具一起使用,用于自动化软件项目的构建过程。Makefile中包含了一系列规则,每个规则定义了如何生成一个或多个目标文件以及生成这些目标文件所需的依赖关系和命令。通过使用Make工具,用户可以根据Makefile中定义的规则来自动执行编译、链接和其他构建任务,而不需要手动输入每个命令。Makefile的核心是规则的定义,其中包括目标、依赖关系和命令。通常情况下,Makefile中的规则遵循以下格式:
target: dependencies
command
target:是一个或多个要生成的目标文件。
dependencies:是生成目标文件所依赖的文件或目标。
command:是生成目标文件所需的命令。
Makefile还能智能的识别哪些文件需要被编译更新,哪些不用。使用make编译Makefile文件,make 命令会在当前目录下查找是否存在“Makefile”这个文件,如果存在的 话就会按照 Makefile 里面定义的编译方式进行编译,make 命令会为 Makefile 中的每个以TAB 开始的命令创建一个 Shell 进程去执行。
2、基础语法举例
1 main: main.o input.o calcu.o
2 gcc -o main main.o input.o calcu.o
3 main.o: main.c
4 gcc -c main.c
5 input.o: input.c
6 gcc -c input.c
7 calcu.o: calcu.c
8 gcc -c calcu.c
9
10 clean:
11 rm *.o
12 rm main
上述解析,根据序号:
1 main是目标,冒号后面这些是依赖项,生成main需要依赖这些.o文件,同时,如果要更新目标 main,就必须先