@echo off && setlocal enabledelayedexpansion @echo %PATH% | findstr /c:"%~dp0tools/msys64/usr/bin">nul @if %errorlevel% equ 1 set PATH=%~dp0tools/msys64/usr/bin;%PATH% rem @set PATH=%~dp0tools/msys64/usr/bin;%PATH% cls set PROJECT_NAME=phone set BOARD_NAME=ec7xx_ref_1h00 set CHIP_NAME=ec7xx set CHIP_TYPE=ec718pm set CORE_NAME=ap set EUTRAN_MODE=cat_mode set BUILD_OPTION=merge set UNILOG=false set TOOLCHAIN_NAME=GCC set CUST=common set SDKREL=false set OPENCPU=true set RAM_ENBALE=false set ROM_ENBALE=false set LESS_LOG=false set LTO_ENABLE=false set PWR_TEST=false set BUILD_HEADBIN=false set GCCLIB_PATH="C:\gcc" set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" set CPBIN_SUBPATH=audio set AUDIO_ENABLE=true set PKG_MAPDEF=pkg_718pm_mapdef set PKG_PRODUCT="EC718PM_PRD" set OUTPUT_NAME=%BOARD_NAME%_%CHIP_TYPE% set JOBNUMBER=j8 echo build.bat version 20180330 echo GCCLIB_PATH: %GCCLIB_PATH% if not %GCCLIB_PATH% == "" ( if not exist %GCCLIB_PATH% ( echo ERROR: Please check GCCLIB_PATH setting, exit!!! goto end ) ) else ( echo ERROR: Please set GCCLIB_PATH firstly, exit!!! goto end ) rem --------- board/project parsing begain------------------ set PARAMETERS=%1 if xx%PARAMETERS%==xx ( echo no input paramter, use default build setting ) else ( echo build option is: %PARAMETERS% ) set parameterStr=%PARAMETERS% :parameterSplit for /f "tokens=1,* delims=-" %%a in ("%parameterStr%") do ( set parameterStr=%%b echo %%a | findstr /r "j[0-9]*[0-9]\>" > nul if !errorlevel!==0 ( set JOBNUMBER=%%a ) if "%%a"=="qcom" ( set CUST=qcom ) if "%%a"=="ec718_0h00" ( set BOARD_NAME=ec718_0h00 set CHIP_NAME=ec7xx set OUTPUT_NAME=ec718_0h00_%CHIP_TYPE% ) if "%%a"=="bootloader" ( set PROJECT_NAME=bootloader set BUILD_OPTION=no_merge ) if "%%a"=="ap" ( set CORE_NAME=ap set BUILD_OPTION=no_merge ) if "%%a"=="cp" ( set CORE_NAME=cp set PROJECT_NAME=cp_project set BUILD_OPTION=no_merge ) if "%%a"=="pwrTest" ( set PWR_TEST=true ) if "%%a"=="nb_mode" ( set EUTRAN_MODE=nb_mode ) if "%%a"=="at_command" ( set PROJECT_NAME=at_command ) if "%%a"=="socket_example" ( set PROJECT_NAME=socket_example ) if "%%a"=="mqtt_example" ( set PROJECT_NAME=mqtt_example ) if "%%a"=="https_example" ( set PROJECT_NAME=https_example ) if "%%a"=="ssl_example" ( set PROJECT_NAME=ssl_example ) if "%%a"=="libapi_example" ( set PROJECT_NAME=libapi_example ) if "%%a"=="pos_example" ( set PROJECT_NAME=pos_example ) if "%%a"=="tts_example" ( set PROJECT_NAME=tts_example ) if "%%a"=="audio_example" ( set PROJECT_NAME=audio_example ) if "%%a"=="lpuart_test" ( set PROJECT_NAME=lpuart_test ) if "%%a"=="driver_example" ( set PROJECT_NAME=driver_example set BUILD_OPTION=merge ) if "%%a"=="dhrystone" ( set PROJECT_NAME=dhrystone ) if "%%a"=="coremark" ( set PROJECT_NAME=coremark ) if "%%a"=="slpman_example" ( set PROJECT_NAME=slpman_example ) if "%%a"=="sleep_example" ( set PROJECT_NAME=sleep_example ) if "%%a"=="slpPressure_test" ( set PROJECT_NAME=slpPressure_test set BUILD_OPTION=no_merge set LTO_ENABLE=false ) if "%%a"=="ChipIpTest" ( set PROJECT_NAME=ChipIpTest set BUILD_OPTION=no_merge set LTO_ENABLE=false ) if "%%a"=="ModemSlpPressure" ( set CORE_NAME=cp set PROJECT_NAME=ModemSlpPressure set BUILD_OPTION=no_merge set LTO_ENABLE=false ) if "%%a"=="mcu_example" ( set PROJECT_NAME=mcu_example ) if "%%a"=="soc_simple" ( set PROJECT_NAME=soc_simple ) if "%%a"=="soc_bist" ( set PROJECT_NAME=soc_bist ) if "%%a"=="simo_test" ( set PROJECT_NAME=simo_test ) if "%%a"=="clk_verify" ( set PROJECT_NAME=clk_verify ) if "%%a"=="qspi_test" ( set PROJECT_NAME=qspi_test ) if "%%a"=="fpga_sct_utfw" ( set PROJECT_NAME=fpga_sct_utfw ) if "%%a"=="spi_2boards" ( set PROJECT_NAME=spi_2boards ) if "%%a"=="merge" ( set BUILD_OPTION=merge ) if "%%a"=="sdkrel" ( set SDKREL=true ) if "%%a"=="lto" ( set LTO_ENABLE=true ) if "%%a"=="open_cpu" ( set OPENCPU=true set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" ) if "%%a"=="audio" ( set AUDIO_ENABLE=true set OPENCPU=true set CPBIN_SUBPATH=audio ) if "%%a"=="ims" ( set IMS_ENABLE=true set AUDIO_ENABLE=true set OPENCPU=true set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims" set CPBIN_SUBPATH=audio ) if "%%a"=="imsfix" ( set IMS_ENABLE=true set AUDIO_ENABLE=true set OPENCPU=true set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims" set CPBIN_SUBPATH=audio set AUDIO_FIX_ENABLE=true ) if "%%a"=="isms" ( set IMS_SMSONLY_ENABLE=true set OPENCPU=true set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\isms" ) if "%%a"=="socket_demo" ( set PROJECT_NAME=socket_demo set BOARD_NAME=ec7xx_ref_1h00 set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE% set IMS_ENABLE=false set AUDIO_ENABLE=false set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" set CPBIN_SUBPATH=oc set EX_BIN_DEPEND=false set LFS_EX_DEPEND=false ) if "%%a"=="http_demo" ( set PROJECT_NAME=http_demo set BOARD_NAME=ec7xx_ref_1h00 set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE% set IMS_ENABLE=false set AUDIO_ENABLE=false set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" set CPBIN_SUBPATH=oc set EX_BIN_DEPEND=false set LFS_EX_DEPEND=false ) if "%%a"=="driver_example" ( set PROJECT_NAME=driver_example set BOARD_NAME=ec7xx_ref_1h00 set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE% set IMS_ENABLE=false set AUDIO_ENABLE=false set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" set CPBIN_SUBPATH=oc set EX_BIN_DEPEND=true ) if "%%a"=="fs_demo" ( set PROJECT_NAME=fs_demo set BOARD_NAME=ec7xx_ref_1h00 set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE% set IMS_ENABLE=false set AUDIO_ENABLE=false set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" set CPBIN_SUBPATH=oc set EX_BIN_DEPEND=false set LFS_EX_DEPEND=false ) if "%%a"=="time_demo" ( set PROJECT_NAME=time_demo set BOARD_NAME=ec7xx_ref_1h00 set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE% set IMS_ENABLE=false set AUDIO_ENABLE=false set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" set CPBIN_SUBPATH=oc set EX_BIN_DEPEND=false set LFS_EX_DEPEND=false ) if "%%a"=="volte_demo" ( set PROJECT_NAME=volte_demo set BOARD_NAME=ec7xx_ref_1h00 set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE% set IMS_ENABLE=true set AUDIO_ENABLE=true set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims" set CPBIN_SUBPATH=audio set EX_BIN_DEPEND=false set LFS_EX_DEPEND=true ) if "%%a"=="watch" ( set PROJECT_NAME=watch set OPENCPU=true set IMS_ENABLE=true set AUDIO_ENABLE=true set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims" set CPBIN_SUBPATH=audio set LFS_EX_DEPEND=true ) if "%%a"=="ref_app" ( set PROJECT_NAME=ref_app set IMS_ENABLE=true set AUDIO_ENABLE=true set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims" set CPBIN_SUBPATH=audio set LFS_EX_DEPEND=true ) if "%%a"=="ref_min" ( set PROJECT_NAME=ref_min set BOARD_NAME=ec7xx_ref_1h00 set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE% set IMS_ENABLE=false set AUDIO_ENABLE=false set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" set CPBIN_SUBPATH=oc set EX_BIN_DEPEND=false set LFS_EX_DEPEND=false ) if "%%a"=="audio_demo" ( set PROJECT_NAME=audio_demo set BOARD_NAME=ec7xx_ref_1h00 set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE% set OPENCPU=true set IMS_ENABLE=true set AUDIO_ENABLE=true set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims" set CPBIN_SUBPATH=audio set EX_BIN_DEPEND=false set LFS_EX_DEPEND=true ) if "%%a"=="video_demo" ( set PROJECT_NAME=video_demo set BOARD_NAME=ec7xx_ref_1h00 set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE% set IMS_ENABLE=false set AUDIO_ENABLE=true set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" set CPBIN_SUBPATH=audio set EX_BIN_DEPEND=false set LFS_EX_DEPEND=true ) if "%%a"=="camera_demo" ( set PROJECT_NAME=camera_demo ) if "%%a"=="drv_demo" ( set PROJECT_NAME=drv_demo set IMS_ENABLE=false set AUDIO_ENABLE=false set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" set CPBIN_SUBPATH=oc set LFS_EX_DEPEND=false ) if "%%a"=="lcd_demo" ( set PROJECT_NAME=lcd_demo set IMS_ENABLE=false set AUDIO_ENABLE=false set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" set CPBIN_SUBPATH=oc set EX_BIN_DEPEND=false set LFS_EX_DEPEND=false ) if "%%a"=="alipay_demo" ( set PROJECT_NAME=alipay_demo set IMS_ENABLE=false set AUDIO_ENABLE=false set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" set CPBIN_SUBPATH=oc set EX_BIN_DEPEND=false set LFS_EX_DEPEND=true ) if "%%a"=="jpeg_demo" ( set PROJECT_NAME=jpeg_demo set IMS_ENABLE=false set AUDIO_ENABLE=false set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" set CPBIN_SUBPATH=oc set EX_BIN_DEPEND=false set LFS_EX_DEPEND=true ) if "%%a"=="slp_demo" ( set PROJECT_NAME=slp_demo set BOARD_NAME=ec7xx_ref_1h00 set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE% set IMS_ENABLE=false set AUDIO_ENABLE=false set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc" set CPBIN_SUBPATH=oc set EX_BIN_DEPEND=false set LFS_EX_DEPEND=false ) if "%%a"=="gnss_demo" ( set PROJECT_NAME=gnss_demo set BOARD_NAME=ec7xx_ref_1h00 set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE% set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims" set CPBIN_SUBPATH=audio set EX_BIN_DEPEND=false set LFS_EX_DEPEND=false ) if "%%a"=="ui_test" ( set PROJECT_NAME=ui_test set IMS_ENABLE=true set AUDIO_ENABLE=true set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims" set CPBIN_SUBPATH=audio set LFS_EX_DEPEND=true ) if "%%a"=="phone" ( set PROJECT_NAME=phone set BOARD_NAME=ec7xx_ref_1h00 set IMS_ENABLE=true set AUDIO_ENABLE=true set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims" set CPBIN_SUBPATH=audio set LFS_EX_DEPEND=true ) if "%%a"=="subsys_test" ( set PROJECT_NAME=subsys_test set BOARD_NAME=ec7xx_ref_1h00 set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE% set IMS_ENABLE=true set AUDIO_ENABLE=true set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims" set CPBIN_SUBPATH=audio set EX_BIN_DEPEND=false set LFS_EX_DEPEND=true ) if "%%a"=="verbose" ( set VERBOSE=1 ) else ( set VERBOSE=0 ) if "%%a"=="secboot" ( set BUILD_HEADBIN=true for /f "tokens=1* delims=" %%a in ('type ".\project\%BOARD_NAME%\ap\apps\bootloader\GCC\Makefile"') do ( if "%%a" equ "CONFIG_PROJ_APP_SECURITY_BOOT = n" ( echo CONFIG_PROJ_APP_SECURITY_BOOT=y ) else ( echo %%a ) )>>temp.txt type temp.txt | findstr /v ECHO >>temp1.txt del temp.txt move temp1.txt ".\project\%BOARD_NAME%\ap\apps\bootloader\GCC\Makefile" >nul ) ) set DEST_DIR=.\project\%BOARD_NAME%\ap\apps\%PROJECT_NAME% if "%LFS_EX_DEPEND%"=="true" ( if "%PROJECT_NAME%"=="ref_app" ( REM 删除之前打包已被修改的ex_lfs.bin和merged.bin文件 if exist %DEST_DIR%\lfs\ex_lfs.bin ( del %DEST_DIR%\lfs\ex_lfs.bin ) if exist %DEST_DIR%\bin\merged.bin ( del %DEST_DIR%\bin\merged.bin ) REM 复制干净的ex_2m5.lfs到lfs目录并修改命名,源文件不动 copy %DEST_DIR%\lfs\ext_lfs_2M5.bin %DEST_DIR%\lfs\ex_lfs.bin python .\testscript\refapp.py %DEST_DIR%\bin %DEST_DIR%\bin merged ) else if "%PROJECT_NAME%"=="watch" ( if exist testscript\watch.bat ( call .\testscript\watch.bat ) ) else ( REM 调用merge.py脚本合并文件 python .\testscript\package\merge.py .\testscript\package\merge %DEST_DIR%\lfs merged copy %DEST_DIR%\lfs\ext_lfs_2M5.bin %DEST_DIR%\lfs\ex_lfs.bin ) ) if not "%parameterStr%"=="" goto parameterSplit echo curr Board is: %BOARD_NAME% echo curr Chip is: %CHIP_NAME% echo curr Type is: %CHIP_TYPE% echo curr Project is: %PROJECT_NAME% echo curr core is: %CORE_NAME% echo curr option is: %BUILD_OPTION% echo cp bin subpath: %CPBIN_SUBPATH% rem duplicate comdblib.txt from 'COMDBLIB_PATH' to '.\tools\' if exist %COMDBLIB_PATH%\comdblib.txt ( xcopy /f /y %COMDBLIB_PATH%\comdblib.txt .\tools\ ) if "%CUST%"=="qcom" ( rem clear AT ref for qcom for /f "tokens=1* delims=" %%a in ('type ".\device\target\board\%BOARD_NAME%\ap\%BOARD_NAME%_ap.mk"') do ( if "%%a" equ "PS_AT_REF=y" ( echo PS_AT_REF=n ) else if "%%a" equ "BUILD_AT_REF ?=n" ( echo BUILD_AT_REF=n ) else ( echo %%a ) )>>temp.txt type temp.txt | findstr /v ECHO >>temp1.txt del temp.txt move temp1.txt ".\device\target\board\%BOARD_NAME%\ap\%BOARD_NAME%_ap.mk" >nul ) rem --------- if more board/project add here------------- rem --------- board/project parsing end------------------ echo PARAMETERS: %PARAMETERS% | findstr "help" if not errorlevel 1 ( echo "==============================================================================================" echo " " echo " >> HOW TO BUILD A PROJECT << " echo " " echo "==============================================================================================" echo " " echo " @FORMAT : Gccbuild.bat [[-[-[-