build-all.sh 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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 -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. # Editor Lib
  66. make -f Makefile.library.mak $ACTION TARGET=$TARGET ASSEMBLY=editor_lib VER_MAJOR=0 VER_MINOR=1 DO_VERSION=no 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. # Editor
  73. make -f Makefile.executable.mak $ACTION TARGET=$TARGET ASSEMBLY=editor 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. # Tests
  80. make -f Makefile.executable.mak $ACTION TARGET=$TARGET ASSEMBLY=tests ADDL_INC_FLAGS="-I./engine/src" ADDL_LINK_FLAGS="-lengine"
  81. ERRORLEVEL=$?
  82. if [ $ERRORLEVEL -ne 0 ]
  83. then
  84. echo "Error:"$ERRORLEVEL | sed -e "s/Error/${txtred}Error${txtrst}/g" && exit
  85. fi
  86. # Tools
  87. make -f Makefile.executable.mak $ACTION TARGET=$TARGET ASSEMBLY=tools ADDL_INC_FLAGS="-I./engine/src" ADDL_LINK_FLAGS="-lengine"
  88. ERRORLEVEL=$?
  89. if [ $ERRORLEVEL -ne 0 ]
  90. then
  91. echo "Error:"$ERRORLEVEL | sed -e "s/Error/${txtred}Error${txtrst}/g" && exit
  92. fi
  93. echo "All assemblies $ACTION_STR_PAST successfully on $PLATFORM ($TARGET)." | sed -e "s/successfully/${txtgrn}successfully${txtrst}/g"