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
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
|
|
|