使用通配符与 Pt100 测温电路设计相关的Makefile技巧

需积分: 39 20 下载量 69 浏览量 更新于2024-08-06 收藏 581KB PDF 举报
"这篇文档是关于如何在Makefile中使用通配符的讲解,结合了在规则定义中应用通配符以及在不同操作系统环境下通配符的解析方式。作者通过实例介绍了`*`, `?`和`[...]`三种通配符的用法,并提到了波浪号(“~”)在Unix和Windows/MS-DOS系统中的不同含义。文中还讨论了如何在目标和命令中使用通配符,以及在变量中保存通配符表达式的情况。此外,文档中还提到了自动化变量`$?`的使用,它代表依赖目标中被更新的文件。" 在Makefile中,通配符是一个强大的工具,允许你简洁地定义一系列相似的文件。有三个主要的通配符:“*”匹配任意数量的字符,除了目录分隔符;“?”匹配单个任意字符;而“[...]"用于匹配括号内列出的任意一个字符。例如,“*.c”会匹配所有以.c结尾的文件名。 波浪号(“~”)在Unix系统中具有特殊意义,它可以代表当前用户的家目录。在Windows或MS-DOS下,如果环境变量“HOME”已设置,则波浪号也会指向相应的目录。在Makefile中,你可以使用反斜杠(“\”)对特殊字符进行转义,如`\*`表示实际的星号字符,而非通配符。 在Makefile的规则中,通配符可以用于定义目标和依赖项。例如,`print: *.c`这条规则表示`print`的目标依赖于所有.c文件,而`$?`这个自动化变量则包含了所有比目标更晚修改的依赖文件。在变量定义中,如`objects = *.o`,此时`objects`的值是“*.o”字符串,而非展开后的所有.o文件。若要让其展开,可以在使用时使用函数或者特定的命令。 通过实例,作者展示了如何在Makefile中巧妙运用通配符和自动化变量,提高编写效率和可读性。同时,文档也暗示了Makefile的其他关键概念,如规则、变量、自动化变量以及如何处理命令执行等,这些都是编写高效Makefile不可或缺的知识点。