xref: /openwifi/driver/make_all.sh (revision 0a92505df29ec29f8c8d2c89ee3380656014b603)
12ee67178SXianjun Jiao#!/bin/bash
2febc5adfSXianjun Jiaoif [ "$#" -ne 3 ]; then
3febc5adfSXianjun Jiao    echo "You must enter exactly 3 arguments: \$OPENWIFI_DIR \$XILINX_DIR ARCH_BIT(32 or 64)"
42ee67178SXianjun Jiao    exit 1
52ee67178SXianjun Jiaofi
62ee67178SXianjun Jiao
7b73660adSXianjun JiaoOPENWIFI_DIR=$1
8b73660adSXianjun JiaoXILINX_DIR=$2
9febc5adfSXianjun JiaoARCH_OPTION=$3
10b73660adSXianjun Jiao
11b73660adSXianjun Jiaoif [ -f "$OPENWIFI_DIR/LICENSE" ]; then
12b73660adSXianjun Jiao    echo "\$OPENWIFI_DIR is found!"
13b73660adSXianjun Jiaoelse
14b73660adSXianjun Jiao    echo "\$OPENWIFI_DIR is not correct. Please check!"
15b73660adSXianjun Jiao    exit 1
16b73660adSXianjun Jiaofi
17b73660adSXianjun Jiao
18b73660adSXianjun Jiaoif [ -d "$XILINX_DIR/SDK" ]; then
19b73660adSXianjun Jiao    echo "\$XILINX_DIR is found!"
20b73660adSXianjun Jiaoelse
21b73660adSXianjun Jiao    echo "\$XILINX_DIR is not correct. Please check!"
22b73660adSXianjun Jiao    exit 1
23b73660adSXianjun Jiaofi
24b73660adSXianjun Jiao
25febc5adfSXianjun Jiaoif [ "$ARCH_OPTION" != "32" ] && [ "$ARCH_OPTION" != "64" ]; then
26febc5adfSXianjun Jiao    echo "\$ARCH_OPTION is not correct. Should be 32 or 64. Please check!"
272ee67178SXianjun Jiao    exit 1
28febc5adfSXianjun Jiaoelse
29febc5adfSXianjun Jiao    echo "\$ARCH_OPTION is valid!"
30febc5adfSXianjun Jiaofi
31febc5adfSXianjun Jiao
32febc5adfSXianjun Jiaosource $XILINX_DIR/SDK/2018.3/settings64.sh
33febc5adfSXianjun Jiaoif [ "$ARCH_OPTION" == "64" ]; then
34febc5adfSXianjun Jiao    LINUX_KERNEL_SRC_DIR=$OPENWIFI_DIR/adi-linux-64/
35febc5adfSXianjun Jiao    ARCH="arm64"
36febc5adfSXianjun Jiao    CROSS_COMPILE="aarch64-linux-gnu-"
37febc5adfSXianjun Jiaoelse
38febc5adfSXianjun Jiao    LINUX_KERNEL_SRC_DIR=$OPENWIFI_DIR/adi-linux/
39febc5adfSXianjun Jiao    ARCH="arm"
40febc5adfSXianjun Jiao    CROSS_COMPILE="arm-linux-gnueabihf-"
412ee67178SXianjun Jiaofi
422ee67178SXianjun Jiao
432ee67178SXianjun Jiao# check if user entered the right path to analog device linux
44febc5adfSXianjun Jiaoif [ -d "$LINUX_KERNEL_SRC_DIR" ]; then
45febc5adfSXianjun Jiao    echo " setup linux kernel path ${LINUX_KERNEL_SRC_DIR}"
462ee67178SXianjun Jiaoelse
47febc5adfSXianjun Jiao    echo "Error: path to adi linux: ${LINUX_KERNEL_SRC_DIR} not found. Can not continue."
482ee67178SXianjun Jiao    exit 1
492ee67178SXianjun Jiaofi
502ee67178SXianjun Jiao
51febc5adfSXianjun Jiaoset -x
52febc5adfSXianjun Jiao
53b73660adSXianjun Jiaohome_dir=$(pwd)
542ee67178SXianjun Jiao
55b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/
56*0a92505dSXianjun Jiaoecho "#define GIT_REV 0x"$(git log -1 --pretty=%h) > git_rev.h
57febc5adfSXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
58b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/openofdm_tx
59febc5adfSXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
60b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/openofdm_rx
61febc5adfSXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
62b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/tx_intf
63febc5adfSXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
64b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/rx_intf
65febc5adfSXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
66b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/xpu
67febc5adfSXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
68b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/ad9361
69febc5adfSXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
70b73660adSXianjun Jiaocd $OPENWIFI_DIR/driver/xilinx_dma
71febc5adfSXianjun Jiao./make_xilinx_dma.sh $OPENWIFI_DIR $XILINX_DIR $ARCH_OPTION
722ee67178SXianjun Jiao
73b73660adSXianjun Jiaocd $home_dir
74