Stc8h系列单片机技术手册:源自其他版本的独特特性和GNU make发展史

需积分: 34 34 下载量 26 浏览量 更新于2024-08-10 收藏 1.45MB PDF 举报
本文档主要介绍了Stc8H系列单片机技术参考手册中的部分内容,重点回顾了源自其他版本的make工具的特性。这些特性包括: 1. **模式规则与“%”字符**:尽管“%”作为模式字符在多个不同版本的make中被广泛使用,但确切的起源并不明确,建议参考10.5模式规则章节以了解其历史。 2. **规则链与隐含中间过程文件**:规则链的概念最早由Stu Feldman的make版本引入,并在AT&T第八版Unix研究中应用,后续被Andrew Hume的mk程序采用,但其发展脉络并未明确提及GNU make是否独立实现。 3. **自动化变量`$^`**:这个变量用来表示所有依赖文件的列表,虽然不是GNU make独创,但其起源未明,参考10.5.3自动化变量一节。 4. **“what if”选项**:GNU make的 `-W` 或者“what if”选项据说是由Andrew Hume在mk中首次提出的,查阅9.7 make的命令行选项获取更多细节。 5. **并发执行**:虽然很多版本的make支持并发执行,但System V和BSD版本尚未实现,可参考5.3并发执行命令一节。 6. **变量模式替换与“patsubst”函数**:SunOS 4版本的make引入了变量模式替换的功能,GNU make在此前提供了类似功能,两者之间的关系在文档中没有明确指出。 7. **命令行的“+”字符**:表示特殊含义的“+”字符遵循IEEE Standard 1003.2-1992 (POSIX.2)标准,见9.3替代命令执行一节。 8. **变量追加语法“+=”**:这一语法源于SunOS 4 make,用于向变量值追加内容,参阅6.6追加变量值一节。 9. **静态库成员列表语法**:“ARCHIVE(MEM1 MEM2...)”形式的语法源自SunOS 4的make,用于指定静态库成员,见11.1库成员作为目标一节。 10. **“-include”选项**:这个特性允许包含多个makefile,即使目标文件不存在也不报错,最初在SunOS 4 make中出现。 11. **其他特性如伪目标、强制目标、空目标文件、特殊目标和多目标规则**:文档列举了这些makefile规则的细节,但没有明确指出它们的具体起源。 这些特性展示了GNU make在发展中融合和吸收了众多其他版本make工具的优点,同时也展现了其在处理复杂构建任务中的灵活性和实用性。对于深入理解Stc8H系列单片机的开发环境或者熟悉GNU make的高级特性和历史演变,这部分内容具有重要参考价值。