xref: /openwifi/driver/make_all.sh (revision a066622e35677314736a3fbd15d26fdd80b86563)
1#!/bin/bash
2
3# Author: Xianjun jiao
4# SPDX-FileCopyrightText: 2019 UGent
5# SPDX-License-Identifier: AGPL-3.0-or-later
6
7print_usage () {
8    echo "You must enter at least 2 arguments: \$XILINX_DIR ARCH_BIT(32 or 64)"
9    echo "Further arguments (maximum 5) will be converted to #define argument in pre_def.h"
10    echo " "
11}
12
13print_usage
14
15if [ "$#" -lt 2 ]; then
16    exit 1
17fi
18
19OPENWIFI_DIR=$(pwd)/../
20XILINX_DIR=$1
21ARCH_OPTION=$2
22
23echo OPENWIFI_DIR $OPENWIFI_DIR
24echo XILINX_DIR $XILINX_DIR
25echo ARCH_OPTION $ARCH_OPTION
26
27if [ -f "$OPENWIFI_DIR/LICENSE" ]; then
28    echo "\$OPENWIFI_DIR is found!"
29else
30    echo "\$OPENWIFI_DIR is not correct. Please check!"
31    exit 1
32fi
33
34if [ -d "$XILINX_DIR/SDK" ]; then
35    echo "\$XILINX_DIR is found!"
36else
37    echo "\$XILINX_DIR is not correct. Please check!"
38    exit 1
39fi
40
41if [ "$ARCH_OPTION" != "32" ] && [ "$ARCH_OPTION" != "64" ]; then
42    echo "\$ARCH_OPTION is not correct. Should be 32 or 64. Please check!"
43    exit 1
44else
45    echo "\$ARCH_OPTION is valid!"
46fi
47
48echo "#define USE_NEW_RX_INTERRUPT 1" > pre_def.h
49if [[ -n $3 ]]; then
50    DEFINE1=$3
51    echo DEFINE1 $DEFINE1
52    echo "#define $DEFINE1" >> pre_def.h
53fi
54if [[ -n $4 ]]; then
55    DEFINE2=$4
56    echo DEFINE2 $DEFINE2
57    echo "#define $DEFINE2" >> pre_def.h
58fi
59if [[ -n $5 ]]; then
60    DEFINE3=$5
61    echo DEFINE3 $DEFINE3
62    echo "#define $DEFINE3" >> pre_def.h
63fi
64if [[ -n $6 ]]; then
65    DEFINE4=$6
66    echo DEFINE4 $DEFINE4
67    echo "#define $DEFINE4" >> pre_def.h
68fi
69if [[ -n $7 ]]; then
70    DEFINE5=$7
71    echo DEFINE5 $DEFINE5
72    echo "#define $DEFINE5" >> pre_def.h
73fi
74
75source $XILINX_DIR/SDK/2018.3/settings64.sh
76if [ "$ARCH_OPTION" == "64" ]; then
77    LINUX_KERNEL_SRC_DIR=$OPENWIFI_DIR/adi-linux-64/
78    ARCH="arm64"
79    CROSS_COMPILE="aarch64-linux-gnu-"
80else
81    LINUX_KERNEL_SRC_DIR=$OPENWIFI_DIR/adi-linux/
82    ARCH="arm"
83    CROSS_COMPILE="arm-linux-gnueabihf-"
84fi
85
86# check if user entered the right path to analog device linux
87if [ -d "$LINUX_KERNEL_SRC_DIR" ]; then
88    echo " setup linux kernel path ${LINUX_KERNEL_SRC_DIR}"
89else
90    echo "Error: path to adi linux: ${LINUX_KERNEL_SRC_DIR} not found. Can not continue."
91    exit 1
92fi
93
94set -x
95
96home_dir=$(pwd)
97
98cd $OPENWIFI_DIR/driver/
99if git log -1; then
100    echo "#define GIT_REV 0x"$(git log -1 --pretty=%h) > git_rev.h
101else
102    echo "#define GIT_REV 0xFFFFFFFF" > git_rev.h
103fi
104make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
105cd $OPENWIFI_DIR/driver/openofdm_tx
106make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
107cd $OPENWIFI_DIR/driver/openofdm_rx
108make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
109cd $OPENWIFI_DIR/driver/tx_intf
110make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
111cd $OPENWIFI_DIR/driver/rx_intf
112make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
113cd $OPENWIFI_DIR/driver/xpu
114make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
115# cd $OPENWIFI_DIR/driver/ad9361
116# make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
117
118cd $home_dir
119