题目一:Makefile 中的PHONY,参考链接:http://www.cnblogs.com/hnrainll/archive/2011/04/12/2013377.html
PHONY 目标并非实际的文件名:只是在显式请求时执行命令的名字;PHONY理解为假目的,不存在的。所以make命令不用理会目录下是否有make arg(前提:.PHONY: arg),名为arg的文件,直接当做命令执行或者当做不存在的文件,后者的话就要继续寻找生成arg文件的依赖关系,重新生成(更新arg)
题目二: make something 链接:http://blog.csdn.net/kesaihao862/article/details/7332528
目标: 依赖 target:components
动作 TAB rule
第一行表示的是依赖关系。第二行是规则
Makefile有三个非常有用的变量。分别是$@,$^,$<代表的意义分别是:
$@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件。
学习一个Makefile的缺省规则
.c.o:
gcc -c $<
这个规则表示所有的 .o文件都是依赖与相应的.c文件的