小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Makefile & Android.mk文件中如何輸出打印信息

 365 doc 2011-07-13
在makefile中打印輸出信息的方法是:$(warning xxxxx)或者$(error xxxxx)
輸出變量方式為:$(warning  $(XXX))
Android編譯順序小結
Android編譯:
1、build.sh腳本:
該腳本根據(jù)傳進來的參數(shù)選擇編譯的項目:
例如./build.sh XXX systemimage
因為$1=P729B_CN則會進入if語句中。
if [ "$1" = "XXX" ] ]; then
    source ./$1/customize.sh//執(zhí)行定制目錄拷貝腳本
    ./build_blade.sh update-api//生成current.xml文件,更新api。
    ./build_blade.sh $2 //根據(jù)傳進來的第二個參數(shù)systemimage來編譯版本。既:./build_mooncake.sh systemimage
fi
2、build_XXX.sh腳本
通過上面我們可以看到,版本的編譯進入了./build_XXX.sh systemimage命令的執(zhí)行。在這個腳本中:
source build/envsetup.sh > /dev/null  ///設置環(huán)境變量
choosecombo Device releaseXXXeng //選擇設備
make -j4  $1  //進行編譯。這里相當于make -j4 systemimage 當然這里的-j4根據(jù)自己的機器配置來選擇編譯的級別。
其中source build/envsetup.sh > /dev/null 設置環(huán)境變量,也是作為mm的一個解析器;
    choosecombo Device release XXX eng  這條中的choosecombo是Google自帶的一個函數(shù),實際上在這里他調用的其他幾個文件:
    choosesim $1       選擇目標設備
    choosetype $2      選擇目標代碼格式
    chooseproduct $3   選擇產(chǎn)品平臺(mooncake)
    choosevariant $4   選擇版本的模式
    set_stuff_for_environment  通過build/core/config.mk進行配置
    printconfig        打印出我們剛才選擇的信息
我們執(zhí)行這條命令的時候,會直接打印出
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.1-update1
TARGET_PRODUCT=XXX
TARGET_BUILD_VARIANT=user
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ERE27
============================================
而我們沒有選擇的余地,如果想自己diy版本,則可以直接執(zhí)行choosecombo可以進行手動選擇。
而我們在單獨執(zhí)行choosesim $1 ,在下面的函數(shù)中,我們看到,每次執(zhí)行一次choosesim $1便會做一次set_stuff_for_environment
case `uname -s` in
    Linux)
        function choosesim()
        {
            echo "Build for the simulator or the device?"
            echo "     1. Device"
            echo "     2. Simulator"
            echo
            export TARGET_SIMULATOR=
            local ANSWER
            while [ -z $TARGET_SIMULATOR ]
            do
                echo -n "Which would you like? [1] "
                if [ -z "$1" ] ; then
                    read ANSWER
                else
                    echo $1
                    ANSWER=$1
                fi
                case $ANSWER in
                "")
                    export TARGET_SIMULATOR=false
                    ;;
                1)
                    export TARGET_SIMULATOR=false
                    ;;
                Device)
                    export TARGET_SIMULATOR=false
                    ;;
                2)
                    export TARGET_SIMULATOR=true
                    ;;
                Simulator)
                    export TARGET_SIMULATOR=true
                    ;;
                *)
                    echo
                    echo "I didn't understand your response.  Please try again."
                    echo
                    ;;
                esac
                if [ -n "$1" ] ; then
                    break
                fi
            done
            set_stuff_for_environment
        }
        ;;
    *)
choosecombo Device release mooncake設備
 
本篇文章來源于 Linux公社網(wǎng)站(www.)  原文鏈接:http://www./Linux/2011-05/35787.htm

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多