lin
2025-01-04 be45768b193281917003531c55e9ebda9d2c2f99
build.sh
....@@ -1,46 +1,83 @@
11 #!/bin/bash
22
3
-if [ x"$1" == "xuboot" ] || [ x"$1" == "xu" ] || [ x"$1" == "x" ] ;then
4
- echo "Start build uboot"
5
- cd longan/brandy/brandy-2.0 && ./build.sh -p sun50iw10p1 && cd -
6
- if [ $? -eq 0 ]; then
7
- echo "Build uboot ok!"
8
- else
9
- echo "Build uboot failed!"
10
- exit 1
11
- fi
12
-fi
3
+BOARD_CONFIG_DIR=longan/device/config/chips/
4
+BOARD_CONFIG_FILE=longan/device/.BoardConfig.mk
135
14
-if [ x"$1" == "xkernel" ] || [ x"$1" == "xk" ] || [ x"$1" == "x" ] ;then
15
- echo "Start build kernel"
16
- cd longan && ./build.sh autoconfig -o android -i a133 -b c3 && ./build.sh && cd -
17
- if [ $? -eq 0 ]; then
18
- echo "Build kernel ok!"
19
- else
20
- echo "Build kernel failed!"
21
- exit 1
22
- fi
23
-fi
6
+function build_lunch()
7
+{
8
+ TARGET_BOARD_PATH_ARRAY=( $(find $BOARD_CONFIG_DIR -name "BoardConfig-a133*.mk" ) )
9
+ TARGET_BOARD_ARRAY=( $(find $BOARD_CONFIG_DIR -name "BoardConfig-a133*.mk" | sed 's#.*/##' | sort) )
10
+ echo "======you are building a133 android======"
11
+ echo "${TARGET_BOARD_ARRAY[@]}" |xargs -n 1 | sed "=" | sed "N;s/\n/. /"
2412
25
-# android envsetup
26
-cd android
27
-. ./build/envsetup.sh
28
-lunch ceres_c3-userdebug
29
-extract-bsp
30
-cd -
13
+ while true; do
14
+ read -p "which board would you like (1-${#TARGET_BOARD_ARRAY[@]}): " INDEX
15
+ if [[ "$INDEX" =~ ^[0-9]+$ ]] && ((INDEX >= 1 && INDEX <= ${#TARGET_BOARD_ARRAY[@]})); then
16
+ INDEX=$(($INDEX - 1))
17
+ BUILD_TARGET_BOARD="${TARGET_BOARD_PATH_ARRAY[$INDEX]}"
3118
32
-if [ x"$1" == "xandroid" ] || [ x"$1" == "xa" ] || [ x"$1" == "x" ] ;then
33
- echo "Start build Android"
34
- cd android
35
- make installclean
36
- make BUILD_NUMBER=ido-a133 -j32
37
- cd -
38
-fi
19
+ break
20
+ else
21
+ echo "Invalid input. Please enter a number between 1 and ${#TARGET_BOARD_ARRAY[@]}."
22
+ fi
23
+ done
3924
40
-# pack image
41
-echo "Start pack image"
42
-cd android
43
-pack
44
-cd -
25
+ cp -f $BUILD_TARGET_BOARD $BOARD_CONFIG_FILE
4526
27
+ echo -e "build target board configuration: $BUILD_TARGET_BOARD\n"
28
+ #select partition table
29
+ source $BOARD_CONFIG_FILE
30
+ echo "you board is ${DTS_NAME}"
4631
32
+ source $BOARD_CONFIG_FILE
33
+ longan/build/mkcommon.sh autoconfig -i a133 -o android -b c3
34
+}
35
+
36
+if [ "x$1" == "xlunch" ];then
37
+ build_lunch && exit 0
38
+else
39
+ source $BOARD_CONFIG_FILE
40
+ if [ x"$1" == "xuboot" ] || [ x"$1" == "xu" ] || [ x"$1" == "x" ] ;then
41
+ echo "Start build uboot"
42
+ cd longan/brandy/brandy-2.0 && ./build.sh -p sun50iw10p1 && cd -
43
+ if [ $? -eq 0 ]; then
44
+ echo "Build uboot ok!"
45
+ else
46
+ echo "Build uboot failed!"
47
+ exit 1
48
+ fi
49
+ fi
50
+
51
+ if [ x"$1" == "xkernel" ] || [ x"$1" == "xk" ] || [ x"$1" == "x" ] ;then
52
+ echo "Start build kernel"
53
+ cd longan && ./build.sh autoconfig -o android -i a133 -b c3 && ./build.sh && cd -
54
+ if [ $? -eq 0 ]; then
55
+ echo "Build kernel ok!"
56
+ else
57
+ echo "Build kernel failed!"
58
+ exit 1
59
+ fi
60
+ fi
61
+
62
+ # android envsetup
63
+ cd android
64
+ . ./build/envsetup.sh
65
+ lunch ceres_c3-userdebug
66
+ extract-bsp
67
+ cd -
68
+
69
+ if [ x"$1" == "xandroid" ] || [ x"$1" == "xa" ] || [ x"$1" == "x" ] ;then
70
+ echo "Start build Android"
71
+ cd android
72
+ make installclean
73
+ make BUILD_NUMBER=ido-a133 -j32
74
+ cd -
75
+ fi
76
+
77
+ # pack image
78
+ echo "Start pack image"
79
+ cd android
80
+ pack
81
+ cd -
82
+
83
+fi