1#!/bin/bash
2
3source ./tools.sh
4
5function usage() {
6        echo "Usage:"
7        echo "  ./build.sh [-h|-l|-b|-a]"
8        echo "  -h: display usage"
9        echo "  -l: build c906L"
10        echo "  -b: build c906B"
11        echo "  -a: build Cortex-A53"
12}
13
14function build_c906b() {
15	echo "build_c906b"
16
17	BOARD_TYPE=`get_board_type $BSP_PATH/cv18xx_risc-v`
18	echo "BOARD_TYPE: $BOARD_TYPE"
19
20	DPT_PATH_KERNEL=$BSP_PATH/../../ DPT_BOARD_TYPE=$BOARD_TYPE DPT_PATH_OUTPUT=$BSP_PATH/output ./rttpkgtool/script/mkpkg.sh -b
21}
22
23function build_c906l() {
24	echo "build_c906l"
25
26	BOARD_TYPE=`get_board_type $BSP_PATH/c906_little`
27	echo "BOARD_TYPE: $BOARD_TYPE"
28
29	DPT_PATH_KERNEL=$BSP_PATH/../../ DPT_BOARD_TYPE=$BOARD_TYPE DPT_PATH_OUTPUT=$BSP_PATH/output ./rttpkgtool/script/mkpkg.sh -l
30}
31
32function build_a53() {
33	echo "build_a53 for duo256m"
34
35	DPT_PATH_KERNEL=$BSP_PATH/../../ DPT_BOARD_TYPE=duo256m DPT_PATH_OUTPUT=$BSP_PATH/output DPT_ARCH=arm ./rttpkgtool/script/mkpkg.sh
36}
37
38while getopts ":hbla" opt
39do
40        case $opt in
41        h)
42                O_HELP=y
43                ;;
44	b)
45		O_MAKE_BIG=y
46		;;
47	l)
48		O_MAKE_LITTLE=y
49		;;
50	a)
51		O_MAKE_ARM=y
52		;;
53        ?)
54                echo "Unrecognized parameter."
55                usage
56                exit 1
57                ;;
58    esac
59done
60
61if [ "$O_HELP" = "y" ]; then
62	usage
63	exit 0
64fi
65
66BSP_PATH=$(realpath $(dirname $0))
67echo "BSP_PATH: $BSP_PATH"
68
69download_rttpkgtool $BSP_PATH
70
71if [ "$O_MAKE_BIG" = "y" ]; then
72	build_c906b
73fi
74
75if [ "$O_MAKE_LITTLE" = "y" ]; then
76	build_c906l
77fi
78
79if [ "$O_MAKE_ARM" = "y" ]; then
80	build_a53
81fi
82
83