專利名稱:Linux系統(tǒng)中編譯軟件的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機應(yīng)用領(lǐng)域,尤其涉及一種在Linux系統(tǒng)中編譯軟件的方法和系統(tǒng)。
背景技術(shù):
當前,軟件自動化的發(fā)展越來越迅速,各種軟件自動化的方案層出不窮。促使軟件的自動化,智能化得到的飛躍的發(fā)展。各種自動化編譯工具的出現(xiàn),使軟件自動化編譯成為一種可能。軟件的自動化編譯與安裝不但節(jié)省了開發(fā)者的編譯程序,而且會提高軟件的應(yīng) 用范圍?,F(xiàn)有技術(shù)中,Linux系統(tǒng)中編譯軟件的方法具體如下在編譯和安裝該軟件之前,先對操作系統(tǒng)中的編譯環(huán)境進行檢測,具體來說,就是將該軟件運行的編譯環(huán)境的要求逐條與該操作系統(tǒng)當前所提供的編譯環(huán)境進行比較,在滿足全部條件后再進行軟件編譯流程。就上述方法而言,測試人員在不了解軟件的構(gòu)造和審計架構(gòu)的情況下往往不能完成軟件的編譯流程。因此,目前需要提供一種新的軟件編譯方法。
發(fā)明內(nèi)容
本發(fā)明提供一種Linux系統(tǒng)中編譯軟件的方法和系統(tǒng),要解決的技術(shù)問題是如何提高軟件的編譯復(fù)雜度。為解決上述技術(shù)問題,本發(fā)明提供了如下技術(shù)方案一種Linux系統(tǒng)中編譯軟件的方法,包括在Linux系統(tǒng)發(fā)起搭建軟件編譯所需編譯環(huán)境的流程;在所述Linux系統(tǒng)滿足該軟件在編譯時所需要的環(huán)境信息后,生成該軟件在所述Linux系統(tǒng)中的Makefile文件;米用所述Makefile文件,執(zhí)行所述軟件的編譯流程。優(yōu)選的,所述方法還具有如下特點所述在Linux系統(tǒng)發(fā)起搭建軟件編譯所需編譯環(huán)境的流程,包括獲取軟件在編譯時所需要的標準環(huán)境信息;以該標準環(huán)境信息為基準,對Linux系統(tǒng)進行環(huán)境檢測,得到所述Linux系統(tǒng)是否能提供該軟件編譯環(huán)境的結(jié)果信息;如果結(jié)果信息為Linux系統(tǒng)不能提供該軟件所需要的編譯環(huán)境,則根據(jù)所述標準環(huán)境信息,發(fā)起在所述Linux系統(tǒng)中搭建該軟件所需要的編譯環(huán)境的流程。一種Linux系統(tǒng)中編譯軟件的系統(tǒng),包括處理裝置,用于在Linux系統(tǒng)發(fā)起搭建軟件編譯所需編譯環(huán)境的流程;生成裝置,與所述處理裝置相連,用于在所述Linux系統(tǒng)滿足該軟件在編譯時所需要的環(huán)境信息后,生成該軟件在所述Linux系統(tǒng)中的Makefile文件;
執(zhí)行裝置,與所述生成裝置相連,用于采用所述Makefile文件,執(zhí)行所述軟件的編譯流程。優(yōu)選的,所述系統(tǒng)還具有如下特點所述處理裝置,包括獲取模塊,用于獲取軟件在編譯時所需要的標準環(huán)境信息;檢測模塊,與所述獲取模塊相連,用于以該標準環(huán)境信息為基準,對Linux系統(tǒng)進行環(huán)境檢測,得到所述Linux系統(tǒng)是否能提供該軟件編譯環(huán)境的結(jié)果信息;搭建模塊,與所述檢測模塊相連,用于如果結(jié)果信息為Linux系統(tǒng)不能提供該軟件所需要的編譯環(huán)境,則根據(jù)所述標準環(huán)境信息,發(fā)起在所述Linux系統(tǒng)中搭建該軟件所需要的編譯環(huán)境的流程。與現(xiàn)有技術(shù)相比,本發(fā)明實施例提供的技術(shù)方案,在不同的環(huán)境下完成軟件的編譯安裝過程的自動化,節(jié)省軟件編譯安裝的復(fù)雜程度與使用范圍,不用了解軟件的構(gòu)造與審計架構(gòu)的情況下完成軟件的編譯與安裝。
圖I為本發(fā)明提供的Linux系統(tǒng)中編譯軟件的方法實施例的流程示意圖;圖2為本發(fā)明提供的Linux系統(tǒng)中編譯軟件的系統(tǒng)實施例的結(jié)構(gòu)示意圖;圖3為圖2所示系統(tǒng)中所述處理裝置201的結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例對本發(fā)明作進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。圖I為本發(fā)明提供的Linux系統(tǒng)中編譯軟件的方法實施例的流程示意圖。圖I所示方法實施例,包括步驟101、在Linux系統(tǒng)發(fā)起搭建軟件編譯所需編譯環(huán)境的流程;步驟102、在所述Linux系統(tǒng)滿足該軟件在編譯時所需要的環(huán)境信息后,生成該軟件在所述Linux系統(tǒng)中的Makefile文件;步驟103、采用所述Makefile文件,執(zhí)行所述軟件的編譯流程。在上述方法中,首先完成本地系統(tǒng)環(huán)境、編譯工具的準備工作。如果沒有這一步在Iinux下的軟件的編譯過程中,就會出現(xiàn)編譯錯誤。一般的情況下,大多數(shù)軟件應(yīng)用configure完成基本的檢測環(huán)境,但是它只是檢測問題并沒有完成編譯環(huán)境的搭建。在這個部分里軟件編譯環(huán)境的自動化搭建是主要的軟件編譯的前提也是其他部分的基礎(chǔ)。其中用到了標準軟件編譯環(huán)境的對比問題,所需工具的下載安裝過程。然后,完成Iinux下軟件的Makefile的生成工作。在這個部分里充分的體現(xiàn)了 Iinux軟件自動化工具的應(yīng)用。在這個部分里在第一部分的基礎(chǔ)上完成Makefile的生成,這樣就等于在標準的編譯環(huán)境下生成的Makefile。第三部分,完成軟件的編譯安裝。在這個過程中,生成可執(zhí)行程序,用戶可以根據(jù)需要設(shè)定安裝的路徑。Linux下軟件的一種自動化編譯方法的實現(xiàn)是一種綜合利用Iinux下的自動化工具完成軟件的自動化編譯安裝的一種方法。其主要的優(yōu)點在于在不同的環(huán)境下完成軟件的編譯安裝過程的自動化,節(jié)省軟件、編譯安裝的復(fù)雜程度與使用范圍,不用了解軟件的構(gòu)造與審計架構(gòu)的情況下完成軟件的編譯與安裝。下面對本發(fā)明提供的方法實施例做進一步介紹步驟201、獲取軟件在編譯時所需要的標準環(huán)境信息;步驟202、以該標準環(huán)境信息為基準,對Linux系統(tǒng)進行環(huán)境檢測,得到所述Linux 系統(tǒng)是否能提供該軟件編譯環(huán)境的結(jié)果信息;步驟203、如果結(jié)果信息為Linux系統(tǒng)不能提供該軟件所需要的編譯環(huán)境,則根據(jù)所述標準環(huán)境信息,發(fā)起在所述Linux系統(tǒng)中搭建該軟件所需要的編譯環(huán)境的流程;當然,如果比較結(jié)果為Linux系統(tǒng)能提供該軟件所需要的編譯環(huán)境,則直接執(zhí)行步驟204。步驟204、在所述Linux系統(tǒng)滿足該軟件在編譯時所需要的環(huán)境信息后,生成該軟件在Linux系統(tǒng)中的Makefile文件;其中,在本步驟中,可以使用Autoconf等工具根據(jù)上文的編譯環(huán)境信息生成符合本地需求的Makefile。步驟205、采用所述Makefile文件,執(zhí)行所述軟件的編譯流程。需要說明的是,上述流程可以采用shell腳本的方式來完成每一個過程。本發(fā)明提供的方法實施例,在不清楚本地編譯環(huán)境是否符合編譯的標準條件下完成軟件的自動化編譯與安裝。圖2為本發(fā)明提供的Linux系統(tǒng)中編譯軟件的系統(tǒng)實施例的結(jié)構(gòu)示意圖。結(jié)合上文所示的方法實施例,圖2所示系統(tǒng)實施例,包括處理裝置201,用于在Linux系統(tǒng)發(fā)起搭建軟件編譯所需編譯環(huán)境的流程;生成裝置202,與所述處理裝置201相連,用于在所述Linux系統(tǒng)滿足該軟件在編譯時所需要的環(huán)境信息后,生成該軟件在所述Linux系統(tǒng)中的Makefile文件;執(zhí)行裝置203,與所述生成裝置202相連,用于采用所述Makefile文件,執(zhí)行所述軟件的編譯流程。圖3為圖2所示系統(tǒng)中所述處理裝置201的結(jié)構(gòu)示意圖。圖3所示處理裝置201包括獲取模塊301,用于獲取軟件在編譯時所需要的標準環(huán)境信息;檢測模塊302,與所述獲取模塊301相連,用于以該標準環(huán)境信息為基準,對Linux系統(tǒng)進行環(huán)境檢測,得到所述Linux系統(tǒng)是否能提供該軟件編譯環(huán)境的結(jié)果信息;搭建模塊303,與所述檢測模塊302相連,用于如果結(jié)果信息為Linux系統(tǒng)不能提供該軟件所需要的編譯環(huán)境,則根據(jù)所述標準環(huán)境信息,發(fā)起在所述Linux系統(tǒng)中搭建該軟件所需要的編譯環(huán)境的流程。與現(xiàn)有技術(shù)相比,本發(fā)明實施例提供的技術(shù)方案,在不同的環(huán)境下完成軟件的編譯安裝過程的自動化,節(jié)省軟件編譯安裝的復(fù)雜程度與使用范圍,不用了解軟件的構(gòu)造與審計架構(gòu)的情況下完成軟件的編譯與安裝。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以權(quán)利要求所述的保護范圍為準。
權(quán)利要求
1.一種Linux系統(tǒng)中編譯軟件的方法,其特征在于,包括 在Linux系統(tǒng)發(fā)起搭建軟件編譯所需編譯環(huán)境的流程; 在所述Linux系統(tǒng)滿足該軟件在編譯時所需要的環(huán)境信息后,生成該軟件在所述Linux系統(tǒng)中的Makefile文件; 采用所述Makefile文件,執(zhí)行所述軟件的編譯流程。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述在Linux系統(tǒng)發(fā)起搭建軟件編譯所需編譯環(huán)境的流程,包括 獲取軟件在編譯時所需要的標準環(huán)境信息; 以該標準環(huán)境信息為基準,對Linux系統(tǒng)進行環(huán)境檢測,得到所述Linux系統(tǒng)是否能提供該軟件編譯環(huán)境的結(jié)果信息; 如果結(jié)果信息為Linux系統(tǒng)不能提供該軟件所需要的編譯環(huán)境,則根據(jù)所述標準環(huán)境信息,發(fā)起在所述Linux系統(tǒng)中搭建該軟件所需要的編譯環(huán)境的流程。
3.—種Linux系統(tǒng)中編譯軟件的系統(tǒng),其特征在于,包括 處理裝置,用于在Linux系統(tǒng)發(fā)起搭建軟件編譯所需編譯環(huán)境的流程; 生成裝置,與所述處理裝置相連,用于在所述Linux系統(tǒng)滿足該軟件在編譯時所需要的環(huán)境信息后,生成該軟件在所述Linux系統(tǒng)中的Makefile文件; 執(zhí)行裝置,與所述生成裝置相連,用于采用所述Makef ile文件,執(zhí)行所述軟件的編譯流程。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述處理裝置,包括 獲取模塊,用于獲取軟件在編譯時所需要的標準環(huán)境信息; 檢測模塊,與所述獲取模塊相連,用于以該標準環(huán)境信息為基準,對Linux系統(tǒng)進行環(huán)境檢測,得到所述Linux系統(tǒng)是否能提供該軟件編譯環(huán)境的結(jié)果信息; 搭建模塊,與所述檢測模塊相連,用于如果結(jié)果信息為Linux系統(tǒng)不能提供該軟件所需要的編譯環(huán)境,則根據(jù)所述標準環(huán)境信息,發(fā)起在所述Linux系統(tǒng)中搭建該軟件所需要的編譯環(huán)境的流程。
全文摘要
本發(fā)明提供一種Linux系統(tǒng)中編譯軟件的方法和系統(tǒng)。所述方法,包括在Linux系統(tǒng)發(fā)起搭建軟件編譯所需編譯環(huán)境的流程;在所述Linux系統(tǒng)滿足該軟件在編譯時所需要的環(huán)境信息后,生成該軟件在所述Linux系統(tǒng)中的Makefile文件;采用所述Makefile文件,執(zhí)行所述軟件的編譯流程。
文檔編號G06F9/45GK102629214SQ20121005031
公開日2012年8月8日 申請日期2012年2月29日 優(yōu)先權(quán)日2012年2月29日
發(fā)明者劉正偉, 呂萬波, 文中領(lǐng) 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司