Makefile规则没有依赖表达式

Mik*_*ley 5 makefile

我在维基百科上阅读了关于"Make"的德文文章,发现了以下两行:

.c.o:
     $(CC) $(CFLAGS) -c -o $@ $<
Run Code Online (Sandbox Code Playgroud)

为什么依赖表达式被省略,为什么目标使用双重文件扩展名?

Obl*_*mov 5

这就是所谓的"后缀规则",用于制作具有第一个后缀的源的第二个后缀的目标,只要知道后缀.有关更详细的说明,请参阅手册中的后缀规则make


Mic*_*yan 5

这实际上是定义了一个后缀规则 ......它定义了如何从以".c"结尾的相应文件构建以".o"结尾的文件,该文件告诉make推断出" filename .c",如果存在的话,是对任何此类文件名的" filename .o" 的依赖项,并且" filename .o"文件可以使用提供的规则从其*.c依赖项构建.

但是,我应该指出,这一行是完全没必要的,实际上并不是应该放在Makefile中的东西,因为Make已经能够推断出那种类型的依赖.您可能对我的Makefile教程感兴趣,因为它非常详细地介绍了Make能够推断的所有内容.