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