123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- #!/bin/bash
- TOP_FILE_PATH=$(cd "$(dirname "$0")/../.."; pwd)
- PARENT_FILE_PATH=$(cd "$(dirname "$0")/.."; pwd)
- FILE_PATH=$(cd "$(dirname "$0")"; pwd)
- mkdir -p ${FILE_PATH}/cmake
- mkdir -p ${FILE_PATH}/install
- TargetSystem="${1,,}" # Convert parameter 1 to lower case
- #TargetSystem="${1^^}" # Convert parameter 1 to upper case
- if [ $# -gt 0 ]; then
- case "$TargetSystem" in
- "linux" )
- echo "Build DDK for Linux system..."
- #CROSS_COMPILE=
- CROSS_COMPILE=/usr/bin/
- #CROSS_COMPILE=/usr/bin/linux-
- DRM_INCLUDE_DIR=
- Arch="x86"
- ;;
- "embedded")
- echo "Build DDK for Embedded Linux system on ARM platform..."
- #CROSS_COMPILE=${TOP_FILE_PATH}/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-
- CROSS_COMPILE=${TOP_FILE_PATH}/buildroot/prebuilts/uclibc-4.7.3/bin/arm-buildroot-linux-uclibcgnueabihf-
- LINUX_KERNEL_BUILD_DIR=${TOP_FILE_PATH}/output/build/linux-local
- DRM_INCLUDE_DIR=
- Arch="arm"
- ;;
- "riscv")
- echo "Build DDK for Embedded Linux system on RISC-V platform..."
- CROSS_COMPILE=${TOP_FILE_PATH}/work/buildroot_initramfs/host/usr/bin/riscv64-buildroot-linux-gnu-
- LINUX_KERNEL_BUILD_DIR=${TOP_FILE_PATH}/work/linux
- DRM_INCLUDE_DIR=${TOP_FILE_PATH}/work/buildroot_initramfs/host/riscv64-buildroot-linux-gnu/sysroot/usr/include/drm
- Arch="risc-v"
- ;;
- esac
- else
- read -p "Which system you would like to build, riscv, embedded or linux?" build_system
- TargetSystem="${build_system,,}"
- if [ "${TargetSystem}" == "linux" ]; then
- echo "Build DDK for Linux system..."
- #CROSS_COMPILE=
- CROSS_COMPILE=/usr/bin/
- #CROSS_COMPILE=/usr/bin/linux-
- DRM_INCLUDE_DIR=
- Arch="x86"
- elif [ "${TargetSystem}" == "embedded" ]; then
- echo "Build DDK for Embedded Linux system for ARM platform..."
- #CROSS_COMPILE=${TOP_FILE_PATH}/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-
- CROSS_COMPILE=${TOP_FILE_PATH}/buildroot/prebuilts/uclibc-4.7.3/bin/arm-buildroot-linux-uclibcgnueabihf-
- LINUX_KERNEL_BUILD_DIR=${TOP_FILE_PATH}/output/build/linux-local
- DRM_INCLUDE_DIR=
- Arch="arm"
- elif [ "${TargetSystem}" == "riscv" ]; then
- echo "Build DDK for Embedded Linux systemv for RISC-V platform..."
- CROSS_COMPILE=${TOP_FILE_PATH}/work/buildroot_initramfs/host/usr/bin/riscv64-buildroot-linux-gnu-
- LINUX_KERNEL_BUILD_DIR=${TOP_FILE_PATH}/work/linux
- DRM_INCLUDE_DIR=${TOP_FILE_PATH}/work/buildroot_initramfs/host/riscv64-buildroot-linux-gnu/sysroot/usr/include/drm
- Arch="risc-v"
- elif [ -z "${build_system}" ]; then
- echo "Default build DDK for Embedded Linux system for ARM platform..."
- #CROSS_COMPILE=${TOP_FILE_PATH}/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-
- CROSS_COMPILE=${TOP_FILE_PATH}/buildroot/prebuilts/uclibc-4.7.3/bin/arm-buildroot-linux-uclibcgnueabihf-
- LINUX_KERNEL_BUILD_DIR=${TOP_FILE_PATH}/output/build/linux-local
- DRM_INCLUDE_DIR=
- Arch="arm"
- else
- echo "Unknown system, quit build process!!!"
- exit 0
- fi
- fi
- if [ $# -gt 1 ]; then
- case "$2" in
- "y" | "Y" | "yes" | "Yes" | "YES" )
- #make clean;
- echo "Removing cmake and install folder files..."
- rm -rf cmake/* install/*
- #read -p "Press any key to continue..." ans
- ;;
- esac
- fi
- #echo "===== Comment the STF_KERNEL_MODULE macro ====="
- #sed -i "s/^#define STF_KERNEL_MODULE/\/\/#define STF_KERNEL_MODULE/g" DDKSource/common/stf_includes/stf_types.h
- echo "===== Starting make ISPDDK... ====="
- cd ${FILE_PATH}/cmake
- ##CROSS_COMPILE=${FILE_PATH}/../output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-
- #CROSS_COMPILE=${FILE_PATH}/../buildroot/prebuilts/uclibc-4.7.3/bin/arm-buildroot-linux-uclibcgnueabihf-
- #LINUX_KERNEL_BUILD_DIR=${FILE_PATH}/../output/build/linux-local
- if [ "${Arch}" == "risc-v" ]; then
- CMAKE_TOOLCHAIN_FILE_PATH_NAME=${TOP_FILE_PATH}/work/buildroot_initramfs/host/usr/share/buildroot/toolchainfile.cmake
- elif [ "${Arch}" == "arm" ]; then
- CMAKE_TOOLCHAIN_FILE_PATH_NAME=${TOP_FILE_PATH}/output/host/usr/share/buildroot/toolchainfile.cmake
- fi
- if [ -z $LINUX_KERNEL_BUILD_DIR ] && [ -z $CROSS_COMPILE ]; then
- #echo "No define LINUX_KERNEL_BUILD_DIR and CROSS_COMPILE"
- if [ "${Arch}" == "risc-v" ]; then
- #${TOP_FILE_PATH}/work/buildroot_initramfs/host/usr/bin/cmake ${FILE_PATH}/DDKSource \
- # -DCI_LOG_LEVEL=4 \
- # -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE_PATH_NAME}" \
- # -DARCH_RISCV="Y" \
- # -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- cmake ${FILE_PATH}/DDKSource \
- -DRUN_PLATFORM="RISCV" \
- -DDRM_INCLUDE_DIR=${DRM_INCLUDE_DIR} \
- -DCI_LOG_LEVEL=4 \
- -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE_PATH_NAME}" \
- -DARCH_RISCV="Y" \
- -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- elif [ "${Arch}" == "arm" ]; then
- cmake ${FILE_PATH}/DDKSource \
- -DRUN_PLATFORM="ARM" \
- -DCI_LOG_LEVEL=4 \
- -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE_PATH_NAME}" \
- -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- else
- cmake ${FILE_PATH}/DDKSource \
- -DRUN_PLATFORM="UBUNTU" \
- -DCI_LOG_LEVEL=4 \
- -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- fi
- elif [ -z $LINUX_KERNEL_BUILD_DIR ]; then
- #echo "No define LINUX_KERNEL_BUILD_DIR"
- if [ "${Arch}" == "risc-v" ]; then
- #${TOP_FILE_PATH}/work/buildroot_initramfs/host/usr/bin/cmake ${FILE_PATH}/DDKSource \
- # -DCROSS_COMPILE=$CROSS_COMPILE \
- # -DCI_LOG_LEVEL=4 \
- # -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE_PATH_NAME}" \
- # -DARCH_RISCV="Y" \
- # -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- cmake ${FILE_PATH}/DDKSource \
- -DRUN_PLATFORM="RISCV" \
- -DCROSS_COMPILE=$CROSS_COMPILE \
- -DDRM_INCLUDE_DIR=${DRM_INCLUDE_DIR} \
- -DCI_LOG_LEVEL=4 \
- -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE_PATH_NAME}" \
- -DARCH_RISCV="Y" \
- -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- elif [ "${Arch}" == "arm" ]; then
- cmake ${FILE_PATH}/DDKSource \
- -DRUN_PLATFORM="ARM" \
- -DCROSS_COMPILE=$CROSS_COMPILE \
- -DCI_LOG_LEVEL=4 \
- -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE_PATH_NAME}" \
- -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- else
- cmake ${FILE_PATH}/DDKSource \
- -DRUN_PLATFORM="UBUNTU" \
- -DCROSS_COMPILE=$CROSS_COMPILE \
- -DCI_LOG_LEVEL=4 \
- -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- fi
- elif [ -z $CROSS_COMPILE ]; then
- #echo "No define CROSS_COMPILE"
- if [ "${Arch}" == "risc-v" ]; then
- #${TOP_FILE_PATH}/work/buildroot_initramfs/host/usr/bin/cmake ${FILE_PATH}/DDKSource \
- # -DLINUX_KERNEL_BUILD_DIR=${LINUX_KERNEL_BUILD_DIR} \
- # -DCI_LOG_LEVEL=4 \
- # -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE_PATH_NAME}" \
- # -DARCH_RISCV="Y" \
- # -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- cmake ${FILE_PATH}/DDKSource \
- -DRUN_PLATFORM="RISCV" \
- -DLINUX_KERNEL_BUILD_DIR=${LINUX_KERNEL_BUILD_DIR} \
- -DDRM_INCLUDE_DIR=${DRM_INCLUDE_DIR} \
- -DCI_LOG_LEVEL=4 \
- -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE_PATH_NAME}" \
- -DARCH_RISCV="Y" \
- -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- elif [ "${Arch}" == "arm" ]; then
- cmake ${FILE_PATH}/DDKSource \
- -DRUN_PLATFORM="ARM" \
- -DLINUX_KERNEL_BUILD_DIR=${LINUX_KERNEL_BUILD_DIR} \
- -DCI_LOG_LEVEL=4 \
- -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE_PATH_NAME}" \
- -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- else
- cmake ${FILE_PATH}/DDKSource \
- -DRUN_PLATFORM="UBUNTU" \
- -DLINUX_KERNEL_BUILD_DIR=${LINUX_KERNEL_BUILD_DIR} \
- -DCI_LOG_LEVEL=4 \
- -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- fi
- else
- #echo "Defined LINUX_KERNEL_BUILD_DIR and CROSS_COMPILE"
- if [ "${Arch}" == "risc-v" ]; then
- #${TOP_FILE_PATH}/work/buildroot_initramfs/host/usr/bin/cmake ${FILE_PATH}/DDKSource \
- # -DCROSS_COMPILE=$CROSS_COMPILE \
- # -DLINUX_KERNEL_BUILD_DIR=${LINUX_KERNEL_BUILD_DIR} \
- # -DCI_LOG_LEVEL=4 \
- # -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE_PATH_NAME}" \
- # -DARCH_RISCV="Y" \
- # -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- cmake ${FILE_PATH}/DDKSource \
- -DRUN_PLATFORM="RISCV" \
- -DCROSS_COMPILE=$CROSS_COMPILE \
- -DLINUX_KERNEL_BUILD_DIR=${LINUX_KERNEL_BUILD_DIR} \
- -DDRM_INCLUDE_DIR=${DRM_INCLUDE_DIR} \
- -DCI_LOG_LEVEL=4 \
- -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE_PATH_NAME}" \
- -DARCH_RISCV="Y" \
- -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- elif [ "${Arch}" == "arm" ]; then
- cmake ${FILE_PATH}/DDKSource \
- -DRUN_PLATFORM="ARM" \
- -DCROSS_COMPILE=$CROSS_COMPILE \
- -DLINUX_KERNEL_BUILD_DIR=${LINUX_KERNEL_BUILD_DIR} \
- -DCI_LOG_LEVEL=4 \
- -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE_PATH_NAME}" \
- -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- else
- cmake ${FILE_PATH}/DDKSource \
- -DRUN_PLATFORM="UBUNTU" \
- -DCROSS_COMPILE=$CROSS_COMPILE \
- -DLINUX_KERNEL_BUILD_DIR=${LINUX_KERNEL_BUILD_DIR} \
- -DCI_LOG_LEVEL=4 \
- -DCMAKE_INSTALL_PREFIX=${FILE_PATH}/install
- fi
- fi
- if [ "${Arch}" == "risc-v" ]; then
- export ARCH=riscv
- elif [ "${Arch}" == "arm" ]; then
- export ARCH=arm
- fi
- #make -p -d
- #make -p -d install
- make
- make install
- #${FILE_PATH}/makelib.sh ${FILE_PATH}
- #${CROSS_COMPILE}strip -d ${FILE_PATH}/libmantis.a
- cd ${FILE_PATH}
- #cp ./install/km/Mantis.ko ../image/patch_q3_nand/ko/Mantis.ko
- #cp ./install/km/Mantis.ko ../image/ramdisk/root/Mantis.ko
- #cp install/ISPC/isp.bin ../image/ramdisk/root/
- #cp ./install/ISPC/ISPC_loop ../image/patch_q3_nand/opt/ipnc/ISPC_loop
- #echo "===== Un-comment the STF_KERNEL_MODULE macro ====="
- #sed -i "s/^\/\/#define STF_KERNEL_MODULE/#define STF_KERNEL_MODULE/g" DDKSource/common/stf_includes/stf_types.h
|