$@ : 扩展为当前规则的目的文件名
$<:扩展为当前规则的依赖列表的第一个文件
$^:扩展为当前规则的整个依赖列表
举例:
======Makefile start======
OBJS : foo.o bar.o
CC=gcc
CFLAGS = -Wall -o -g
myprog : foo.o bar.o
$(CC) $^ -o $@
foo.o : foo.c foo.h bar.h
$(CC) $(CFLAGS) -c $< -o $@
bar.o : bar.c bar.h
$(CC) $(CFLAGS) -c $< -o $@
======Makefile end======