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 ,不要弄反了。
本文详细解析了Makefile中的.gao.o规则,展示了如何将.c文件编译为.o目标文件。通过gcc命令,$@代表目标文件gao.o,而$<代表源文件gao.c。整个过程包括编译和打印消息,最终输出'final',揭示了Makefile中旧格式规则的工作原理。
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 ,不要弄反了。
1164
1087