#!/bin/bash set -e BENCH_CREATE=no BENCH_UNINSTALL=no usage() { echo -e "\nUsage: ./build_bench.sh [option] \n" echo -e "Available options are:" echo -e "\t-c\t\tCreate test bench" echo -e "\t-u\t\tUninstall the test bench" echo -e "\t-b BOARD\tTarget board: nvcom02-tem|mc24r2-em|mct04em|mc30sf6em|mc0428em-pci|mct03pem|mct06em" echo -e "\t-h\t\tPrint this help message and exit" } checkargs() { if [[ $OPTARG =~ ^-[c/u/h]$ ]] then echo "Unknow argument $OPTARG for option $opt!" ; exit 1 fi } # Source the directory paths DIR="${BASH_SOURCE%/*}" if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi . "${DIR}/project_structure" export PATH=$PATH:$TOOLCHAIN #echo "PATH = " $PATH export PROJECT_OVERLAY_ROOT #echo "PROJECT_OVERLAY_ROOT = " PROJECT_OVERLAY_ROOT if [[ $# > 0 ]] ; then while getopts ":b:hcu" opt do case ${opt} in h ) usage && exit 1 ;; c ) BENCH_CREATE=yes ;; u ) BENCH_UNINSTALL=yes ;; b ) checkargs val=$OPTARG case ${val} in nvcom02-tem ) echo "target board : nvcom02-tem" export TARGET_BOARD="NVCOM02TEM" ;; mc24r2-em ) echo "target board : mc24r2-em" export TARGET_BOARD="MC24R2EM" ;; mct03pem ) echo "target board : mct03pem" export TARGET_BOARD="MCT03PEM" ;; mct06em ) echo "target board : mct06em" export TARGET_BOARD="MCT06EM" ;; mct04em ) echo "target board : mct04em" export TARGET_BOARD="MCT04EM" ;; mc30sf6em ) echo "target board : mc30sf6em" export TARGET_BOARD="MC30SF6EM" ;; mc0428em-pci ) echo "target board : mc0428em-pci" export TARGET_BOARD="MC0428EMPCI" ;; #default: *|? ) echo "Unknown board : " ${opt} usage && exit 1 ;; esac ;; #default: *|? ) echo "Unknown option! " $val usage && exit 1 ;; esac done shift $((OPTIND -1)) else usage exit fi echo "TARGET_BOARD = " ${TARGET_BOARD} cwd=${pwd} case ${TARGET_BOARD} in MC0428EMPCI ) rootfs_dir=${PROJECT_OVERLAY_ROOT}/buildroot/board/elvees_multicore/mc0428em-pci/rootfs_overlay ;; MCT03PEM) rootfs_dir=${PROJECT_OVERLAY_ROOT}/buildroot/board/elvees_multicore/mct03pem/rootfs_overlay ;; MCT06EM) rootfs_dir=${PROJECT_OVERLAY_ROOT}/buildroot/board/elvees_multicore/mct06em/rootfs_overlay ;; MC30SF6EM) rootfs_dir=${PROJECT_OVERLAY_ROOT}/buildroot/board/elvees_multicore/30sf6em/rootfs_overlay ;; MCT04EM) rootfs_dir=${PROJECT_OVERLAY_ROOT}/buildroot/board/elvees_multicore/mct04em/rootfs_overlay ;; MC24R2EM) rootfs_dir=${PROJECT_OVERLAY_ROOT}/buildroot/board/elvees_multicore/mc24r2-em/rootfs_overlay ;; NVCOM02TEM) rootfs_dir=${PROJECT_OVERLAY_ROOT}/buildroot/board/elvees_multicore/nvcom02-tem/rootfs_overlay ;; esac echo "rootfs_dir=" $rootfs_dir export rootfs_dir cd ${rootfs_dir} if [[ ! -d "usr" ]]; then mkdir usr ; cd usr ; mkdir bin ; cd .. fi if [[ ${BENCH_CREATE} == "yes" ]] ; then #build all bench # build linpack cd ${TESTS_PATH}/bench/linpack make -f Makefile-elvees uninstall make -f Makefile-elvees make -f Makefile-elvees install make -f Makefile-elvees clean # build nbench cd ${TESTS_PATH}/bench/nbench-233 make -f Makefile-elvees uninstall make -f Makefile-elvees make -f Makefile-elvees install make -f Makefile-elvees clean # build coremark cd ${TESTS_PATH}/bench/coremark-v1 make -f Makefile-elvees uninstall make -f Makefile-elvees make -f Makefile-elvees install make -f Makefile-elvees clean # build pi cd ${TESTS_PATH}/bench/pi_css5 make -f Makefile-elvees uninstall make -f Makefile-elvees make -f Makefile-elvees install make -f Makefile-elvees clean # build c-ray cd ${TESTS_PATH}/bench/c-ray-11 make -f Makefile-elvees uninstall make -f Makefile-elvees make -f Makefile-elvees install make -f Makefile-elvees clean # copy test scripts cd ${TESTS_PATH}/bench/scripts cp bench-all-cycle.sh ${rootfs_dir}/usr/bin if [[ $TARGET_BOARD != "MCT04EM" ]] ; then cp bench-all.sh ${rootfs_dir}/usr/bin else cp mct04em/bench-all.sh ${rootfs_dir}/usr/bin fi cp S50testbench ${rootfs_dir}/etc/init.d/ cd $cwd exit 0 fi if [[ ${BENCH_UNINSTALL} == "yes" ]] ; then cd ${TESTS_PATH}/bench/linpack make -f Makefile-elvees uninstall # build nbench cd ${TESTS_PATH}/bench/nbench-233 make -f Makefile-elvees uninstall # build coremark cd ${TESTS_PATH}/bench/coremark-v1 make -f Makefile-elvees uninstall # build pi cd ${TESTS_PATH}/bench/pi_css5 make -f Makefile-elvees uninstall # build c-ray cd ${TESTS_PATH}/bench/c-ray-11 make -f Makefile-elvees uninstall rm -fv ${rootfs_dir}/usr/bin/bench-all.sh rm -fv ${rootfs_dir}/usr/bin/bench-all-cycle.sh rm -fv ${rootfs_dir}/etc/init.d/S50testbench cd $cwd fi exit 0