3 SCRIPT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5 if [[ -z "${NNAS_PROJECT_PATH}" ]]; then
6 echo "ERROR: NNAS_PROJECT_PATH is not specified"
14 while [ "$#" -ne 0 ]; do
19 NNAS_INSTALL_PREFIX="$2"
28 while [ "$#" -ne 0 ]; do
34 echo "ERROR: '${CUR}' is invalid"
40 # Q. Is it better to have the default value for NNAS_INSTALL_PREFIX?
42 if [[ -z "${NNAS_INSTALL_PREFIX}" ]]; then
43 echo "ERROR: --prefix is not specified"
47 PRESET_PATH="${SCRIPT_PATH}/preset/${PRESET}"
49 if [[ ! -f "${PRESET_PATH}" ]]; then
50 echo "ERROR: ${PRESET} is unavailable"
51 # TODO Show available presets
55 echo "-- Use '${PRESET}' SDK preset"
57 source "${PRESET_PATH}"
59 # Normalize to absolute path
60 if [[ "${NNAS_INSTALL_PREFIX}" != /* ]]; then
61 NNAS_INSTALL_PREFIX=${PWD}/${NNAS_INSTALL_PREFIX}
64 if [[ -z "${NNAS_BUILD_PREFIX}" ]]; then
65 # Create a temporary directory and use it!
66 NNAS_BUILD_PREFIX=$(mktemp -d)
67 trap "{ rm -rf $NNAS_BUILD_PREFIX; }" EXIT
70 # Create a release directory
71 mkdir -p "${NNAS_INSTALL_PREFIX}"
73 # Build and Install NNCC
74 NNCC_BUILD_PREFIX="${NNAS_BUILD_PREFIX}/nncc"
75 NNCC_INSTALL_PREFIX="${NNAS_INSTALL_PREFIX}"
77 mkdir -p "${NNCC_BUILD_PREFIX}"
78 cd "${NNCC_BUILD_PREFIX}"
82 local IFS="$1"; shift; echo "$*"
85 # Invoke "preset_configure" function that the preset provides
88 NPROC=$(cat /proc/cpuinfo | grep -c processor)
89 cmake --build . -- -j$((NPROC/2)) all
90 cmake --build . -- install
91 # Install NN Package tools
92 NNPKG_INSTALL_PREFIX="${NNAS_INSTALL_PREFIX}"
94 # Invoke "preset_install" function that the preset provides