build-all.sh 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #!/bin/bash
  2. # Build script for cleaning and/or building everything
  3. PLATFORM="$1"
  4. ACTION="$2"
  5. TARGET="$3"
  6. set echo off
  7. txtgrn=$(echo -e '\e[0;32m')
  8. txtred=$(echo -e '\e[0;31m')
  9. txtrst=$(echo -e '\e[0m')
  10. if [ $ACTION = "all" ] || [ $ACTION = "build" ]
  11. then
  12. ACTION="all"
  13. ACTION_STR="Building"
  14. ACTION_STR_PAST="built"
  15. DO_VERSION="yes"
  16. elif [ $ACTION = "clean" ]
  17. then
  18. ACTION="clean"
  19. ACTION_STR="Cleaning"
  20. ACTION_STR_PAST="cleaned"
  21. DO_VERSION="no"
  22. else
  23. echo "Unknown action $ACTION. Aborting" && exit
  24. fi
  25. echo "$ACTION_STR everything on $PLATFORM ($TARGET)..."
  26. # Version Generator
  27. make -f Makefile.executable.mak $ACTION TARGET=$TARGET ASSEMBLY=versiongen
  28. ERRORLEVEL=$?
  29. if [ $ERRORLEVEL -ne 0 ]
  30. then
  31. echo "error:"$errorlevel | sed -e "s/error/${txtred}error${txtrst}/g" && exit
  32. fi
  33. # Engine
  34. make -f Makefile.library.mak $ACTION TARGET=$TARGET ASSEMBLY=engine VER_MAJOR=0 VER_MINOR=1 DO_VERSION=$DO_VERSION
  35. ERRORLEVEL=$?
  36. if [ $ERRORLEVEL -ne 0 ]
  37. then
  38. echo "error:"$errorlevel | sed -e "s/error/${txtred}error${txtrst}/g" && exit
  39. fi
  40. # Vulkan Renderer Lib
  41. if [ $PLATFORM = 'macos' ]
  42. then
  43. VULKAN_SDK=/usr/local/
  44. fi
  45. make -f Makefile.library.mak $ACTION TARGET=$TARGET ASSEMBLY=vulkan_renderer VER_MAJOR=0 VER_MINOR=1 DO_VERSION=no ADDL_INC_FLAGS="-I./engine/src -I$VULKAN_SDK/include" ADDL_LINK_FLAGS="-lengine -lvulkan -lshaderc_shared -lspirv-cross-c-shared -L$VULKAN_SDK/lib"
  46. ERRORLEVEL=$?
  47. if [ $ERRORLEVEL -ne 0 ]
  48. then
  49. echo "error:"$errorlevel | sed -e "s/error/${txtred}error${txtrst}/g" && exit
  50. fi
  51. # Testbed Lib
  52. make -f Makefile.library.mak $ACTION TARGET=$TARGET ASSEMBLY=testbed_lib VER_MAJOR=0 VER_MINOR=1 DO_VERSION=no ADDL_INC_FLAGS="-I./engine/src" ADDL_LINK_FLAGS="-lengine"
  53. ERRORLEVEL=$?
  54. if [ $ERRORLEVEL -ne 0 ]
  55. then
  56. echo "Error:"$ERRORLEVEL | sed -e "s/Error/${txtred}Error${txtrst}/g" && exit
  57. fi
  58. # Testbed
  59. make -f Makefile.executable.mak $ACTION TARGET=$TARGET ASSEMBLY=testbed ADDL_INC_FLAGS="-I./engine/src" ADDL_LINK_FLAGS="-lengine"
  60. ERRORLEVEL=$?
  61. if [ $ERRORLEVEL -ne 0 ]
  62. then
  63. echo "Error:"$ERRORLEVEL | sed -e "s/Error/${txtred}Error${txtrst}/g" && exit
  64. fi
  65. # Tests
  66. make -f Makefile.executable.mak $ACTION TARGET=$TARGET ASSEMBLY=tests ADDL_INC_FLAGS="-I./engine/src" ADDL_LINK_FLAGS="-lengine"
  67. ERRORLEVEL=$?
  68. if [ $ERRORLEVEL -ne 0 ]
  69. then
  70. echo "Error:"$ERRORLEVEL | sed -e "s/Error/${txtred}Error${txtrst}/g" && exit
  71. fi
  72. # Tools
  73. make -f Makefile.executable.mak $ACTION TARGET=$TARGET ASSEMBLY=tools ADDL_INC_FLAGS="-I./engine/src" ADDL_LINK_FLAGS="-lengine"
  74. ERRORLEVEL=$?
  75. if [ $ERRORLEVEL -ne 0 ]
  76. then
  77. echo "Error:"$ERRORLEVEL | sed -e "s/Error/${txtred}Error${txtrst}/g" && exit
  78. fi
  79. echo "All assemblies $ACTION_STR_PAST successfully on $PLATFORM ($TARGET)." | sed -e "s/successfully/${txtgrn}successfully${txtrst}/g"