makefile入门
基本规则
makefile由一组规则组成,每条规则的格式是:
target ... : prerequisites ...
command1
command2
...
目标:条件
命令
目标和条件之间的关系:要更新目标必须先更新它的所有条件。有一个条件更新则目标也要被更新。
命令列表必须以tab开头。
常用的目标名:
all:执行主要的编译工作,通常作为缺省目标;
install:执行编译后的安装工作;
clean: 删除;
隐含规则
如果一个目标分开写多条规则,则只有其中一条规则允许有命令列表,否则以最后一条规则的命令列表执行。
隐含规则可以用make -p命令查看,例如省略了命令列表的规则即利用了隐含规则。
特殊变量
$@:表示规则中的目标;
$<:表示规则中的第一个条件;
$?:表示规则中所有比目标新的条件;
$^:表示规则中的所有条件;