blob: ededfe0666cc292afad749ce86d1e274ef4c2db1 [file] [log] [blame]
Jianxiong Pan61de2722020-07-14 10:57:22 +08001#!/usr/bin/env bash
2source scripts/amlogic/util.sh
3#export PATH=/opt/gcc-linaro-aarch64-none-elf-4.9-2014.09_linux/bin/:$PATH
4#export RTOS_CROSS_PREFIX=aarch64-none-elf-
5#export PATH=/opt/gcc-linaro-7.3.1-2018.05-i686_aarch64-elf/bin:$PATH
6
7# auto stop when any command return error
8set -o errexit
9
10if [ "$1" == "" ]; then
11echo "usage: $0 [board]"
12echo "valid boards are:"
13list_boards
14exit -1
15elif [ "$1" == "--config" ]; then
16echo "valid board are:"
17list_boards
18exit -1
19fi
20
21board=$1
22shift
23other_args=$*
24if [ "${other_args}" == "" ]; then
25 other_args=all
26fi
27arch_dir=`get_arch "${board}"`
Jianxiong Pan6b126582021-01-26 14:52:08 +080028soc_dir=`get_soc "${board}"`
Jianxiong Pan61de2722020-07-14 10:57:22 +080029
Jianxiong Pan6b126582021-01-26 14:52:08 +080030echo "arch_dir: ${arch_dir}, soc_dir: ${soc_dir}"
Jianxiong Pan61de2722020-07-14 10:57:22 +080031
32if [ "${arch_dir}" == "" ]; then
33echo "invalid board ${board}"
34echo "valid boards are:"
35list_boards
36exit -1
37fi
38
39if [ "$clean" == "" ]; then
40clean=yes #yes no
41fi
42cpu=1
43
44function build_subpath() {
Jianxiong Pan6b126582021-01-26 14:52:08 +080045 sub="$1/${arch_dir}/${soc_dir}/${board}"
Jianxiong Pan61de2722020-07-14 10:57:22 +080046 pushd "$sub"
47
48 [[ "$clean" == "yes" ]] && make clean
49 make -j8 ${other_args}
50#[[ "$clean" == "yes" ]] && make ARCH_DIR="${arch_dir}" BOARD_DIR="${board}" clean
51# make ARCH_DIR="${arch_dir}" BOARD_DIR="${board}" -j"$cpu" ${other_args}
52
53 popd
54}
55
56function build_modules() {
57 build_subpath lib/third_party/amlogic/
58 build_subpath lib/third_party/amlogic/audio/util
59 build_subpath lib/third_party/amlogic/audio/samples
60 build_subpath lib/third_party/cadence/xaf-hostless
61}
62
63function build_app() {
64 build_subpath demos/amlogic/
65}
66
67function add_pre_commit_hook() {
68 if [ ! -d .git/hooks ]
69 then
70 return
71 fi
72 if [ -f .git/hooks/pre-commit ]
73 then
74 flag=`awk '{if($0 ~ "AMLOGIC_PRE_COMMIT_HOOK"){print $0}}' .git/hooks/pre-commit`
75 if [ -z "$flag" ]
76 then
77 cp .git/hooks/pre-commit .git/hooks/pre-commit-old
78 cp scripts/amlogic/pre-commit-hook.sh .git/hooks/pre-commit
79 fi
80 else
81 cp scripts/amlogic/pre-commit-hook.sh .git/hooks/pre-commit
82 fi
83}
84
85#add_pre_commit_hook
86#build_modules
87build_app