@echo off echo **************************************************************************** echo One-click compilation echo 2024.1.26 echo author:xx echo **************************************************************************** rem keil-arm/keil-c51 set COMPILE_SELECT="KEIL-ARM" echo COMPILE_SELECT=%COMPILE_SELECT% if %COMPILE_SELECT% == "KEIL-ARM" ( set PROJECT_SUFFIX=.uvprojx ) else ( set PROJECT_SUFFIX=.uvproj ) echo PROJECT_SUFFIX=%PROJECT_SUFFIX% set BUILD_MDK_PATH=%1 echo BUILD_MDK_PATH=%BUILD_MDK_PATH% set PROJECT_PATH=%2 echo PROJECT_PATH=%PROJECT_PATH% set PROJECT_NAME=%3 echo PROJECT_NAME=%PROJECT_NAME% set COMPILE_FLAG=%5 echo COMPILE_FLAG=%COMPILE_FLAG% set CLEAN_NAME=%4 echo CLEAN_NAME=%CLEAN_NAME% cd %PROJECT_PATH% if %COMPILE_FLAG% == -r ( call %PROJECT_PATH%\%CLEAN_NAME%.bat ) set OUTPUT_NAME=%PROJECT_NAME%.hex echo OUTPUT_NAME=%OUTPUT_NAME% set HEX_NAME=%PROJECT_NAME%_*.hex echo HEX_NAME=%HEX_NAME% set OBJECT_PATH=%PROJECT_PATH%\Objects set OUTPUT_PATH=%PROJECT_PATH%\output set LISTINGS_PATH=.\Listings echo OBJECT_PATH=%OBJECT_PATH% echo OUTPUT_PATH=%OUTPUT_PATH% echo LISTINGS_PATH=%LISTINGS_PATH% :BuildProject set BUILD_TOOL=%BUILD_MDK_PATH%\UV4\UV4.exe set AXF_TOOL=%BUILD_MDK_PATH%\ARM\ARMCC\bin\fromelf.exe echo %BUILD_TOOL% echo %AXF_TOOL% echo **************************************************************************** echo * compilating * echo **************************************************************************** echo %PROJECT_PATH%\%PROJECT_NAME%%PROJECT_SUFFIX% echo building ... %BUILD_TOOL% -j0 %COMPILE_FLAG% %PROJECT_PATH%\%PROJECT_NAME%%PROJECT_SUFFIX% -o %PROJECT_PATH%\build_log.log type %PROJECT_PATH%\build_log.log del %PROJECT_PATH%\*.log cd %OBJECT_PATH% if not exist "%HEX_NAME%" ( echo ******************************** echo * builded fail * echo ******************************** ) else ( echo ************************************* echo * builded PASS * echo ************************************* ) :Eof