build.bat 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. @ECHO --------------------------- Beef Build.Bat Version 5 ---------------------------
  2. @SET P4_CHANGELIST=%1
  3. PUSHD %~dp0..\
  4. @SET MSBUILD_FLAGS=
  5. @IF "%1" NEQ "clean" goto BUILD
  6. @SET MSBUILD_FLAGS=/t:Clean,Build
  7. @ECHO Performing clean build
  8. :BUILD
  9. @IF EXIST stats GOTO STATS_HAS
  10. mkdir stats
  11. :STATS_HAS
  12. @IF EXIST extern\llvm_win64_13_0_1\_Done.txt GOTO LLVM_HAS
  13. call extern\llvm_build.bat
  14. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  15. :LLVM_HAS
  16. @IF EXIST IDE\dist\llvm\bin\lld-link.exe GOTO LLD_HAS
  17. @ECHO ========== MISSING LLVM TOOLS ==========
  18. @ECHO IDE\dist\llvm\bin\lld-link.exe not found. Copy in from a Beef install or an LLVM/Clang install.
  19. @GOTO HADERROR
  20. :LLD_HAS
  21. CALL bin/msbuild.bat BeefySysLib\BeefySysLib.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
  22. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  23. CALL bin/msbuild.bat BeefySysLib\BeefySysLib.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
  24. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  25. CALL bin/msbuild.bat IDEHelper\IDEHelper.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
  26. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  27. CALL bin/msbuild.bat IDEHelper\IDEHelper.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
  28. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  29. CALL bin/build_rt.bat %1
  30. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  31. CALL bin/msbuild.bat BeefBoot\BeefBoot.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
  32. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  33. CALL bin/msbuild.bat BeefBoot\BeefBoot.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
  34. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  35. @ECHO Building BeefBuild_bootd
  36. 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 --src=BeefLibs\libgit2\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"
  37. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  38. @ECHO Building BeefBuild_boot
  39. IDE\dist\BeefBoot.exe --out="IDE\dist\BeefBuild_boot.exe" --src=IDE\src --src=BeefBuild\src --src=BeefLibs\corlib\src --src=BeefLibs\Beefy2D\src --src=BeefLibs\libgit2\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"
  40. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  41. @ECHO Building BeefBuild_d
  42. IDE\dist\BeefBuild_boot -proddir=BeefBuild -config=Debug
  43. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  44. @ECHO Building BeefBuild
  45. IDE\dist\BeefBuild_d -proddir=BeefBuild -config=Release
  46. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  47. @ECHO Building IDE_bfd
  48. @SET STATS_FILE=stats\IDE_Debug_build.csv
  49. bin\RunWithStats IDE\dist\BeefBuild -proddir=IDE -clean -config=Debug_NoDeps
  50. IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  51. @ECHO Building IDE_bf
  52. @SET STATS_FILE=stats\IDE_Release_build.csv
  53. bin\RunWithStats IDE\dist\BeefBuild -proddir=IDE -clean -config=Release
  54. IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  55. @ECHO Building RandoCode
  56. IDE\dist\BeefBuild_d -proddir=BeefTools\RandoCode -config=Release
  57. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  58. @ECHO Building BeefPerf
  59. IDE\dist\BeefBuild_d -proddir=BeefTools\BeefPerf -config=Release
  60. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  61. :SUCCESS
  62. @ECHO SUCCESS!
  63. @POPD
  64. @EXIT /b 0
  65. :HADERROR
  66. @ECHO =================FAILED=================
  67. @POPD
  68. @EXIT /b %ERRORLEVEL%