And*_*ite 21
$<计算make规则中的第一个"先决条件",并$@评估make规则中的"target".
这是一个例子:
file.o : file.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
Run Code Online (Sandbox Code Playgroud)
在这种情况下,$<将被替换file.c,并$@会file.o.
这些在通用规则中更有用,如下所示:
%.o : %.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅本手册.
$@是当前规则的目标.
$<是当前规则的第一个先决条件("源")的名称.
例如:
.c.o:
$(CC) -c $(CFLAGS) -o $@ $<
Run Code Online (Sandbox Code Playgroud)
这将扩展为如下命令:
gcc -c -Wall -o foo.o foo.c
Run Code Online (Sandbox Code Playgroud)