写Makefile 时候,可以使用一些自动化变量代表目标或依赖文件;
1, $@
表示规则中的目标文件集;匹配目标文件集合;
2,$%
当目标是函数库文件时,表示规则中的目标成员名,例如,如果一个目标是“foo.a(bar.o)”, 那么"$%"就是"bar.o","$@"就是"foo.a";
如果目标不是函数库文件(Unix 下是[.a],Windows下是[.lib]),那么,其值为空。
3,$<
依赖目标中的第一个目标名字。如果依赖目标是以模式(即"%")定义的,那么"$<"将是符合模式的一系列的文件集。注意,其是一个一个取出来的。
4, $?
所有比目标新的依赖目标的集合。以空格分隔。