realv210的编译脚本注释 .

http://blog.csdn.net/niepengpeng333/article/details/7046306

 

  1. #!/bin/bash  
  2.   
  3. CPU_JOB_NUM=$(grep processor /proc/cpuinfo | awk '{field=$NF};END{print field+1}')    #处理起数量  
  4. CLIENT=$(whoami)                            #当前的用户  
  5.   
  6. ROOT_DIR=$(pwd)             #当前路径  
  7. KERNEL_DIR=./kernel  
  8.   
  9. #SEC_PRODUCT='generic' #Enable for generic build  
  10. SEC_PRODUCT='smdkv210' #Enable for smdk build  
  11.   
  12. #Modify the below path suitably as per your requirements  
  13.   
  14. OUT_DIR="$ROOT_DIR/out/target/product/$SEC_PRODUCT"   #输出目录  
  15. OUT_HOSTBIN_DIR="$ROOT_DIR/out/host/linux-x86/bin"    #用到的命令目录  
  16.   
  17. function check_exit()  
  18. {  
  19.     if [ $? != 0 ]  
  20.     then  
  21.         exit $?  
  22.     fi  
  23. }  
  24.   
  25. function build_android()  
  26. {  
  27.     echo  
  28.     echo '[[[[[[[ Build android platform ]]]]]]]'  
  29.     echo  
  30.       
  31.     START_TIME=`date +%s`              #获取系统时间  
  32.     if [ $SEC_PRODUCT = "generic" ]   #判断输出的目录,如果是默认的目录  
  33.     then  
  34.         echo make -j$CPU_JOB_NUM   #输出提示  
  35.         echo  
  36.         make -j$CPU_JOB_NUM        #开始编译  
  37.     else  
  38.         echo make -j$CPU_JOB_NUM PRODUCT-full_$SEC_PRODUCT-eng  #输出提示  
  39.         echo  
  40.         make -j$CPU_JOB_NUM PRODUCT-full_$SEC_PRODUCT-eng   #开始编译  
  41.     fi  
  42.     check_exit  
  43.    
  44.     END_TIME=`date +%s`                   #结束时间   
  45.     let "ELAPSED_TIME=$END_TIME-$START_TIME"  #计算消耗时间  
  46.     echo "Total compile time is $ELAPSED_TIME seconds"  
  47. }  
  48.   
  49. function make_uboot_img()             #编译u-boot文件  
  50. {  
  51.     cd $OUT_DIR    #进入输出的文件目录  
  52.   
  53.     echo  
  54.     echo '[[[[[[[ Make ramdisk image for u-boot ]]]]]]]'  
  55.     echo  
  56.   
  57.     $OUT_HOSTBIN_DIR/mkyaffs2image root ramdisk-yaffs.img    
  58.   
  59.     check_exit  
  60.   
  61.     echo  
  62.     cd ../../../..  
  63. }  
  64.   
  65. function make_fastboot_img()  
  66. {  
  67.     echo  
  68.     echo '[[[[[[[ Make additional images for fastboot ]]]]]]]'  
  69.     echo  
  70.   
  71.     if [ ! -f $KERNEL_DIR/arch/arm/boot/zImage ]  
  72.     then  
  73.         echo "No zImage is found at $KERNEL_DIR/arch/arm/boot"  
  74.         echo '  Please set KERNEL_DIR if you want to make additional images'  
  75.         echo "  Ex.) export KERNEL_DIR=~ID/android_kernel_$SEC_PRODUCT"  
  76.         echo  
  77.         return  
  78.     fi  
  79.   
  80.     echo 'boot.img ->' $OUT_DIR  
  81.     cp $KERNEL_DIR/arch/arm/boot/zImage $OUT_DIR/zImage  
  82.     $OUT_HOSTBIN_DIR/mkbootimg --kernel $OUT_DIR/zImage --ramdisk $OUT_DIR/ramdisk-uboot.img -o $OUT_DIR/boot.img  
  83.     check_exit  
  84.   
  85.     echo 'update.zip ->' $OUT_DIR  
  86.     zip -j $OUT_DIR/update.zip $OUT_DIR/android-info.txt $OUT_DIR/boot.img $OUT_DIR/system.img  
  87.     check_exit  
  88.   
  89.     echo  
  90. }  
  91.   
  92. echo  
  93. echo '                Build android for '$SEC_PRODUCT''  
  94. echo  
  95.   
  96. case "$SEC_PRODUCT" in           #根据目录的不同,选择不同的编译过程  
  97.     smdkc110)  
  98.         build_android  
  99.         make_uboot_img  
  100.         make_fastboot_img  
  101.         ;;  
  102.     smdkv210)  
  103.         build_android  
  104.         make_uboot_img  
  105.         #make_fastboot_img  
  106.         ;;  
  107.     generic)  
  108.         build_android  
  109.         make_uboot_img  
  110.         ;;  
  111.     *)  
  112.         echo "Please, set SEC_PRODUCT"  
  113.         echo "  export SEC_PRODUCT=smdkc100 or SEC_PRODUCT=smdkc110 or SEC_PRODUCT=smdkv210 or SEC_PRODUCT=smdk6440"  
  114.         echo "     or "  
  115.         echo "  export SEC_PRODUCT=generic"  
  116.         exit 1  
  117.         ;;  
  118. esac  
  119.   
  120. echo ok success !!!  
  121.   
  122. exit 0  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值