Files
vi-kernel/Makefile
2022-09-13 10:34:22 +08:00

165 lines
4.8 KiB
Makefile
Executable File

##
# Copyright (C) 2020 Alibaba Group Holding Limited
##
test = $(shell if [ -f "../.param" ]; then echo "exist"; else echo "noexist"; fi)
ifeq ("$(test)", "exist")
include ../.param
endif
CONFIG_COMPILE_PLATFORM=RISCV
CONFIG_ISP_BUILD_TYPE=DEBUG
#CONFIG_ISP_BUILD_TYPE=RELEASE
CONFIG_ISP_VERSION=ISP8000L_V2008
CONFIG_ISP_RY_BUILD_TYPE=DEBUG
#CONFIG_ISP_RY_BUILD_TYPE=RELEASE
CONFIG_ISP_RY_VERSION=ISP8000_V2009
CONFIG_MAKE_ISP_DRIVER_CMD:= \
make -C vvcam/native VERSION_CFG=$(CONFIG_ISP_VERSION) \
KERNEL=$(LINUX_DIR) CROSS=$(CROSS_COMPILE) ARCH=$(ARCH) BOARD_NAME=$(BOARD_NAME)
CONFIG_DW200_CMAKE_CMD:= \
cmake -DCMODEL=$(CONFIG_DW200_CMODEL) \
-DV4L2=$(CONFIG_DW200_V4L2) \
-DARM64_LOCAL_CROSS=OFF ..
CONFIG_DEC400_CMAKE_CMD:= \
cmake -Wno-dev ..
CONFIG_MAKE_ISP_RY_DRIVER_CMD:= \
make -C vvcam_ry/native VERSION_CFG=$(CONFIG_ISP_RY_VERSION) \
KERNEL=$(LINUX_DIR) CROSS=$(CROSS_COMPILE) ARCH=$(ARCH) BOARD_NAME=$(BOARD_NAME)
DIR_ISP_TARGET_BASE=bsp/isp
DIR_ISP_TARGET_KO =bsp/isp/ko
DIR_ISP_RY_TARGET_BASE=bsp/isp_ry
DIR_ISP_RY_TARGET_KO =bsp/isp_ry/ko
DIR_DW200_TARGET_BASE=bsp/dw200
DIR_DEC400_TARGET_BASE=bsp/dec400
MODULE_NAME=ISP
BUILD_LOG_START="\033[47;30m>>> $(MODULE_NAME) $@ begin\033[0m"
BUILD_LOG_END ="\033[47;30m<<< $(MODULE_NAME) $@ end\033[0m"
#
# Do a parallel build with multiple jobs, based on the number of CPUs online
# in this system: 'make -j8' on a 8-CPU system, etc.
#
# (To override it, run 'make JOBS=1' and similar.)
#
ifeq ($(JOBS),)
JOBS := $(shell grep -c ^processor /proc/cpuinfo 2>/dev/null)
ifeq ($(JOBS),)
JOBS := 1
endif
endif
all: info isp_driver isp_ry_driver\
install_local_output install_rootfs
.PHONY: info isp_driver isp_ry_driver\
install_local_output install_rootfs \
clean_isp_driver clean_isp_ry_driver \
clean_output clean
info:
@echo $(BUILD_LOG_START)
@echo " ====== Build Info from repo project ======"
@echo " BUILDROOT_DIR="$(BUILDROOT_DIR)
@echo " CROSS_COMPILE="$(CROSS_COMPILE)
@echo " LINUX_DIR="$(LINUX_DIR)
@echo " ARCH="$(ARCH)
@echo " BOARD_NAME="$(BOARD_NAME)
@echo " KERNEL_ID="$(KERNELVERSION)
@echo " KERNEL_DIR="$(LINUX_DIR)
@echo " INSTALL_DIR_ROOTFS="$(INSTALL_DIR_ROOTFS)
@echo " DIR_MODULE_TOP="$(DIR_MODULE_TOP)
@echo " ====== Build configuration by settings ======"
@echo " COMPILE_PLATFORM="$(CONFIG_COMPILE_PLATFORM)
@echo " JOBS="$(JOBS)
@echo " ISP_BUILD_TYPE="$(CONFIG_ISP_BUILD_TYPE)
@echo " ISP_VERSION="$(CONFIG_ISP_VERSION)
@echo " CMAKE_ISP_DRIVER_CMD=" $(CONFIG_MAKE_ISP_DRIVER_CMD)
@echo " DW200_CMODEL="$(CONFIG_DW200_CMODEL)
@echo " DW200_V4L2="$(CONFIG_DW200_V4L2)
@echo " DW200_BUILD_DIR="$(CONFIG_DW200_BUILD_DIR)
@echo " DW200_CMAKE_CMD="$(CONFIG_DW200_CMAKE_CMD)
@echo " DEC400_BUILD_DIR="$(CONFIG_DEC400_BUILD_DIR)
@echo " DEC400_CMAKE_CMD="$(CONFIG_DEC400_CMAKE_CMD)
@echo " ISP_RY_BUILD_TYPE="$(CONFIG_ISP_RY_BUILD_TYPE)
@echo " ISP_RY_VERSION="$(CONFIG_ISP_RY_VERSION)
@echo $(BUILD_LOG_END)
isp_driver:
@echo $(BUILD_LOG_START)
$(CONFIG_MAKE_ISP_DRIVER_CMD)
@echo $(BUILD_LOG_END)
clean_isp_driver:
@echo $(BUILD_LOG_START)
make -C vvcam/native VERSION_CFG=$(CONFIG_ISP_VERSION) clean
#make -C vvcam/v4l2 VERSION_CFG=$(CONFIG_ISP_VERSION) clean
rm -f vvcam/dw200/.*.o.cmd
rm -f vvcam/isp/.*.o.cmd
rm -f vvcam/native/bin/*.ko
@echo $(BUILD_LOG_END)
isp_ry_driver:
@echo $(BUILD_LOG_START)
$(CONFIG_MAKE_ISP_RY_DRIVER_CMD)
@echo $(BUILD_LOG_END)
clean_isp_ry_driver:
@echo $(BUILD_LOG_START)
make -C vvcam_ry/native VERSION_CFG=$(CONFIG_ISP_RY_VERSION) clean
make -C vvcam_ry/v4l2 VERSION_CFG=$(CONFIG_ISP_RY_VERSION) clean
rm -f vvcam_ry/dw200/.*.o.cmd
rm -f vvcam_ry/isp/.*.o.cmd
rm -f vvcam_ry/native/bin/*.ko
@echo $(BUILD_LOG_END)
install_local_output: isp_driver isp_ry_driver
@echo $(BUILD_LOG_START)
# isp driver files
mkdir -p ./output/rootfs/$(DIR_ISP_TARGET_KO)
chmod +x ./vvcam/native/bin/*.sh
cp -f ./vvcam/native/bin/* ./output/rootfs/$(DIR_ISP_TARGET_KO)
# isp ry driver files
mkdir -p ./output/rootfs/$(DIR_ISP_RY_TARGET_KO)
chmod +x ./vvcam_ry/native/bin/*.sh
cp -f ./vvcam_ry/native/bin/vvcam_isp_ry.ko ./output/rootfs/$(DIR_ISP_TARGET_KO)
install_rootfs: install_local_output
@echo $(BUILD_LOG_START)
# cp -rf output/rootfs/* $(INSTALL_DIR_ROOTFS)
@echo $(BUILD_LOG_END)
clean_output:
@echo $(BUILD_LOG_START)
rm -rf ./output
rm -rf $(INSTALL_DIR_ROOTFS)/$(DIR_ISP_TARGET_BASE)
rm -rf $(INSTALL_DIR_ROOTFS)/$(DIR_ISP_RY_TARGET_BASE)
rm -rf $(INSTALL_DIR_ROOTFS)/$(DIR_DW200_TARGET_BASE)
rm -rf $(INSTALL_DIR_ROOTFS)/$(DIR_DEC400_TARGET_BASE)
@echo $(BUILD_LOG_END)
clean_proprietories_include:
@echo $(BUILD_LOG_START)
@echo $(BUILD_LOG_END)
clean: clean_output clean_isp_driver \
clean_isp_ry_driver clean_proprietories_include