12ee67178SXianjun Jiao#!/bin/bash 2a6085186SLina Ceballos 39e463211SJiao Xianjun# Author: Xianjun jiao 49e463211SJiao Xianjun# SPDX-FileCopyrightText: 2019 UGent 5a6085186SLina Ceballos# SPDX-License-Identifier: AGPL-3.0-or-later 6a6085186SLina Ceballos 7febc5adfSXianjun Jiaoif [ "$#" -ne 3 ]; then 8febc5adfSXianjun Jiao echo "You must enter exactly 3 arguments: \$OPENWIFI_DIR \$XILINX_DIR ARCH_BIT(32 or 64)" 92ee67178SXianjun Jiao exit 1 102ee67178SXianjun Jiaofi 112ee67178SXianjun Jiao 12b73660adSXianjun JiaoOPENWIFI_DIR=$1 13b73660adSXianjun JiaoXILINX_DIR=$2 14febc5adfSXianjun JiaoARCH_OPTION=$3 15b73660adSXianjun Jiao 16b73660adSXianjun Jiaoif [ -f "$OPENWIFI_DIR/LICENSE" ]; then 17b73660adSXianjun Jiao echo "\$OPENWIFI_DIR is found!" 18b73660adSXianjun Jiaoelse 19b73660adSXianjun Jiao echo "\$OPENWIFI_DIR is not correct. Please check!" 20b73660adSXianjun Jiao exit 1 21b73660adSXianjun Jiaofi 22b73660adSXianjun Jiao 23b73660adSXianjun Jiaoif [ -d "$XILINX_DIR/SDK" ]; then 24b73660adSXianjun Jiao echo "\$XILINX_DIR is found!" 25b73660adSXianjun Jiaoelse 26b73660adSXianjun Jiao echo "\$XILINX_DIR is not correct. Please check!" 27b73660adSXianjun Jiao exit 1 28b73660adSXianjun Jiaofi 29b73660adSXianjun Jiao 30febc5adfSXianjun Jiaoif [ "$ARCH_OPTION" != "32" ] && [ "$ARCH_OPTION" != "64" ]; then 31febc5adfSXianjun Jiao echo "\$ARCH_OPTION is not correct. Should be 32 or 64. Please check!" 322ee67178SXianjun Jiao exit 1 33febc5adfSXianjun Jiaoelse 34febc5adfSXianjun Jiao echo "\$ARCH_OPTION is valid!" 35febc5adfSXianjun Jiaofi 36febc5adfSXianjun Jiao 37febc5adfSXianjun Jiaosource $XILINX_DIR/SDK/2018.3/settings64.sh 38febc5adfSXianjun Jiaoif [ "$ARCH_OPTION" == "64" ]; then 39febc5adfSXianjun Jiao LINUX_KERNEL_SRC_DIR=$OPENWIFI_DIR/adi-linux-64/ 40febc5adfSXianjun Jiao ARCH="arm64" 41febc5adfSXianjun Jiao CROSS_COMPILE="aarch64-linux-gnu-" 42*109b1cfdSXianjun Jiao echo "#define USE_NEW_RX_INTERRUPT 1" > pre_def.h 43febc5adfSXianjun Jiaoelse 44febc5adfSXianjun Jiao LINUX_KERNEL_SRC_DIR=$OPENWIFI_DIR/adi-linux/ 45febc5adfSXianjun Jiao ARCH="arm" 46febc5adfSXianjun Jiao CROSS_COMPILE="arm-linux-gnueabihf-" 47*109b1cfdSXianjun Jiao echo "#define USE_NEW_RX_INTERRUPT 1" > pre_def.h 482ee67178SXianjun Jiaofi 492ee67178SXianjun Jiao 502ee67178SXianjun Jiao# check if user entered the right path to analog device linux 51febc5adfSXianjun Jiaoif [ -d "$LINUX_KERNEL_SRC_DIR" ]; then 52febc5adfSXianjun Jiao echo " setup linux kernel path ${LINUX_KERNEL_SRC_DIR}" 532ee67178SXianjun Jiaoelse 54febc5adfSXianjun Jiao echo "Error: path to adi linux: ${LINUX_KERNEL_SRC_DIR} not found. Can not continue." 552ee67178SXianjun Jiao exit 1 562ee67178SXianjun Jiaofi 572ee67178SXianjun Jiao 58febc5adfSXianjun Jiaoset -x 59febc5adfSXianjun Jiao 60b73660adSXianjun Jiaohome_dir=$(pwd) 612ee67178SXianjun Jiao 62b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/ 630a92505dSXianjun Jiaoecho "#define GIT_REV 0x"$(git log -1 --pretty=%h) > git_rev.h 64febc5adfSXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 65b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/openofdm_tx 66febc5adfSXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 67b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/openofdm_rx 68febc5adfSXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 69b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/tx_intf 70febc5adfSXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 71b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/rx_intf 72febc5adfSXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 73b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/xpu 74febc5adfSXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 7556fcab20SXianjun Jiao# cd $OPENWIFI_DIR/driver/ad9361 7656fcab20SXianjun Jiao# make KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE 772ee67178SXianjun Jiao 78b73660adSXianjun Jiaocd $home_dir 79