[发明专利]多工具链工程构建方法及系统无效
申请号: | 200910081791.4 | 申请日: | 2009-04-10 |
公开(公告)号: | CN101859244A | 公开(公告)日: | 2010-10-13 |
发明(设计)人: | 杨一;陈景雄;张炼 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京派特恩知识产权代理事务所(普通合伙) 11270 | 代理人: | 张颖玲;武晨燕 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 工具 工程 构建 方法 系统 | ||
技术领域
本发明涉及软件开发技术,尤其涉及一种多工具链工程构建方法及系统。
背景技术
目前,在软件程序开发领域,GNU的make工具提供了构建工程的支持,make工具最主要功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作,不过需要使用make工具的软件开发人员自行编写makefile文件。例如,对于手机软件开发平台,手机软件开发人员需要在多个编译环境下使用不同的编译工具链实现本地编译和交叉编译,也就需要编写、维护多个不同的makefile文件。举例来说,对于模拟环境和手机环境等,针对同一套程序代码,需要分别建立两个不同的工程,在一个工程中进行本地编译,生成本地二进制文件,在模拟环境中运行;在另一个工程中进行交叉编译,生成目标二进制文件,在手机环境中运行。
每个编译环境都提供不同的makefile文件,那么手机软件开发人员也就必须对所有相应编译环境的makefile文件进行维护,工作极其繁琐。若需要使用的编译环境增加,那么需要维护的makefile文件的数量将成倍增多,可维护性差,而且重复劳动量大。
发明内容
有鉴于此,本发明的主要目的在于提供一种多工具链工程构建方法及系统,能够实现多个编译环境的统一构建。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供一种多工具链工程构建方法,包括:
创建批处理文件以及包含一个以上工具链中相同编译环境部分的主makefile文件;
创建一个以上分别对应不同工具链的子makefile文件;
主makefile文件根据在批处理文件中输入的工具链调用参数,选择调用相应的工具链,编译、输出可执行文件。
上述技术方案中,所述批处理文件设定有工具链的路径和变量。
所述相同编译环境部分包括需要编译的源文件信息。
所述子makefile文件包括工具链的定义以及编译规则。
所述工具链为GCC工具链、RVCT工具链和/或ADS编译工具链。
本发明还提供了一种多工具链工程构建系统,包括入口模块、编译引擎模块以及编译模块;具体的:
入口模块,用于创建批处理文件,将输入的工具链调用参数发送至编译引擎模块;
编译引擎模块,用于创建包含一个以上工具链中相同编译环境部分的主makefile文件,根据入口模块发来的工具链调用参数,发送相应的编译环境加载指令给编译模块;
编译模块,用于创建分别对应各工具链的子makefile文件,根据编译引擎模块发来的指令,调用对应的工具链,编译、输出可执行文件。
上述技术方案中,所述批处理文件包括工具链的路径和变量。
所述相同编译环境部分包括需要编译的源文件信息。
所述子makefile文件包括工具链的定义以及编译规则。
所述工具链为GCC工具链、RVCT工具链和/或ADS编译工具链。
本发明的多工具链工程构建方法及系统,通过创建包含不同工具链中相同编译环境部分的主makefile文件、以及用来定义工具链和规则的子makefile文件,统一构建多个编译环境工程,然后依靠编译引擎进行管理,使工程在不同的编译环境中统一构建,可方便地管理、切换编译环境。切换不同的工具链只需要改变批处理文件输入的工具链调用参数即可,增加或者维护不同的编译工具链只需要改变定义工具链和规则的子makefile文件即可,在大大减轻了维护的难度的同时,减小了软件开发人员的工作量。
附图说明
图1为本发明多工具链工程构建系统结构示意图;
图2为本发明多工具链工程构建方法流程示意图;
图3为本发明实施例多工具链工程构建方法流程示意图。
具体实施方式
本发明的基本思想是:在安装有一个以上工具链的计算机系统中,创建批处理文件和包含不同工具链中相同编译环境部分的主makefile文件、以及一个以上与不同工具链对应的子makefile文件;然后根据批处理文件中输入的工具链调用参数选择调用相应的子makefile文件对应的工具链,编译、输出相应的可执行文件。从而在一个工程中实现在不同编译环境下,使用相应的编译工具链编译出所需的不同的可执行文件。
其中,不同工具链的相同编译环境部分包括:工程的基本环境信息和需要编译的源文件信息,工具链的不同具体体现在两个方面:工具链的定义和编译规则。
图1为本发明多工具链工程构建系统结构示意图,如图1所示,该系统包括入口模块100、编译引擎模块110以及编译模块120;具体的:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910081791.4/2.html,转载请声明来源钻瓜专利网。