Jianxiong Pan | 61de272 | 2020-07-14 10:57:22 +0800 | [diff] [blame] | 1 | #!/usr/bin/env bash |
| 2 | source 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 |
| 8 | set -o errexit |
| 9 | |
| 10 | if [ "$1" == "" ]; then |
| 11 | echo "usage: $0 [board]" |
| 12 | echo "valid boards are:" |
| 13 | list_boards |
| 14 | exit -1 |
| 15 | elif [ "$1" == "--config" ]; then |
| 16 | echo "valid board are:" |
| 17 | list_boards |
| 18 | exit -1 |
| 19 | fi |
| 20 | |
| 21 | board=$1 |
| 22 | shift |
| 23 | other_args=$* |
| 24 | if [ "${other_args}" == "" ]; then |
| 25 | other_args=all |
| 26 | fi |
| 27 | arch_dir=`get_arch "${board}"` |
Jianxiong Pan | 6b12658 | 2021-01-26 14:52:08 +0800 | [diff] [blame] | 28 | soc_dir=`get_soc "${board}"` |
Jianxiong Pan | 61de272 | 2020-07-14 10:57:22 +0800 | [diff] [blame] | 29 | |
Jianxiong Pan | 6b12658 | 2021-01-26 14:52:08 +0800 | [diff] [blame] | 30 | echo "arch_dir: ${arch_dir}, soc_dir: ${soc_dir}" |
Jianxiong Pan | 61de272 | 2020-07-14 10:57:22 +0800 | [diff] [blame] | 31 | |
| 32 | if [ "${arch_dir}" == "" ]; then |
| 33 | echo "invalid board ${board}" |
| 34 | echo "valid boards are:" |
| 35 | list_boards |
| 36 | exit -1 |
| 37 | fi |
| 38 | |
| 39 | if [ "$clean" == "" ]; then |
| 40 | clean=yes #yes no |
| 41 | fi |
| 42 | cpu=1 |
| 43 | |
| 44 | function build_subpath() { |
Jianxiong Pan | 6b12658 | 2021-01-26 14:52:08 +0800 | [diff] [blame] | 45 | sub="$1/${arch_dir}/${soc_dir}/${board}" |
Jianxiong Pan | 61de272 | 2020-07-14 10:57:22 +0800 | [diff] [blame] | 46 | 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 | |
| 56 | function 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 | |
| 63 | function build_app() { |
| 64 | build_subpath demos/amlogic/ |
| 65 | } |
| 66 | |
| 67 | function 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 |
| 87 | build_app |