#!/bin/bash

exec_name=$0

set -o errtrace
trap 'echo Fatal error: script ${exec_name} aborting at line $LINENO, command \"$BASH_COMMAND\" returned $?; exit 1' ERR

KERNEL_ARCH=arm64
LOCAL_PATH=$(pwd)
CROSS_COMPILE=${LOCAL_PATH}/../prebuilt/toolchain/aarch64/bin/aarch64-cros-linux-gnu-
KDIR=${LOCAL_PATH}/../kernel
EXTRA_INCLUDE=-I${LOCAL_PATH}/dvalin/kernel/include
cpu_num=$(grep -c processor /proc/cpuinfo)

GPU_VERSION_BIFROST=r32p1

echo "make mali module KERNEL_ARCH is ${KERNEL_ARCH}"

function usage(){
  echo "Usage: ${exec_name} <product> [workspace path]"
  echo "supported products: sabrina"
  echo "Note: if [workspace path] is not set, it still builds"
}

function run_module_make(){
  pushd .
  echo "***** building $1 *****"
  case $1 in
    bifrost)
      make -C ${KDIR} M=${LOCAL_PATH}/bifrost/$GPU_VERSION_BIFROST/kernel/drivers/gpu/arm/midgard \
            ARCH=${KERNEL_ARCH} CROSS_COMPILE=${CROSS_COMPILE} \
            EXTRA_CFLAGS="-DCONFIG_MALI_PLATFORM_DEVICETREE -DCONFIG_MALI_MIDGARD_DVFS -DCONFIG_MALI_BACKEND=gpu" \
            CONFIG_MALI_MIDGARD=m CONFIG_MALI_PLATFORM_DEVICETREE=y CONFIG_MALI_MIDGARD_DVFS=y CONFIG_MALI_BACKEND=gpu \
            EXTRA_CFLAGS+="-Wno-error=larger-than=16384 -DCONFIG_MALI_DMA_BUF_MAP_ON_DEMAND=1 -DCONFIG_MALI_DMA_BUF_LEGACY_COMPAT=0 ${EXTRA_INCLUDE}" \
            EXTRA_LDFLAGS+="--strip-debug" \
            -j$cpu_num modules
    ;;
  esac
  echo "***** completed building *****"
  popd
}

if (( $# < 1 ))
then
  usage
  exit 2
fi

readonly product=$1
readonly workspace_path=$2

case $product in
  sabrina)
    run_module_make bifrost
    if [ ! -z $workspace_path ]; then
      prebuilt_path=${workspace_path}/device/google/sabrina-kernel
      mali_ko_path=${prebuilt_path}/lib/modules
      mkdir -p ${mali_ko_path}
      cp -v ${LOCAL_PATH}/dvalin/kernel/drivers/gpu/arm/midgard/mali_kbase.ko ${mali_ko_path}/mali.ko
    fi
    ;;
  *)
    echo "unknown product: $product"
    exit 1
esac
