对 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 ,不要弄反了。


版权声明:本文为sunxiaopengsun原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。