1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 11:38:21 +02:00
Beef/bin/build.bat
2020-10-27 12:28:23 -07:00

91 lines
3.5 KiB
Batchfile

@ECHO --------------------------- Beef Build.Bat Version 5 ---------------------------
@SET P4_CHANGELIST=%1
PUSHD %~dp0..\
@SET MSBUILD_FLAGS=
@IF "%1" NEQ "clean" goto BUILD
@SET MSBUILD_FLAGS=/t:Clean,Build
@ECHO Performing clean build
:BUILD
@IF EXIST stats GOTO STATS_HAS
mkdir stats
:STATS_HAS
@IF EXIST extern\llvm-project_11_0_0 GOTO LLVM_HAS
call extern\llvm_build.bat
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
:LLVM_HAS
@IF EXIST IDE\dist\llvm\bin\lld-link.exe GOTO LLD_HAS
@ECHO ========== MISSING LLVM TOOLS ==========
@ECHO IDE\dist\llvm\bin\lld-link.exe not found. Copy in from a Beef install or an LLVM/Clang install.
@GOTO HADERROR
:LLD_HAS
CALL bin/msbuild.bat BeefySysLib\BeefySysLib.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
CALL bin/msbuild.bat BeefySysLib\BeefySysLib.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
CALL bin/msbuild.bat IDEHelper\IDEHelper.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
CALL bin/msbuild.bat IDEHelper\IDEHelper.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
CALL bin/build_rt.bat %1
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
CALL bin/msbuild.bat BeefBoot\BeefBoot.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
CALL bin/msbuild.bat BeefBoot\BeefBoot.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
@ECHO Building BeefBuild_bootd
IDE\dist\BeefBoot_d.exe --out="IDE\dist\BeefBuild_bootd.exe" --src=IDE\src --src=BeefBuild\src --src=BeefLibs\corlib\src --src=BeefLibs\Beefy2D\src --define=CLI --define=DEBUG --startup=BeefBuild.Program --linkparams="Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib IDE\dist\Beef042RT64_d.lib IDE\dist\IDEHelper64_d.lib IDE\dist\BeefySysLib64_d.lib"
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
@ECHO Building BeefBuild_boot
IDE\dist\BeefBoot.exe --out="IDE\dist\BeefBuild_boot.exe" --src=IDE\src --src=BeefBuild\src --src=BeefLibs\corlib\src --src=BeefLibs\Beefy2D\src --define=CLI --define=RELEASE --startup=BeefBuild.Program --linkparams="Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib IDE\dist\Beef042RT64.lib IDE\dist\IDEHelper64.lib IDE\dist\BeefySysLib64.lib"
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
@ECHO Building BeefBuild_d
IDE\dist\BeefBuild_boot -proddir=BeefBuild -config=Debug
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
@ECHO Building BeefBuild
IDE\dist\BeefBuild_d -proddir=BeefBuild -config=Release
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
@ECHO Building IDE_bfd
@SET STATS_FILE=stats\IDE_Debug_build.csv
bin\RunWithStats IDE\dist\BeefBuild -proddir=IDE -clean -config=Debug_NoDeps
IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
@ECHO Building IDE_bf
@SET STATS_FILE=stats\IDE_Release_build.csv
bin\RunWithStats IDE\dist\BeefBuild -proddir=IDE -clean -config=Release
IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
@ECHO Building RandoCode
IDE\dist\BeefBuild_d -proddir=BeefTools\RandoCode -config=Release
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
@ECHO Building BeefPerf
IDE\dist\BeefBuild_d -proddir=BeefTools\BeefPerf -config=Release
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
:SUCCESS
@ECHO SUCCESS!
@POPD
@EXIT /b 0
:HADERROR
@ECHO =================FAILED=================
@POPD
@EXIT /b %ERRORLEVEL%