RP-PX30プラットフォームコンパイラスクリプト

オリジナルとオリジナルをコンパイルするRP-PX30プラットフォームコンパイラは、まだ少し異なる、ラベルmake.shです

#!/ binに/ bashの

MAKE_THEARD = `猫の/ proc / cpuinfoを | grepを"プロセッサ" |トイレ-l`# スレッドのGETホストCPU数
MAKE_TOTAL =`猫の/ proc / meminfoのはgrep "MemTotal" | | TR-CD "[0-9]" `# KBのメモリサイズ計算によって得られた
MAKE_MEM = `exprの$ MAKE_TOTAL / 1048576` # 1048576メモリバイト数が使用可能なメモリの数Gで割って
#echo $ MAKE_MEM


jvm_set_mem()#JVM JACK_SERVER_VM_ARGUMENTSセットメモリー機能は以下8Gメモリコンパイラより、警告が設けられている
{
        メモリ#32Gよりも大きい場合にIF [$ MAKE_MEM 32を-gt] 
                次に
                {
                        エクスポートJACK_SERVER_VM_ARGUMENTS =「 - = UTF-Dfile.encoding 8 -XX :+ TieredCompilation -Xmx32768m "
                }
        のelif [$ MAKE_MEM 16 -gt]
                次に
                {
                        エクスポートJACK_SERVER_VM_ARGUMENTS =" - Dfile.encoding = UTF - XX 8:TieredCompilation -Xmx16384m + "
                }
        [$ MAKE_MEM -gt 8] ELIFを
                次に
                {
                        エクスポートJACK_SERVER_VM_ARGUMENTS = " - Dfile.encoding = UTF-8 -XX:+ TieredCompilation -Xmx8192m"
                }
        のelif [$ MAKE_MEM -ge 6]
                次に
                {
                        エクスポートJACK_SERVER_VM_ARGUMENTS = " - Dfile.encoding = UTF-8 -XX:+ TieredCompilation -Xmx4096m "
                }
        他
                エコー" / ******************************************** ******* /「 
                エコー『メモリ以下7ギガバイトより、』コンパイルすることはできません 
                『コンパイルすることができない、以下7ギガバイトよりエコー』メモリを 
                少なく7ギガバイトよりエコー『メモリ』をコンパイルすることができない 
                エコー」を 少ない7ギガバイト以上のメモリ、」コンパイルすることはできません
                エコー「少ない7ギガバイト以上のメモリは、コンパイルすることはできません」 
                「コンパイルすることはできません、以下7ギガバイト以上のメモリ」エコー 
                「コンパイルすることはできません、以下7ギガバイト以上のメモリ」エコー 
                「コンパイルすることはできません、以下7ギガバイト以上のメモリ」エコーを 
                少なく7ギガバイト以上のエコー」のメモリを、」コンパイルすることはできません 
                『コンパイルすることはできません、7ギガバイト未満のエコー』のメモリを 
                『コンパイルすることはできません、以下7ギガバイト以上のエコー』のメモリを 
                『コンパイルすることはできません、以下7ギガバイト以上のエコー』のメモリを 
                『コンパイルすることはできません、以下7ギガバイト以上のエコー』のメモリを 
                エコー「少ない7ギガバイト以上のメモリ、コンパイルすることはできません」 
                エコー「少ない7ギガバイト以上のメモリ、コンパイルすることはできません」 
                エコー「少ない7ギガバイト以上のメモリは、コンパイルすることはできません」 
                「コンパイルすることはできません、以下7ギガバイト以上のメモリ」エコー 
                / *************************」エコー************************** /」 
                1番出口
        Fi回線
#。/ prebuilts / SDK /ツール/ジャック・管理開始サーバ
}

path_set()#JDKパスは、ビルド環境envsetup.shランチuserdebugのrk3326_evbに元の関数の周りに配置された
{
    エクスポートJAVA_HOME =は/ usr / libに/ JVM / JavaにOpenJDKの8-AMD64-
#エクスポートJRE_HOME =は/ usr / libに/ JVM / OpenJDKの8 --- JavaのAMD64 / JRE。
    輸出JAVA_HOMEは、PATH = / binに$:PATH $を
    エクスポートCLASSPATH = :. $ JAVA_HOME / libに:$ JAVA_HOME / libに/ tools.jarを

    ソースのビルド/ envsetup.sh
    ランチrk3326_evb-userdebug
}

もし[$ 1 == "クリーン" ]# 最初の引数は、そのようなクリーンmake.shとして、クリーンである場合
    、次に
    、{
        $ 2 == "U-ブート/" $ -o = 2 -O IF [$ 2 == "U-ブート" = "uboot"]あなたはもっと小さなヒットを果たし#恐れて、あなたはとの互換性を見てみましょう
            その後、
            {
                クリーンubootメイクをエコー
                のpushdのuboot /
                makeがdistcleanを
                POPD
                のpushd linux_update / rockdev /
                RM MiniLoaderAll.bin
                POPD
                のpushd linux_update / rockdev /イメージ/
                trust.img uboot.img RM
                POPD
        }
        のelif [$ 2 == "カーネル" $ 2 -o == "カーネル/"]#怖いあなたが少ない遊びよりも果たし、それはあなたと互換性があり
            、その後
            {
                    エコーがきれいカーネル作る
                のpushdカーネル/
                作るクリーン
                POPD
                のpushd linux_update / rockdev /画像/
                RMのkernel.img resource.img
                POPD
        }
        #怕你多打[$ 2 == "アンドロイド/" -o $ 2 == "アンドロイド"]のelif少打、让你兼容一下
            その後、
            {
                    エコーがきれいアンドロイド作る
                path_setを
                きれいに作る
                のpushdのlinux_update / rockdev /イメージ/
                RM misc.img boot.imgとrecovery.img system.img
                POPD    
                -rfアウトRM
            }
        他に#全干掉那如果你执行./make.shクリーン
            {
                    エコーがクリーンU-ブート作る
                のpushd U-ブート/
                distcleanを作る
                POPD
                    エコーをきれいにカーネルの作成
                / pushdはカーネルを
                きれいに作る
                POPDが
                    きれいアンドロイド作るエコー
                path_setの
                メイクをクリーン
                RMアウト-rf
                のpushd rockdev /イメージ-rk3326_evb /
                RM * .imgの
                POPD
                POPD linux_update / rockdev /
                MiniLoaderAll.bin update.img RM
                POPD
                のpushd linux_update / rockdev /画像/
                RMのkernel.img resource.img misc.img boot.imgのはsystem.img update.img trust.img uboot.img recovery.img
                POPD
                エコークリーンIMG OK
            }
        Fiを提供して
    }
のelif [$ 1 == "uboot" -o $ 1 == "uboot /" $ -o 1 == "uboot"]#ubootコンパイラ実行する場合
    、次に
    {
        PUSHDのuboot /
        メイククリアmrproper位設定、チンはファイルコンパイルされ
        、それが4スレッドのCPUであれば、リストに追加されたスレッドにする方法ここでは、./make.sh EVB-PX30 -j8#コンパイラを
        [$?-eq 0]場合は、その後、# コンパイラは与えられていない場合は
            、エコー「ビルドOK uboot!」
        他
            エコーは"ubootビルドに失敗した!"
            を終了します。1
        Fiの
        POPD
    }
のelif [$ 1 == "カーネル"。1 -o $ == "カーネル/"]#コンパイルの実行コアであれば
    、その後
    {
        pushdはカーネル/

        もし[-eの.config!];その後、 # がない場合は、設定ファイル、デフォルトのプロファイルにロード
            メイクをARCH = arm64 rpdzkj_px30_defconfig 
        Fiの

        ARCH = arm64 RP-px30.img -j作る $ MAKE_THEARD# マルチスレッドコンパイル
        ARCH = arm64 #make PX30-EVB-DDR3-v10.img -j8
        [$?-eq 0]のIF;コンパイラは、その後#与えられていない場合は
            、エコーを"カーネルOKビルド! "
        他の
            エコーは、"カーネルのビルドに失敗した!」
            を終了します。1
        Fiの
        POPDの
        CPカーネル/ resource.img rockdev /イメージ-rk3326_evb /
        CPカーネル/のkernel.img rockdev /イメージ-rk3326_evb /
        #path_set
        #。/ mkimage.sh
    }
elif [$ 1 == "アンドロイド" $ 1 == "アンドロイド/" -O]# コンパイラアンドリュース場合
    、次に
    {
        jvm_set_mem#Javaの構成パラメータ
        path_set#Javaのパス構成
        -j $ MAKE_THEARD#マルチスレッドコンパイラを作る
        [$?-eq 0]場合は、その後、# コンパイラは与えられていない場合は 
            、エコーを「OK!アンドロイドの構築」
        他を
            エコー「!ビルドアンドロイドに失敗しました」
            1番出口
        Fi回線
        CPカーネル/ドライバ/ NET /無線をOUT /rockchip_wlan/rtl8723bu/wlan.ko /ターゲット/製品/ rk3326_evb /ベンダー/ libに/モジュール/無線LAN / 8723bu.ko
        ./mkimage.sh 
    }
のelif [$ 1 == "OTA"]#コンパイラOTAであれば
    、その後
    {
        path_set
        。 OTA /mkimage.sh
    }
のみを行う#は全ての端部にコンパイル次いで./make.sh場合そう
    {
        PUSHD Uブート/
        メイクmrproper
        ./make.sh EVB-PX30 -j8
        [$場合は?-eq 0]; その後、
            「ビルドubootのOKを!」エコー
        他
            エコー「ビルドubootに失敗しました!」
            1番出口
        Fiの
        POPD
        
        のpushdカーネル/
        [あれば!-eの.config]。その後、
            ARCH = arm64 rpdzkj_px30_defconfig作る 
        Fiを
        作るARCH = arm64 RP-px30.img -j $ MAKE_THEARD
        #make ARCH = arm64 PX30-EVB-DDR3-v10.img -j8
        [$場合は?-eq 0]; その後、
            「ビルドカーネルOKを!」エコー
        他
            エコー「ビルドカーネルに失敗しました!」
            1番出口
        Fi回線
        POPDの
        jvm_set_mem
        path_setの
        メイク-j $ MAKE_THEARD  
        [$場合は?-eq 0]; その後、
            エコー、「アンドロイドOKを建てよう!」
        他
            エコー「ビルドに失敗しましたアンドロイド!」
            1番出口
        Fiの
        CPのカーネル/ドライバ/ネット/無線/ rockchip_wlan / rtl8723bu / wlan.koアウト/ターゲット/製品/ rk3326_evb /ベンダー/ libに/モジュール/無線LAN / 8723bu.ko
        ./mkimage.sh 
        。rpupdate.sh#生成update.img
    }
Fiの

 

 

 

 

 

公開された15元の記事 ウォンの賞賛1 ビュー2824

おすすめ

転載: blog.csdn.net/tianlai1009/article/details/104107963