size.sh 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. # Copyright Statement:
  2. #
  3. # This software/firmware and related documentation ("MediaTek Software") are
  4. # protected under relevant copyright laws. The information contained herein
  5. # is confidential and proprietary to MediaTek Inc. and/or its licensors.
  6. # Without the prior written permission of MediaTek inc. and/or its licensors,
  7. # any reproduction, modification, use or disclosure of MediaTek Software,
  8. # and information contained herein, in whole or in part, shall be strictly prohibited.
  9. #
  10. # MediaTek Inc. (C) 2010. All rights reserved.
  11. #
  12. # BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  13. # THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  14. # RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON
  15. # AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  16. # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  17. # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  18. # NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  19. # SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  20. # SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH
  21. # THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
  22. # THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
  23. # CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
  24. # SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
  25. # STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND
  26. # CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  27. # AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  28. # OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO
  29. # MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
  30. #
  31. # The following software/firmware and/or related documentation ("MediaTek Software")
  32. # have been modified by MediaTek Inc. All revisions are subject to any receiver's
  33. # applicable license agreements with MediaTek Inc.
  34. if [ -f "${PL_IMG}" ]; then
  35. PL_SIZE=$(($(wc -c < "${PL_IMG}")))
  36. if [ ${PL_SIZE} -gt 75000 ]; then
  37. echo "===================== building 'fail' ========================"
  38. echo "---------------------------------------------------------------"
  39. echo "image size : ${PL_SIZE} cannot be greater than 74000 bytes !!"
  40. echo "please reduce your code size first then compile again !!"
  41. echo "==============================================================="
  42. ${CROSS_COMPILE}size `ls ${PRELOADER_OUT}/obj/*.o` > pl-code-size-report.txt
  43. echo "---------------------------------------------------------------"
  44. echo " CODE SIZE REPORT "
  45. echo "---------------------------------------------------------------"
  46. echo "size{bytes} file { size > 2500 bytes }"
  47. echo "---------------------------------------------------------------"
  48. awk '$prj ~ /^[0-9]/ { if {$4>2500} print $4 "\t\t" $6}' < pl-code-size-report.txt | sort -rn
  49. rm ${PL_IMG}
  50. echo "BUILD FAIL !!!!!!!!!!!!!!!!"
  51. echo "BUILD FAIL !!!!!!!!!!!!!!!!"
  52. exit 1;
  53. fi
  54. if [ -f "${MTK_PATH_PLATFORM}/gfh_info.txt" ]; then
  55. echo ""
  56. echo "Attach GFH ... "
  57. echo "----------------------"
  58. chmod 777 bin/${PL_IMG_NAME}.bin
  59. mv bin/${PL_IMG_NAME}.bin bin/${PL_IMG_NAME}_NO_GFH.bin
  60. chmod 777 ${MTK_PATH_PLATFORM}/gfh_info.txt
  61. cp ${MTK_PATH_PLATFORM}/gfh_info.txt bin/${PL_IMG_NAME}.bin
  62. cat bin/${PL_IMG_NAME}_NO_GFH.bin >> bin/${PL_IMG_NAME}.bin
  63. cat ${MTK_PATH_PLATFORM}/gfh_hash.txt >> bin/${PL_IMG_NAME}.bin
  64. echo ""
  65. echo "Sign Pre-loader ... "
  66. echo "----------------------"
  67. /usr/local/wine-1.1.33-i686/bin/wine tools/PBP/PBP.exe bin/${PL_IMG_NAME}.bin
  68. fi
  69. if [ ! -d ${IMG_DIR} ]; then mkdir ${IMG_DIR}; fi
  70. if [ ! -d ${FLASH_DIR} ]; then mkdir ${FLASH_DIR}; fi
  71. echo ""
  72. echo ============================================
  73. echo "${_BOARD} preloader load"
  74. echo "'bin/${PL_IMG_NAME}.bin' built at"
  75. echo "time : ${date}"
  76. echo ============================================
  77. chmod 777 bin/${PL_IMG_NAME}.bin
  78. chmod 777 ${PL_IMG_NAME}.bin
  79. cp bin/${PL_IMG_NAME}.bin ${PL_IMG_NAME}.bin
  80. rm -rf ${PL_DOWNLOAD_IMG}
  81. chmod 777 ${PL_IMG_NAME}.bin
  82. cp ${PL_IMG_NAME}.bin ${PL_DOWNLOAD_IMG}
  83. fi