Makefile中以。开头的目标的含义是什么,它与后缀规则有何不同/相似?

没收

在Makefile中,我看到了以下内容:

all: .made

# ... some other code

.made: $(Program) bashbug
    @echo "$(Program) last made for a $(Machine) running $(OS)" >.made

.made规则是否https://www.gnu.org/software/make/manual/make.html#Suffix-Rules的后缀规则

另外,目标的所有规则都具有.后缀规则吗?

否则,以。开头的目标的意义是什么?似乎在https://www.gnu.org/software/make/manual/make.html#How-Make-Works中具有上述意义

默认情况下,make从第一个目标开始(不是名称以“。”开头的目标)。

但是没有提到它的意义。

另外,如果这是一个后缀规则,那么怎么.made可以用作all规则的前提条件?(没有提到后缀规则的目标可以用作其他规则的先决条件。)

PS:这个问题与的含义有关,但含义不同(点)在makefile中的目标之前该问题明确要求与的目标之间的区别。和后缀规则的目标。

甲丙肽

.made规则是后缀规则

不,因为.made不是“已知后缀”。

另外,目标的所有规则都具有.后缀规则吗?

不,仅那些点后单词为“已知后缀”的单词:

您的前两个问题可以通过https://www.gnu.org/software/make/manual/make.html#Suffix-Rules回答

通过将每个规则的目标与已定义的已知后缀列表进行比较,可以识别后缀规则定义。make看到目标是已知后缀的规则时,该规则被视为单后缀规则。make看到目标是两个已知后缀串联的规则时,该规则将被视为双后缀规则。

在您的示例中.made是一个实际的文件名。Makefile具有为其创建/更新文件的规则:

#vvvv
.made: $(Program) bashbug
        @echo "$(Program) last made for a $(Machine) running $(OS)" >.made
#                                                                    ^^^^^

一切都很正常;它与任何其他名称的工作方式相同。

前导点的唯一含义是按照约定使文件“隐藏”,即ls不显示(不指定-a),普通显示*不匹配等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

什么是pycryptodomex,它与pycryptodome有何不同?

什么是路径//,它与/有何不同

生命周期结束规则有何不同?

什么是OS内核?它与操作系统有何不同?

什么是格洛姆?它与mapPartitions有何不同?

什么是超级驱动器,它与dat有何不同?

Objective-C中的__typeof(&* self)是什么意思?它与__typeof(self)有何不同?

Jupyter Notebook中的内核是什么,与实际内核(与操作系统有关)有何不同/相似?

“类MyDict(dict):pass”的目的是什么,它与常规词典有何不同?

安全规则中“或”的含义是什么?

int(* ptr)[4]的真正含义是什么,它与* ptr有何不同?

有多个目标时,如何在Makefile规则中的字符串中添加后缀?

Vue的仅运行时构建到底是什么?它与编译器构建有何不同?

什么是DRPM,它与RPM有何不同?

QML中的objectName:属性是什么,为什么需要它,它与id:属性有何不同?

Node.js中的Streams3是什么,它与Streams2有何不同?

什么是Chrome Canary,它与Google Chrome有何不同?

什么是VLAN感知交换,它与标记有何不同?

Linux / Unix中单用户模式的含义是什么,它与Windows中的安全模式有何不同?

什么是网络脚本?它与RESTFul Web服务有何不同?

Linux中的Qtree是什么?它与普通磁盘空间有何不同?

bash命令中的点的含义是什么?它与星号有何不同?

什么是Android Kernal,它与Android版本有何不同?

在Windows中,什么是“目标文件”,它与“图像文件”有什么不同?

Makefile 没有针对目标的规则

GNOME Shell 到底是什么,它与桌面环境有何不同?

Android Studio 自动完成功能中后缀图标的含义是什么?

什么是html中的<li>。它与 <div> 有何不同

什么是数据结构中的堆栈,它与队列有何不同?