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