Makefile 自动生成默认生成文件时出现鸡蛋和鸡肉问题

Makefile 自动生成默认生成文件时出现鸡蛋和鸡肉问题,makefile,gnu-make,Makefile,Gnu Make,无法理解官方GMU Make文档中的下一时刻() 如果未指定要使用'-f'或'-file'读取的任何生成文件 选项,make将尝试默认的makefile名称;看看你叫什么名字 给你的Makefile。与使用“-f”或 “--file”选项,make不确定这些makefile是否应该 存在。但是,如果默认生成文件不存在,但可以 通过运行makerules创建,您可能希望运行这些规则 这样就可以使用makefile了 如果我们不使用-f指定任何makefile,并且默认makefile都不存在,那么

无法理解官方GMU Make文档中的下一时刻()

如果未指定要使用'-f'或'-file'读取的任何生成文件 选项,make将尝试默认的makefile名称;看看你叫什么名字 给你的Makefile。与使用“-f”或 “--file”选项,make不确定这些makefile是否应该 存在。但是,如果默认生成文件不存在,但可以 通过运行makerules创建,您可能希望运行这些规则 这样就可以使用makefile了

如果我们不使用-f指定任何makefile,并且默认makefile都不存在,那么可以从哪个makerule创建默认makefile?
有人能举一个这样的例子吗?

在过去,默认的makefile可以从版本控制系统自动签出的内置规则生成。GNU make有内置的规则来从RCS和SCC进行检查,但是现在没有人再使用这些版本控制系统了

激活此功能的一种方法是创建一个空目录,并设置到RCS或SCCS存储库的符号链接。设置符号链接后,make将使用正确的命令(
co
用于RCS,而
get
用于SCCS)签出文件的最新版本


总之,IMHO,该功能已不再相关。

谢谢,因为我知道make的文档质量不是很好。缺少示例,缺少完整理解的关键点。@DmitryPerfilyev如果发现错误或不准确之处,可以帮助改进文档。这就是自由开源软件的工作原理。免费开放源代码项目的维护者通常非常乐意接受帮助。@RenaudPacalet,不幸的是,这种方式只适用于您的完美世界。实际上(如果您曾经尝试在开源中进行更改),通常没有人关心,或者您必须花费大量精力来应用更改。请参阅@DmitryPerfilyev,因为我有点惊讶我看到了您链接的讨论,老实说,我认为GNU make维护人员花费了大量的时间和精力来解释为什么您要求添加到文档中的示例太模糊,有点偏僻。他们也花了大量的时间和精力试图解释你的问题是从哪里来的。最后,他们同意让你困惑的段落现在已经过时了,可能应该在未来的版本中重新修改或完全删除。