[Feature] add GA346 baseline version
Change-Id: Ic62933698569507dcf98240cdf5d9931ae34348f
diff --git a/src/tinysys/medmcu/tools/build_tinysys.sh b/src/tinysys/medmcu/tools/build_tinysys.sh
new file mode 100755
index 0000000..d252e77
--- /dev/null
+++ b/src/tinysys/medmcu/tools/build_tinysys.sh
@@ -0,0 +1,109 @@
+#!/bin/bash
+###############################################################################
+# This script provides the customer a quick way to build Tiny System from
+# source.
+###############################################################################
+
+PROG=$(basename ${0})
+
+usage() {
+ cat >&2 <<- EOF
+USAGE
+ ${PROG} [-h] [...]
+
+ This script provides a quicker way to build tinysys.
+
+PREREQUISITE
+ The Android environment must be initialize.
+ That is, you need to run those steps at least once:
+ $ cd <ANDROID_ROOT_DIR>
+ $ . buid/envsetup.sh
+ $ lunch
+
+ This script must be executed in Android top directory.
+
+OPTIONS
+ -h Print this help message
+
+Other options for GNU make or build targets can be provided.
+For example:
+ clean Clean up all built directories and objects
+ configheader Generate C header that contains all config options
+ -jN Run N parallel build tasks
+EOF
+
+exit 1
+}
+
+info() {
+ echo "${PROG}: [INFO] ${*}"
+}
+
+error() {
+ echo "${PROG}: [ERROR] ${*}"
+ exit 1
+}
+
+check_Android_env() {
+ if [ -z "${ANDROID_PRODUCT_OUT}" ] || [ -z "${TARGET_PRODUCT}" ] ; then
+ cat >&2 <<- EOF
+[ERROR] Android environment is not ready yet.
+
+Please make sure build/envsetup.sh is sourced and lunch is executed.
+EOF
+ return 1
+ fi
+
+ return 0
+}
+
+run_build_cmd() {
+ echo "Build command: ${*}"
+ eval "${*}" || exit 1
+}
+
+#######################################
+# Main
+#######################################
+TINYSYS_ROOT='tinysys/medmcu'
+TINYSYS_TARGET='tinysys-medmcu'
+#ADSP_TARGET='tinysys-adsp'
+CLEAN_TINYSYS_TARGET="clean-${TINYSYS_TARGET}"
+#CLEAN_ADSP_TARGET="clean-${ADSP_TARGET}"
+TINYSYS_ANDROID_MK="${TINYSYS_ROOT}/Android.mk"
+CLEAN_TARGET=0
+
+# Categorize options
+for i in "${@}"; do
+ case "${i}" in
+ 'clean')
+ KEYWORDS="${KEYWORDS} ${i}"
+ CLEAN_TARGET=1
+ ;;
+ '-h')
+ usage
+ ;;
+ *) CMD_ARGS="${CMD_ARGS} ${i}"
+ esac
+done
+
+check_Android_env || exit 1
+
+# This script must be run in Android root directory
+[ -f 'build/envsetup.sh' ] || \
+ error "Please execute this command in Android top directory"
+
+#######################################
+# Here we build
+#######################################
+BUILD_CMD="ONE_SHOT_MAKEFILE=${TINYSYS_ANDROID_MK} make ${TINYSYS_TARGET} ${CMD_ARGS}"
+CLEAN_CMD="ONE_SHOT_MAKEFILE=${TINYSYS_ANDROID_MK} make ${CLEAN_TINYSYS_TARGET} ${CMD_ARGS}"
+
+
+if [ ${CLEAN_TARGET} -eq 1 ]; then
+ run_build_cmd "${CLEAN_CMD}"
+else
+ run_build_cmd "${BUILD_CMD}"
+fi
+
+exit ${?}