对 makefile 中 .c.o 的理解

看例子:

LIBS=gao.o
all: $(LIBS)
  @echo "final"

.c.o:
  gcc -o $@ $<
  echo "in .c.o rule"

执行 结果:

gcc -o gao.o gao.c

in .c.o rule

final

注意其中的 .c.o ,其实是 和 %o:%c 等价。是一个旧格式。

所以 $@ 对应了 gao.o ,$< 对应了 gao.c ,不要弄反了。

原文地址:https://www.cnblogs.com/gaojian/p/2695503.html