Linux下的Makefile是一个用于自动化编译和链接C/C++等程序的工具
规则(Rule):Makefile中的规则定义了如何生成一个或多个目标文件。每个规则包含三个部分:目标(Target)、依赖(Dependencies)和命令(Commands)。
格式:
目标: 依赖
命令
变量(Variable):Makefile中可以使用变量来存储一些常用的值,例如编译器、编译选项等。变量的定义和引用如下:
定义变量:
变量名 = 值
引用变量:
$(变量名)
模式规则(Pattern Rule):模式规则是一种简化规则书写的方法,它可以将相同的命令应用于多个目标。模式规则的格式如下:
%目标类型: %依赖类型
命令
自动变量(Automatic Variable):Makefile提供了一些自动变量,它们在规则中可以被自动替换为相应的值。常用的自动变量有:
注释(Comment):Makefile中的注释以井号(#)开头,直到行尾。
包含其他Makefile(Include):可以使用include
指令将其他Makefile文件包含到当前Makefile中。
include 文件名
条件语句(Conditional Statement):Makefile支持条件语句,可以根据不同的条件执行不同的操作。常用的条件语句有:
条件语句的格式如下:
ifeq (条件1, 条件2)
操作1
else
操作2
endif
这些是Makefile的基本语法,更多高级功能可以参考GNU Make的官方文档。