Makefile规范
目标文件1:依赖文件1
(Tab键):依赖文件1是如何生成目标文件1
目标文件2:依赖文件2
(Tab键):依赖文件2如何生成目标文件2
注意:
- 两个目标文件之间没有任何关系,默认只执行目标文件1
- 一个Makefile中可以有多个目标文件
- 调用make时,需要告诉它目标是什么,如果没有指定目标,make以Makefile中定义的第一个目标作为执行目标
注意:make在构建yyds之前先构建test
解决假目标的办法
解决上述问题(假目标)的办法:
在clean前面加上.PHONY
注意:PHONY必须是大写
预定义变量
CC:c编译器的名称,默认为cc
CFLGAS:c编译器的选项,无默认值
RM:文件删除程序的名称,默认为rm -rf
自定义变量
OBJ:用于存放可执行文件的名字
OBJS:用于存放所有的目标文件
自动变量
$@:表示目标文件
$^:表示所有的依赖文件
$<:表示第一个依赖文件
变量定义的两种方式
递归展开方式 VAR=var
注意:后面的值会影响前面的结果
简单方式 VAR:=var