#!/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;