xref: /openwifi/driver/make_all.sh (revision abdb610f56e6ff7bc54e8ad29637bde718951d91)
1#!/bin/bash
2
3# Author: Xianjun jiao
4# SPDX-FileCopyrightText: 2019 UGent
5# SPDX-License-Identifier: AGPL-3.0-or-later
6
7if [ "$#" -ne 2 ]; then
8    echo "You must enter exactly 2 arguments: \$XILINX_DIR ARCH_BIT(32 or 64)"
9    exit 1
10fi
11
12OPENWIFI_DIR=$(pwd)/../
13XILINX_DIR=$1
14ARCH_OPTION=$2
15
16if [ -f "$OPENWIFI_DIR/LICENSE" ]; then
17    echo "\$OPENWIFI_DIR is found!"
18else
19    echo "\$OPENWIFI_DIR is not correct. Please check!"
20    exit 1
21fi
22
23if [ -d "$XILINX_DIR/SDK" ]; then
24    echo "\$XILINX_DIR is found!"
25else
26    echo "\$XILINX_DIR is not correct. Please check!"
27    exit 1
28fi
29
30if [ "$ARCH_OPTION" != "32" ] && [ "$ARCH_OPTION" != "64" ]; then
31    echo "\$ARCH_OPTION is not correct. Should be 32 or 64. Please check!"
32    exit 1
33else
34    echo "\$ARCH_OPTION is valid!"
35fi
36
37source $XILINX_DIR/SDK/2018.3/settings64.sh
38if [ "$ARCH_OPTION" == "64" ]; then
39    LINUX_KERNEL_SRC_DIR=$OPENWIFI_DIR/adi-linux-64/
40    ARCH="arm64"
41    CROSS_COMPILE="aarch64-linux-gnu-"
42    echo "#define USE_NEW_RX_INTERRUPT 1" > pre_def.h
43else
44    LINUX_KERNEL_SRC_DIR=$OPENWIFI_DIR/adi-linux/
45    ARCH="arm"
46    CROSS_COMPILE="arm-linux-gnueabihf-"
47    echo "#define USE_NEW_RX_INTERRUPT 1" > pre_def.h
48fi
49
50# check if user entered the right path to analog device linux
51if [ -d "$LINUX_KERNEL_SRC_DIR" ]; then
52    echo " setup linux kernel path ${LINUX_KERNEL_SRC_DIR}"
53else
54    echo "Error: path to adi linux: ${LINUX_KERNEL_SRC_DIR} not found. Can not continue."
55    exit 1
56fi
57
58set -x
59
60home_dir=$(pwd)
61
62cd $OPENWIFI_DIR/driver/
63echo "#define GIT_REV 0x"$(git log -1 --pretty=%h) > git_rev.h
64make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
65cd $OPENWIFI_DIR/driver/openofdm_tx
66make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
67cd $OPENWIFI_DIR/driver/openofdm_rx
68make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
69cd $OPENWIFI_DIR/driver/tx_intf
70make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
71cd $OPENWIFI_DIR/driver/rx_intf
72make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
73cd $OPENWIFI_DIR/driver/xpu
74make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
75# cd $OPENWIFI_DIR/driver/ad9361
76# make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
77
78cd $home_dir
79