Makefile
Makefile是用来编写编译规则的文件,Makefile可以根据文件的时间戳决定文件是否参与本次编译。
在大型项目中会使用Makefile做工程管理,决定本次那个文件参与编译,可以提升编译的效率。
make
make命令是GNU Make的命令,它可以用来编译、链接、生成可执行文件等。
Makefile的规则
Makefile的规则是由一系列的规则组成的,每条规则都包含三个部分:目标、依赖、命令。
- 目标:要生成的文件或可执行文件。
- 依赖:目标所依赖的文件或其他目标。
- 命令:用来生成目标的命令。
Makefile的语法
- 注释:以#开头的行表示注释。
- 目标:以一个或多个空格或制表符开头,后面跟着一个或多个空格或制表符的字符串表示目标。
- 依赖:以一个或多个空格或制表符开头,后面跟着一个或多个空格或制表符的字符串表示依赖。
- 命令:以一个或多个空格或制表符开头,后面跟着一个或多个空格或制表符的字符串表示命令。
- 变量:以变量名和等号开头,后面跟着一个或多个空格或制表符的字符串表示变量。
- 条件语句:以ifeq、ifneq、ifdef、ifndef、else、endif开头,后面跟着一个或多个空格或制表符的字符串表示条件语句。
- 伪目标:以.PHONY开头,后面跟着一个或多个空格或制表符的字符串表示伪目标。