GNU make与其它版本的差异及 SSE4.2 命令集

需积分: 4 65 下载量 141 浏览量 更新于2024-08-09 收藏 4.21MB PDF 举报
"GNU make中文手册 ver-3.8" GNU make是广泛使用的构建工具,它在Makefile中管理编译和构建过程。手册详细介绍了其特性和与其它版本的make的兼容性。以下是一些关键知识点: 1. 命令行选项: - `-C` 或 `--directory` 用于改变make的工作目录。 - `-o` 或 `--old-file` 指定一个文件被视为未修改,避免不必要的重建。 2. 多行变量定义: GNU make允许定义多行变量,提高了Makefile的可读性和组织性。 3. 伪目标: `.PHONY` 目标用于声明那些实际上不是文件的目标,确保即使同名文件存在,也会执行相应的规则。 4. 文本处理函数: 提供了一系列的文本处理函数,如替换、查找、分割等,方便对Makefile中的字符串进行操作。 5. 防止特定文件重建: `-o` 选项可以防止make检查某个文件的修改时间,跳过不必要的构建步骤。 6. 条件执行: 类似于C语言的预处理条件语句,允许在Makefile中进行条件判断。 7. 包含路径: 可以使用 `include` 语句指定包含其他makefile文件的路径,增强Makefile的模块化。 8. 环境变量`MAKEFILES`: 此变量可以指定默认需要读取的makefile文件,允许全局设置。 9. 文件名处理: 自动去除文件名前的"`.``使得`./file`和`file`等价,简化路径处理。 10. 链接库: 在规则依赖中使用`-lNAME`来指定链接的库文件。 11. 后缀规则: 后缀规则可以是任意字符串,不仅限于以"."开头且不含"/",增加了灵活性。 12. `MAKELEVEL`和`MAKECMDGOALS`变量: `MAKELEVEL`记录make的递归调用深度,`MAKECMDGOALS`表示make执行的最终目标。 13. 静态模式规则: 静态模式规则提供了一种更灵活的方式来匹配和构建文件。 14. `vpath`选择性搜索: 允许指定特定目录搜索,增强了对源文件位置的控制。 15. 计算变量引用: 支持变量的计算引用,允许在变量赋值时进行动态计算。 16. 自动生成Makefile: make可以自动重建Makefile,简化维护。 17. 隐含规则: GNU make包含许多内建的隐含规则,自动处理常见的编译和链接任务。 18. 版本信息: `MAKE_VERSION`变量给出了当前make的版本信息。 虽然GNU make提供了很多增强的功能,但也存在与其他版本make的不兼容性。这些差异可能涉及到规则处理、变量行为、命令选项等方面。因此,在编写跨平台Makefile时需要特别注意兼容性问题。