Makefile中的一些特殊宏定义的名字跟shell中的位置变量挺相似的。
$? 当前目标所依赖的文件列表中比当前目标文件还要新的文件
$@ 当前目标我名字
$< 当前依赖文件的名字
$* 不包括后缀名的当前依赖文件的名字
$^ 规则的所有依赖文件列表,使用空格分隔。如果目标是静态库文件名,它所代表的只能是所有库成员(.o文件)名。一个文件可重复的出现在目标的依赖中,变量“$^”只记录它的一次引用情况。就是说变量“$^”会去掉重复的依赖文件。
make -C /the/directory/of/makefile 在执行指定目录中的Makefile