CC=gcc CFLAGS=-Wall all:server client clean: rm server client。 这个代码里没有命令为什么能自动编译,makefile有什么隐藏规则
时间: 2024-05-31 07:10:29 浏览: 71
CentOS 7编译CC.docx
这个 Makefile 文件使用了 Make 工具的默认规则和隐含规则。
默认规则是指,如果 Makefile 没有指定一个特定的目标,那么 Make 会尝试使用一些默认规则来生成一个名为 "makefile" 或 "Makefile" 的文件。在 Makefile 中,我们可以使用默认规则来编译和链接程序,而无需显式地指定编译和链接规则。
隐含规则是指,Make 工具提供了一些预定义的规则来处理特定类型的文件。例如,如果 Makefile 中包含了编译 C 语言源文件的规则,那么 Make 将会自动为所有 .c 文件生成一个默认的目标。
在这个 Makefile 中,没有指定任何目标,因此 Make 工具会使用默认规则和隐含规则来自动编译 server 和 client 程序。默认规则会自动执行编译和链接操作,而隐含规则会自动为 .c 文件生成 .o 文件。因此,Make 可以根据这些规则自动生成编译命令,而不需要在 Makefile 中显式地指定每个步骤。
阅读全文