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/ 63if git log -1; then 64 echo "#define GIT_REV 0x"$(git log -1 --pretty=%h) > git_rev.h 65else 66 echo "#define GIT_REV 0xFFFFFFFF" > git_rev.h 67fi 68make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 69cd $OPENWIFI_DIR/driver/openofdm_tx 70make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 71cd $OPENWIFI_DIR/driver/openofdm_rx 72make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 73cd $OPENWIFI_DIR/driver/tx_intf 74make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 75cd $OPENWIFI_DIR/driver/rx_intf 76make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 77cd $OPENWIFI_DIR/driver/xpu 78make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 79# cd $OPENWIFI_DIR/driver/ad9361 80# make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 81 82cd $home_dir 83