build.sh 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #
  2. # Copyright (C) 2019 Intel Corporation. All rights reserved.
  3. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. #
  5. #!/bin/bash
  6. PROJECT_DIR=$PWD
  7. WAMR_DIR=${PWD}/../..
  8. OUT_DIR=${PWD}/out
  9. BUILD_DIR=${PWD}/build
  10. LV_CFG_PATH=${PROJECT_DIR}/lv_config
  11. if [ -z $KW_BUILD ] || [ -z $KW_OUT_FILE ];then
  12. echo "Local Build Env"
  13. cmakewrap="cmake"
  14. makewrap="make"
  15. else
  16. echo "Klocwork Build Env"
  17. cmakewrap="cmake -DCMAKE_BUILD_TYPE=Debug"
  18. makewrap="kwinject -o $KW_OUT_FILE make"
  19. fi
  20. if [ ! -d $BUILD_DIR ]; then
  21. mkdir ${BUILD_DIR}
  22. fi
  23. rm -rf ${OUT_DIR}
  24. mkdir ${OUT_DIR}
  25. cd ${BUILD_DIR}
  26. if [ ! -d "lvgl" ]; then
  27. echo "starting download lvgl for v5.3 ..."
  28. git clone https://github.com/lvgl/lvgl.git --branch v5.3
  29. if [ $? != 0 ];then
  30. echo "download lvgl repo failed: $?\n"
  31. exit 2
  32. fi
  33. fi
  34. echo "##################### 0. build wamr-sdk littlevgl start#####################"
  35. cd ${WAMR_DIR}/wamr-sdk
  36. ./build_sdk.sh -n littlevgl -x ${PROJECT_DIR}/wamr_config_littlevgl.cmake -e ${LV_CFG_PATH} -c
  37. [ $? -eq 0 ] || exit $?
  38. echo "#####################build wamr-sdk littlevgl success"
  39. echo -e "\n\n"
  40. echo "##################### 1. build native-ui-app start#####################"
  41. cd $BUILD_DIR
  42. mkdir -p vgl-native-ui-app
  43. cd vgl-native-ui-app
  44. $cmakewrap ${PROJECT_DIR}/vgl-native-ui-app
  45. $makewrap
  46. if [ $? != 0 ];then
  47. echo "BUILD_FAIL native-ui-app $?\n"
  48. exit 2
  49. fi
  50. echo $PWD
  51. cp vgl_native_ui_app ${OUT_DIR}
  52. echo "#####################build native-ui-app success"
  53. echo -e "\n\n"
  54. echo "##################### 2. build littlevgl wasm runtime start#####################"
  55. cd $BUILD_DIR
  56. mkdir -p vgl-wasm-runtime
  57. cd vgl-wasm-runtime
  58. $cmakewrap ${PROJECT_DIR}/vgl-wasm-runtime
  59. $makewrap
  60. [ $? -eq 0 ] || exit $?
  61. cp vgl_wasm_runtime ${OUT_DIR}/
  62. echo "##################### build littlevgl wasm runtime end#####################"
  63. echo -e "\n\n"
  64. echo "#####################build host-tool"
  65. cd $BUILD_DIR
  66. mkdir -p host-tool
  67. cd host-tool
  68. $cmakewrap ${WAMR_DIR}/test-tools/host-tool
  69. $makewrap
  70. if [ $? != 0 ];then
  71. echo "BUILD_FAIL host tool exit as $?\n"
  72. exit 2
  73. fi
  74. cp host_tool ${OUT_DIR}
  75. echo "#####################build host-tool success"
  76. echo -e "\n\n"
  77. echo "##################### 3. build wasm ui app start#####################"
  78. cd ${PROJECT_DIR}/wasm-apps
  79. if [ ! -d "${PROJECT_DIR}/wasm-apps/lvgl" ]; then
  80. if [ -d "$BUILD_DIR/vgl-native-ui-app/lvgl" ]; then
  81. cp -fr $BUILD_DIR/vgl-native-ui-app/lvgl ${PROJECT_DIR}/wasm-apps
  82. fi
  83. fi
  84. ./build_wasm_app.sh
  85. mv *.wasm ${OUT_DIR}/
  86. echo "##################### build wasm ui app end#####################"