这是一个用于将 .c 文件(即 C 模块)转换为 .o 目标文件的预设规则。这个规则存在的目的是让你不必亲自编写它,并且可以通过 Make 变量(如 CC,指定 C 编译器;CFLAGS,编译器标志等)进行参数化。 因此,如果你使用这个隐式规则来编译 C 模块,并且不修改任何 Make 变量,那么构建你的代码的人就可以在命令行上指定编译器和标志,而无需编辑 Makefile。
- Fred Foo
2
2但你也可以使用模式规则来实现这一点:例如 make "CC = gcc"。 - chacham15
make "CC = gcc"
。 - chacham15.c.o
是较早的做法。 - Fred Foo