You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

90 lines
2.2 KiB

@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