#!/bin/bash
|
|
source ../scripts/setup_env.sh
|
|
PRJ_PATH=`pwd`
|
WIFI_SRC=rtl8188fu
|
|
drvpath=$(eval echo `jq -r ".CONFIG.DRVPATH" $JSON_CONF`)
|
|
function do_fetch()
|
{
|
if [ -d ${WIFI_SRC} ] ; then
|
pr_warn "$WIFI_SRC fetched already."
|
return 0;
|
fi
|
|
do_fetch_json $JSON_CONF WIFI_SRC ${PRJ_PATH}
|
rm -rf *.tar*
|
}
|
|
function build_wifi_driver()
|
{
|
if [ ! -d ${WIFI_SRC} ] ; then
|
return ;
|
fi
|
|
if [ -s ${WIFI_SRC}/rtl8188fu.ko ] ; then
|
pr_warn "Build for USB WiFi driver already."
|
return ;
|
fi
|
|
pr_warn "Build for USB WiFi driver"
|
|
cd ${WIFI_SRC}
|
|
sed -i "s|^CROSS_COMPILE ?=.*|CROSS_COMPILE ?= ${CROSS_TOOL}|g" Makefile
|
sed -i "s|^ARCH ?=.*|ARCH ?= arm|g" Makefile
|
sed -i "s|^KVER.*|KVER := 5.10.52|g" Makefile
|
sed -i "s|^KSRC.*|KSRC := ../../kernel/linux-imx/|g" Makefile
|
sed -i "s|^MODDESTDIR.*|MODDESTDIR := ${drvpath}/|g" Makefile
|
|
sed -i "s|^#define CONFIG_DEBUG|//#define CONFIG_DEBUG|g" include/autoconf.h
|
|
sed -i "/nolinked power/d" core/rtw_pwrctrl.c
|
sed -i "/request firmware/d" hal/rtl8188f/rtl8188f_hal_init.c
|
|
make -j ${JOBS}
|
mkdir -p ${drvpath}/lib/firmware/rtlwifi/
|
cp firmware/rtl8188fufw.bin ${drvpath}/lib/firmware/rtlwifi/
|
|
cd ${PRJ_PATH}
|
}
|
|
function build_users_driver()
|
{
|
if [ ! -d users ] ; then
|
return ;
|
fi
|
|
pr_warn "Build for users driver"
|
|
cd users
|
|
sed -i "s|^CROSS_COMPILE ?=.*|CROSS_COMPILE ?= ${CROSS_TOOL}|g" Makefile
|
|
make DRV_PATH=${drvpath}
|
|
cd ${PRJ_PATH}
|
}
|
|
|
function do_build()
|
{
|
build_users_driver
|
build_wifi_driver
|
}
|
|
function do_clean()
|
{
|
pr_warn "Clean drivers source code"
|
rm -rf ${WIFI_SRC}
|
|
cd users && make clean
|
}
|
|
|
function do_usage()
|
{
|
echo ""
|
echo "Usage:"
|
echo " $0 [-b] [-c] [-h]"
|
echo " -b: build $PRJ_NAME"
|
echo " -c: clean the source code"
|
echo " -h: show this help message"
|
echo ""
|
exit;
|
}
|
|
while getopts "bpch" OPTNAME
|
do
|
case "${OPTNAME}" in
|
"b")
|
break;
|
;;
|
|
"c")
|
do_clean
|
exit;
|
;;
|
|
"h")
|
do_usage
|
exit;
|
;;
|
esac
|
done
|
|
# Default do build action
|
do_fetch
|
do_build
|
|
exit;
|