4 # ---------------------------------------------------------------------------
6 echo "usage: $0 [rk2928|rk30|rk3066b]"
7 echo "example: $0 rk3066b"
11 while getopts "h" options; do
16 # ---------------------------------------------------------------------------
18 # ---------------------------------------------------------------------------
19 kerndir=$(cd .; pwd) # get absolute path
20 [ -d $kerndir ] || usage
27 if [ "$arch" == "rk30" ]; then
30 arch/arm/mach-rk30/*rk3066b*
31 arch/arm/mach-rk30/include/mach/*rk3066b*
33 arch/arm/mach-rk29*/*.c
34 arch/arm/mach-rk29*/*.h
35 arch/arm/mach-rk29*/*.S
36 arch/arm/mach-rk29*/Makefile*
37 arch/arm/mach-rk29*/include
38 arch/arm/configs/rk29*
40 arch/arm/mach-rk30/board-rk30-phone-*
41 arch/arm/configs/rk30_phone_*
43 arch/arm/configs/rk30_phonepad_c8003*
46 defconfig=rk3066_sdk_defconfig
48 elif [ "$arch" == "rk2928" ]; then
51 arch/arm/mach-rk30/*.c
52 arch/arm/mach-rk30/*.h
53 arch/arm/mach-rk30/*.S
54 arch/arm/mach-rk30/*.inc
55 arch/arm/mach-rk30/Makefile*
56 arch/arm/mach-rk30/include
57 arch/arm/configs/rk30*
59 drivers/video/rockchip/lcdc/rk30*
60 drivers/video/rockchip/hdmi/chips/rk30/rk30*
61 drivers/video/rockchip/hdmi/chips/rk30/hdcp/rk30*
63 arch/arm/mach-rk2928/board-rk2928-a720*
64 arch/arm/configs/rk2928_a720_defconfig
66 arch/arm/mach-rk2928/board-rk2928.c
67 arch/arm/configs/rk2928_defconfig
69 arch/arm/mach-rk2928/board-rk2928-phonepad*
70 arch/arm/configs/rk2928_phonepad_defconfig
73 defconfig=rk2928_sdk_defconfig
75 elif [ "$arch" == "rk3066b" ]; then
78 arch/arm/mach-rk30/clock_data.c
79 arch/arm/mach-rk30/board-rk30-*
80 arch/arm/configs/rk30_*
81 arch/arm/configs/rk3066_*
83 arch/arm/mach-rk29*/*.c
84 arch/arm/mach-rk29*/*.h
85 arch/arm/mach-rk29*/*.S
86 arch/arm/mach-rk29*/Makefile*
87 arch/arm/mach-rk29*/include
88 arch/arm/configs/rk29*
91 defconfig=rk3066b_sdk_defconfig
94 echo "unknown arch" && usage
97 [ -f $kerndir/arch/arm/configs/$defconfig ] || usage
101 arch/arm/plat-rk/vpu*.c
102 drivers/staging/rk29/vivante
103 drivers/staging/rk29/ipp/rk29-ipp.c
106 arch/arm/mach-rk29/*.c
107 arch/arm/mach-rk29/*.h
108 arch/arm/mach-rk29/*.S
109 arch/arm/mach-rk29/Makefile*
110 arch/arm/mach-rk29/include
111 arch/arm/mach-rk*/*-fpga*
112 arch/arm/mach-rk*/*-tb*
113 arch/arm/configs/rk29_*
114 arch/arm/configs/*_fpga_*
115 arch/arm/configs/*_tb_*
117 # ---------------------------------------------------------------------------
120 pushd $kerndir >/dev/null
124 for file in ${FILES[@]}; do
125 [ -e ${file} ] && files=( ${files[@]} ${file} ) || echo No such file: ${file}
126 [ -f ${file/.[cS]/.uu} ] && rm -f ${file/.[cS]/.uu}
129 for dir in ${DIRS[@]}; do
130 [ -d $dir ] && find $dir -type f -name '*.uu' -print0 | xargs -0 rm -f
133 echo build kernel on $kerndir with $defconfig, arch is $arch
134 make clean >/dev/null 2>&1
135 make $defconfig >/dev/null 2>&1
137 make -j`grep 'processor' /proc/cpuinfo | wc -l` ${files[@]/.[cS]/.o} ${DIRS[@]}
139 for file in ${FILES[@]}; do
143 [ -f $dir/$base.o ] && echo UU $dir/$base.uu && uuencode $dir/$base.o $base.o > $dir/$base.uu
146 for d in ${DIRS[@]}; do
147 for file in `find $d -type f -name '*.o'`; do
151 echo UU $dir/$base.uu && uuencode $dir/$base.o $base.o > $dir/$base.uu
155 make distclean >/dev/null 2>&1
160 echo "+" > $kerndir/.scmversion
163 pushd $kerndir/../ >/dev/null
164 package=$(basename $kerndir).tar
167 for file in ${FILES[@]}; do
170 for file in ${EXCLUDES[@]}; do
173 for file in ${COMMON_EXCLUDES[@]}; do
176 echo TAR $(pwd)/$package
177 tar cf $package --numeric-owner --exclude-from $ex --exclude=.git $(basename $kerndir)
178 #tar rf $package --numeric-owner --exclude=.git prebuilt/linux-x86/toolchain/arm-eabi-4.4.0
179 echo GZIP $(pwd)/$package.gz
180 gzip -9 -c $package > $package.gz
184 rm -f $kerndir/.scmversion