[發(fā)明專利]多工具鏈工程構(gòu)建方法及系統(tǒng)無效
| 申請?zhí)枺?/td> | 200910081791.4 | 申請日: | 2009-04-10 |
| 公開(公告)號: | CN101859244A | 公開(公告)日: | 2010-10-13 |
| 發(fā)明(設(shè)計(jì))人: | 楊一;陳景雄;張煉 | 申請(專利權(quán))人: | 中興通訊股份有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 北京派特恩知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11270 | 代理人: | 張穎玲;武晨燕 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 工具 工程 構(gòu)建 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及軟件開發(fā)技術(shù),尤其涉及一種多工具鏈工程構(gòu)建方法及系統(tǒng)。
背景技術(shù)
目前,在軟件程序開發(fā)領(lǐng)域,GNU的make工具提供了構(gòu)建工程的支持,make工具最主要功能就是通過makefile文件來描述源程序之間的相互關(guān)系并自動維護(hù)編譯工作,不過需要使用make工具的軟件開發(fā)人員自行編寫makefile文件。例如,對于手機(jī)軟件開發(fā)平臺,手機(jī)軟件開發(fā)人員需要在多個編譯環(huán)境下使用不同的編譯工具鏈實(shí)現(xiàn)本地編譯和交叉編譯,也就需要編寫、維護(hù)多個不同的makefile文件。舉例來說,對于模擬環(huán)境和手機(jī)環(huán)境等,針對同一套程序代碼,需要分別建立兩個不同的工程,在一個工程中進(jìn)行本地編譯,生成本地二進(jìn)制文件,在模擬環(huán)境中運(yùn)行;在另一個工程中進(jìn)行交叉編譯,生成目標(biāo)二進(jìn)制文件,在手機(jī)環(huán)境中運(yùn)行。
每個編譯環(huán)境都提供不同的makefile文件,那么手機(jī)軟件開發(fā)人員也就必須對所有相應(yīng)編譯環(huán)境的makefile文件進(jìn)行維護(hù),工作極其繁瑣。若需要使用的編譯環(huán)境增加,那么需要維護(hù)的makefile文件的數(shù)量將成倍增多,可維護(hù)性差,而且重復(fù)勞動量大。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種多工具鏈工程構(gòu)建方法及系統(tǒng),能夠?qū)崿F(xiàn)多個編譯環(huán)境的統(tǒng)一構(gòu)建。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
本發(fā)明提供一種多工具鏈工程構(gòu)建方法,包括:
創(chuàng)建批處理文件以及包含一個以上工具鏈中相同編譯環(huán)境部分的主makefile文件;
創(chuàng)建一個以上分別對應(yīng)不同工具鏈的子makefile文件;
主makefile文件根據(jù)在批處理文件中輸入的工具鏈調(diào)用參數(shù),選擇調(diào)用相應(yīng)的工具鏈,編譯、輸出可執(zhí)行文件。
上述技術(shù)方案中,所述批處理文件設(shè)定有工具鏈的路徑和變量。
所述相同編譯環(huán)境部分包括需要編譯的源文件信息。
所述子makefile文件包括工具鏈的定義以及編譯規(guī)則。
所述工具鏈為GCC工具鏈、RVCT工具鏈和/或ADS編譯工具鏈。
本發(fā)明還提供了一種多工具鏈工程構(gòu)建系統(tǒng),包括入口模塊、編譯引擎模塊以及編譯模塊;具體的:
入口模塊,用于創(chuàng)建批處理文件,將輸入的工具鏈調(diào)用參數(shù)發(fā)送至編譯引擎模塊;
編譯引擎模塊,用于創(chuàng)建包含一個以上工具鏈中相同編譯環(huán)境部分的主makefile文件,根據(jù)入口模塊發(fā)來的工具鏈調(diào)用參數(shù),發(fā)送相應(yīng)的編譯環(huán)境加載指令給編譯模塊;
編譯模塊,用于創(chuàng)建分別對應(yīng)各工具鏈的子makefile文件,根據(jù)編譯引擎模塊發(fā)來的指令,調(diào)用對應(yīng)的工具鏈,編譯、輸出可執(zhí)行文件。
上述技術(shù)方案中,所述批處理文件包括工具鏈的路徑和變量。
所述相同編譯環(huán)境部分包括需要編譯的源文件信息。
所述子makefile文件包括工具鏈的定義以及編譯規(guī)則。
所述工具鏈為GCC工具鏈、RVCT工具鏈和/或ADS編譯工具鏈。
本發(fā)明的多工具鏈工程構(gòu)建方法及系統(tǒng),通過創(chuàng)建包含不同工具鏈中相同編譯環(huán)境部分的主makefile文件、以及用來定義工具鏈和規(guī)則的子makefile文件,統(tǒng)一構(gòu)建多個編譯環(huán)境工程,然后依靠編譯引擎進(jìn)行管理,使工程在不同的編譯環(huán)境中統(tǒng)一構(gòu)建,可方便地管理、切換編譯環(huán)境。切換不同的工具鏈只需要改變批處理文件輸入的工具鏈調(diào)用參數(shù)即可,增加或者維護(hù)不同的編譯工具鏈只需要改變定義工具鏈和規(guī)則的子makefile文件即可,在大大減輕了維護(hù)的難度的同時,減小了軟件開發(fā)人員的工作量。
附圖說明
圖1為本發(fā)明多工具鏈工程構(gòu)建系統(tǒng)結(jié)構(gòu)示意圖;
圖2為本發(fā)明多工具鏈工程構(gòu)建方法流程示意圖;
圖3為本發(fā)明實(shí)施例多工具鏈工程構(gòu)建方法流程示意圖。
具體實(shí)施方式
本發(fā)明的基本思想是:在安裝有一個以上工具鏈的計(jì)算機(jī)系統(tǒng)中,創(chuàng)建批處理文件和包含不同工具鏈中相同編譯環(huán)境部分的主makefile文件、以及一個以上與不同工具鏈對應(yīng)的子makefile文件;然后根據(jù)批處理文件中輸入的工具鏈調(diào)用參數(shù)選擇調(diào)用相應(yīng)的子makefile文件對應(yīng)的工具鏈,編譯、輸出相應(yīng)的可執(zhí)行文件。從而在一個工程中實(shí)現(xiàn)在不同編譯環(huán)境下,使用相應(yīng)的編譯工具鏈編譯出所需的不同的可執(zhí)行文件。
其中,不同工具鏈的相同編譯環(huán)境部分包括:工程的基本環(huán)境信息和需要編譯的源文件信息,工具鏈的不同具體體現(xiàn)在兩個方面:工具鏈的定義和編譯規(guī)則。
圖1為本發(fā)明多工具鏈工程構(gòu)建系統(tǒng)結(jié)構(gòu)示意圖,如圖1所示,該系統(tǒng)包括入口模塊100、編譯引擎模塊110以及編譯模塊120;具體的:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中興通訊股份有限公司,未經(jīng)中興通訊股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910081791.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 構(gòu)建墊、實(shí)體圖像構(gòu)建物和構(gòu)建構(gòu)建物支撐件的方法
- 支持松耦合的軟件構(gòu)建方法、系統(tǒng)及該系統(tǒng)的實(shí)現(xiàn)方法
- 版本的構(gòu)建系統(tǒng)及方法
- 工程構(gòu)建系統(tǒng)及其構(gòu)建方法
- 實(shí)例構(gòu)建方法、裝置及軟件系統(tǒng)
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 天花板地圖構(gòu)建方法、構(gòu)建裝置以及構(gòu)建程序
- 一種項(xiàng)目構(gòu)建方法、持續(xù)集成系統(tǒng)及終端設(shè)備
- 并行構(gòu)建的方法、裝置及設(shè)備
- 構(gòu)建肺癌預(yù)測模型構(gòu)建方法





