xref: /openwifi/driver/side_ch/make_driver.sh (revision 22dd0cc4861dbe973efee122229ab82ac3dd2c9a)
1*22dd0cc4SXianjun Jiao#!/bin/bash
2*22dd0cc4SXianjun Jiaoif [ "$#" -ne 3 ]; then
3*22dd0cc4SXianjun Jiao    echo "You must enter exactly 3 arguments: \$OPENWIFI_DIR \$XILINX_DIR ARCH_BIT(32 or 64)"
4*22dd0cc4SXianjun Jiao    exit 1
5*22dd0cc4SXianjun Jiaofi
6*22dd0cc4SXianjun Jiao
7*22dd0cc4SXianjun JiaoOPENWIFI_DIR=$1
8*22dd0cc4SXianjun JiaoXILINX_DIR=$2
9*22dd0cc4SXianjun JiaoARCH_OPTION=$3
10*22dd0cc4SXianjun Jiao
11*22dd0cc4SXianjun Jiaoif [ -f "$OPENWIFI_DIR/LICENSE" ]; then
12*22dd0cc4SXianjun Jiao    echo "\$OPENWIFI_DIR is found!"
13*22dd0cc4SXianjun Jiaoelse
14*22dd0cc4SXianjun Jiao    echo "\$OPENWIFI_DIR is not correct. Please check!"
15*22dd0cc4SXianjun Jiao    exit 1
16*22dd0cc4SXianjun Jiaofi
17*22dd0cc4SXianjun Jiao
18*22dd0cc4SXianjun Jiaoif [ -d "$XILINX_DIR/SDK" ]; then
19*22dd0cc4SXianjun Jiao    echo "\$XILINX_DIR is found!"
20*22dd0cc4SXianjun Jiaoelse
21*22dd0cc4SXianjun Jiao    echo "\$XILINX_DIR is not correct. Please check!"
22*22dd0cc4SXianjun Jiao    exit 1
23*22dd0cc4SXianjun Jiaofi
24*22dd0cc4SXianjun Jiao
25*22dd0cc4SXianjun Jiaoif [ "$ARCH_OPTION" != "32" ] && [ "$ARCH_OPTION" != "64" ]; then
26*22dd0cc4SXianjun Jiao    echo "\$ARCH_OPTION is not correct. Should be 32 or 64. Please check!"
27*22dd0cc4SXianjun Jiao    exit 1
28*22dd0cc4SXianjun Jiaoelse
29*22dd0cc4SXianjun Jiao    echo "\$ARCH_OPTION is valid!"
30*22dd0cc4SXianjun Jiaofi
31*22dd0cc4SXianjun Jiao
32*22dd0cc4SXianjun Jiaosource $XILINX_DIR/SDK/2018.3/settings64.sh
33*22dd0cc4SXianjun Jiaoif [ "$ARCH_OPTION" == "64" ]; then
34*22dd0cc4SXianjun Jiao    LINUX_KERNEL_SRC_DIR=$OPENWIFI_DIR/adi-linux-64/
35*22dd0cc4SXianjun Jiao    ARCH="arm64"
36*22dd0cc4SXianjun Jiao    CROSS_COMPILE="aarch64-linux-gnu-"
37*22dd0cc4SXianjun Jiaoelse
38*22dd0cc4SXianjun Jiao    LINUX_KERNEL_SRC_DIR=$OPENWIFI_DIR/adi-linux/
39*22dd0cc4SXianjun Jiao    ARCH="arm"
40*22dd0cc4SXianjun Jiao    CROSS_COMPILE="arm-linux-gnueabihf-"
41*22dd0cc4SXianjun Jiaofi
42*22dd0cc4SXianjun Jiao
43*22dd0cc4SXianjun Jiao# check if user entered the right path to analog device linux
44*22dd0cc4SXianjun Jiaoif [ -d "$LINUX_KERNEL_SRC_DIR" ]; then
45*22dd0cc4SXianjun Jiao    echo " setup linux kernel path ${LINUX_KERNEL_SRC_DIR}"
46*22dd0cc4SXianjun Jiaoelse
47*22dd0cc4SXianjun Jiao    echo "Error: path to adi linux: ${LINUX_KERNEL_SRC_DIR} not found. Can not continue."
48*22dd0cc4SXianjun Jiao    exit 1
49*22dd0cc4SXianjun Jiaofi
50*22dd0cc4SXianjun Jiao
51*22dd0cc4SXianjun Jiaoset -x
52*22dd0cc4SXianjun Jiao
53*22dd0cc4SXianjun Jiaohome_dir=$(pwd)
54*22dd0cc4SXianjun Jiao
55*22dd0cc4SXianjun Jiaocd $OPENWIFI_DIR/driver/side_ch
56*22dd0cc4SXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
57*22dd0cc4SXianjun Jiao
58*22dd0cc4SXianjun Jiaocd $home_dir