MTK编译流程详解:从MakeFile到bin与dll生成

需积分: 10 3 下载量 26 浏览量 更新于2024-09-16 收藏 53KB DOC 举报
MTK(MediaTek)的编译过程是一个系统化的工程,主要在Windows命令行环境下通过MakeFile文件进行操作。这些MakeFile文件扮演着核心角色,它们是编译流程的脚手架,指导着源代码的处理和生成中间代码的过程。整个编译过程可以分为几个关键步骤: 1. **目的与简介**: MTK编译的主要目的是为了确保软件的高效构建和问题解决,同时也为优化和适应性改进提供参考。这个过程涉及资源包转化为C源代码,然后与其他模块的代码结合,生成.o(对象文件)、.lib(库文件)或.obj(编译后的二进制文件)。 2. **编译命令与功能**: - `Clean`:删除所有目标文件、库文件和日志文件,用于初始化编译环境。 - `New`:清除并重新编译所有文件,这是最全面的编译选项。 - `Update`:只重新编译资源文件,生成目标文件,适合对部分改动的快速响应。 - `Remake`:仅编译已修改过的文件及其依赖,提高效率。 - `mcp_check` 到 `done`:一系列定制化编译步骤,每个阶段执行特定任务。 3. **核心MakeFile文件**: `Gsm2.mak` 是编译过程中的主MakeFile,负责接收命令行参数,执行编译任务,如调用perl脚本或C程序生成目标文件。它定义了编译流程的逻辑和参数设置。 4. **辅助文件**: - `Option.mak`:定义了编译环境的工具、目录和选项,如编译器路径、头文件路径、编译开关和用户自定义设置。 - `.lis` 和 `.pth` 文件:分别存储模块的C源代码文件和路径,便于管理和查找。 - `.def` 文件:记录了模块的编译开关,确保模块间正确引用其他模块的变量、函数或宏。 - `.inc` 文件:包含模块所需的头文件路径,确保编译时能找到正确的头文件。 5. **生成的文件**: 最终,编译过程会生成两个主要文件:手机设备上运行的.bin文件(可执行代码),以及模拟器使用的mmiresource.dll资源文件,这代表了软件在实际设备和模拟环境中的应用形态。 总结来说,MTK的编译过程是一个结构化且灵活的体系,通过MakeFile文件驱动,确保了代码的正确编译和整合,同时考虑到效率和可维护性。理解和掌握这个过程对于开发者来说至关重要,无论是遇到问题解决还是进行性能优化,都离不开对这个编译流程的深入理解。