blob: 80d4c4ed8e2d88961e5a8f172cd62dad585eaf3b [file] [log] [blame]
#!/bin/bash
exec_name=$0
cpu_num=$(grep -c processor /proc/cpuinfo)
set -o errtrace
trap 'echo Fatal error: script ${exec_name} aborting at line $LINENO, command \"$BASH_COMMAND\" returned $?; exit 1' ERR
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
function usage(){
echo "Usage: ${exec_name} <kernel_ver> <board> [workspace path]"
echo "supported boards: lumia-proto lumia-p0 lumia-x2-p0 swift-p1 swift-p2"
}
if (( $# < 2 ))
then
usage
exit 2
fi
kernel_version=$1
board=$2
readonly workspace_path=$3
if [ "$board" == "lumia-proto" ]; then
board="longan-p0"
elif [ "$board" == "lumia-x2-p0" ]; then
board="lumia-p0"
fi
readonly product=`echo ${board} | cut -d "-" -f1`
case $product in
longan | lumia | swift)
echo "product: $product"
;;
*)
echo "unknown product: $product"
exit 1
esac
wifi_drv_path=${DIR}/wlan_src
if [ "$kernel_version"x == "6.6"x ]; then
KERNELDIR=${DIR}/../kernel-6.6
kernel_out_dir=kernel_6.6
else
KERNELDIR=${DIR}/../kernel
kernel_out_dir=kernel
fi
CROSS_COMPILE=${DIR}/../prebuilt/toolchain/aarch64/bin/aarch64-cros-linux-gnu-
make_options="KERNELDIR=${KERNELDIR} CROSS_COMPILE=${CROSS_COMPILE} CC=${CROSS_COMPILE}gcc LD=${CROSS_COMPILE}ld"
pushd ${DIR}
cd ${wifi_drv_path}
make clean
make ${make_options} -j${cpu_num}
popd
if [ ! -z $workspace_path ]; then
product_prebuilt_path=${workspace_path}/vendor/amlogic/${product}/prebuilt
wifi_drv_out_dir=${product_prebuilt_path}/${kernel_out_dir}/modules
fct_wifi_drv_out_dir=${product_prebuilt_path}/factory/${kernel_out_dir}/modules
mkdir -p ${wifi_drv_out_dir}
rm -rf ${wifi_drv_out_dir}/mlan.${board}.ko
rm -rf ${wifi_drv_out_dir}/moal.${board}.ko
mkdir -p ${fct_wifi_drv_out_dir}
rm -rf ${fct_wifi_drv_out_dir}/mlan.${board}.ko
rm -rf ${fct_wifi_drv_out_dir}/moal.${board}.ko
cp -v ${wifi_drv_path}/mlan.ko ${wifi_drv_out_dir}/mlan.${board}.ko
cp -v ${wifi_drv_path}/moal.ko ${wifi_drv_out_dir}/moal.${board}.ko
cp -v ${wifi_drv_path}/mlan.ko ${fct_wifi_drv_out_dir}/mlan.${board}.ko
cp -v ${wifi_drv_path}/moal.ko ${fct_wifi_drv_out_dir}/moal.${board}.ko
fi