Imported Upstream version 1.12.0
[platform/core/ml/nnfw.git] / infra / scripts / docker_build_cross_coverage.sh
1 #!/bin/bash
2
3 [[ "${BASH_SOURCE[0]}" != "${0}" ]] && echo "Please don't source ${BASH_SOURCE[0]}, execute it" && return
4
5 CURRENT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6 ROOT_PATH="$CURRENT_PATH/../../"
7
8 # prepare rootfs
9 if [ -z "$ROOTFS_DIR" ] || [ ! -d $ROOTFS_DIR ]; then
10   echo "It will use default rootfs path"
11 else
12   DOCKER_VOLUMES+=" -v $ROOTFS_DIR:/opt/rootfs"
13   DOCKER_ENV_VARS+=" -e ROOTFS_DIR=/opt/rootfs"
14 fi
15
16 # mount volume (or directory) for externals
17 if [ -n "$EXTERNAL_VOLUME" ]; then
18   DOCKER_VOLUMES+=" -v $EXTERNAL_VOLUME:/externals"
19   DOCKER_ENV_VARS+=" -e EXTERNAL_VOLUME=/externals"
20 else
21   echo "It will use default external path"
22 fi
23
24 # docker image name
25 # - for xenial, use DOCKER_IMAGE_NAME="nnfw/one-devtools:xenial"
26 # - for bionic, use DOCKER_IMAGE_NAME="nnfw/one-devtools:bionic"
27 if [[ -z $DOCKER_IMAGE_NAME ]]; then
28   echo "It will use default docker image name"
29 fi
30
31 # Mirror server setting
32 if [[ -z $EXTERNAL_DOWNLOAD_SERVER ]]; then
33   echo "It will not use mirror server"
34 fi
35
36 NNAS_WORKSPACE=${NNAS_WORKSPACE:-build}
37 if [[ -z "${ARCHIVE_PATH}" ]]; then
38   ARCHIVE_PATH=${NNAS_WORKSPACE}/archive
39 fi
40
41 DOCKER_ENV_VARS+=" -e TARGET_ARCH=armv7l"
42 DOCKER_ENV_VARS+=" -e CROSS_BUILD=1"
43 DOCKER_ENV_VARS+=" -e COVERAGE_BUILD=1"
44
45 set -e
46
47 pushd $ROOT_PATH > /dev/null
48
49 # TODO use command instead of makefile
50 export DOCKER_ENV_VARS
51 export DOCKER_VOLUMES
52 CMD="cp -nv Makefile.template Makefile && \
53      make all install build_coverage_suite"
54 ./nnfw docker-run bash -c "$CMD"
55
56 mkdir -p ${ARCHIVE_PATH}
57 # TODO change workspace usage in makefile
58 mv Product/out/coverage-suite.tar.gz ${ARCHIVE_PATH}/
59
60 popd > /dev/null