make.sh
2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/sh
DIR_NAME=$(basename $(realpath .))
build_path="../output-${DIR_NAME}"
module_install="../out"
firmware_install="../out"
if [ -z "${CP_DIR}" ]
then
CP_DIR="../../release /tftpboot/${FA_PRODUCT} /nfs/${FA_PRODUCT}"
fi
image_filename="arch/arm/boot/uImage"
dtb_filename="arch/arm/boot/dts/imx6s-prime-oven.dtb"
jig_filename="arch/arm/boot/dts/imx6s-prime-oven_jig.dtb"
image_target_filename="uImage"
dtb_target_filename="imx6s-prime-oven.dtb"
jig_target_filename="imx6s-prime-oven_jig.dtb"
if [ -f .config ]; then
echo ".....mrproper"
make mrproper
fi
if [ ! -d $build_path ]; then
mkdir $build_path
#chmod 777 $build_path
fi
if [ ! -f $build_path/.config ]; then
echo ".....imx6s prime oven defconfig"
ARCH=arm make arm=ARM O=$build_path distclean
ARCH=arm make arm=ARM O=$build_path imx6s_prime_oven_defconfig
fi
if [ "$1" = "" ]; then
ARCH=arm make arm=ARM O=$build_path uImage LOADADDR=0x10008000 -j$(proc)
ARCH=arm make arm=ARM O=$build_path dtbs -j$(proc)
else
ARCH=arm make arm=ARM O=$build_path $1 $2 $3 -j$(proc)
ARCH=arm make arm=ARM O=$build_path dtbs -j$(proc)
fi
if [ "$1" = "dtb" ]; then
ARCH=arm make arm=ARM O=$build_path dtbs -j$(proc)
fi
# build kernel modules
if [ "$1" = "modules" ] ; then
ARCH=arm INSTALL_MOD_PATH=$module_install make arm=ARM O=$build_path modules -j$(proc)
ARCH=arm INSTALL_MOD_PATH=$module_install make arm=ARM O=$build_path modules_install -j$(proc)
ARCH=arm INSTALL_MOD_PATH=$firmware_install make arm=ARM O=$build_path firmware_install -j$(proc)
fi
if [ -f $build_path/$image_filename ]; then
for DEST_DIR in ${CP_DIR}
do
mkdir -p ${DEST_DIR}
echo "copy from image $build_path/$image_filename to ${DEST_DIR}/$image_target_filename"
cp $build_path/$image_filename ${DEST_DIR}/$image_target_filename
done
fi
if [ -f $build_path/$dtb_filename ]; then
for DEST_DIR in ${CP_DIR}
do
mkdir -p ${DEST_DIR}
echo "copy from dtb $build_path/$dtb_filename to ${DEST_DIR}/$dtb_target_filename"
cp $build_path/$dtb_filename ${DEST_DIR}/$dtb_target_filename
done
fi
if [ -f $build_path/$jig_filename ]; then
for DEST_DIR in ${CP_DIR}
do
mkdir -p ${DEST_DIR}
echo "copy from dtb $build_path/$jig_filename to ${DEST_DIR}/$jig_target_filename"
cp $build_path/$jig_filename ${DEST_DIR}/$jig_target_filename
done
fi