################################################################################
|
#
|
# Rockchip Camera Engine RKaiq For Linux
|
#
|
################################################################################
|
|
ifeq ($(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ), y)
|
CAMERA_ENGINE_RKAIQ_VERSION = 1.0
|
CAMERA_ENGINE_RKAIQ_SITE = $(TOPDIR)/../external/camera_engine_rkaiq
|
CAMERA_ENGINE_RKAIQ_SITE_METHOD = local
|
CAMERA_ENGINE_RKAIQ_INSTALL_STAGING = YES
|
|
CAMERA_ENGINE_RKAIQ_LICENSE = Apache V2.0
|
CAMERA_ENGINE_RKAIQ_LICENSE_FILES = NOTICE
|
|
CAMERA_ENGINE_RKAIQ_DEPENDENCIES =
|
|
CAMERA_ENGINE_RKAIQ_TARGET_INSTALL_DIR = $(TARGET_DIR)
|
|
CAMERA_ENGINE_RKAIQ_CONF_OPTS = -DBUILDROOT_BUILD_PROJECT=TRUE -DARCH=$(BR2_ARCH)
|
|
ifeq ($(BR2_PACKAGE_RK_OEM), y)
|
ifneq ($(BR2_PACKAGE_THUNDERBOOT), y)
|
ifneq ($(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_FORCE_INSTALL_TO_ROOTFS), y)
|
CAMERA_ENGINE_RKAIQ_INSTALL_TARGET_OPTS = DESTDIR=$(BR2_PACKAGE_RK_OEM_INSTALL_TARGET_DIR) install/fast
|
CAMERA_ENGINE_RKAIQ_DEPENDENCIES += rk_oem
|
CAMERA_ENGINE_RKAIQ_TARGET_INSTALL_DIR = $(call qstrip,$(BR2_PACKAGE_RK_OEM_INSTALL_TARGET_DIR))
|
endif
|
endif
|
endif
|
|
ifeq ($(BR2_PACKAGE_RV1126_RV1109),y)
|
CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DISP_HW_VERSION=-DISP_HW_V20
|
CAMERA_ENGINE_RKAIQ_IQFILE_FORMAT=xml
|
else ifeq ($(BR2_PACKAGE_RK356X),y)
|
CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DISP_HW_VERSION=-DISP_HW_V21
|
CAMERA_ENGINE_RKAIQ_IQFILE_FORMAT=json
|
else ifeq ($(BR2_PACKAGE_RK3588),y)
|
CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DISP_HW_VERSION=-DISP_HW_V30
|
CAMERA_ENGINE_RKAIQ_IQFILE_FORMAT=json
|
endif
|
|
ifeq ($(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_RKISP_DEMO), y)
|
CAMERA_ENGINE_RKAIQ_DEPENDENCIES += rockchip-rga
|
endif
|
|
ifeq ($(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE_USE_BIN), y)
|
|
RKISP_PARSER_HOST_BINARY = $(HOST_DIR)/bin/rkisp_parser
|
|
define conver_iqfiles
|
dir=`echo $(1)`; \
|
iqfile=`echo $(2)`; \
|
if [[ -z "$$iqfile" ]]; then \
|
echo "## conver iqfiles"; \
|
for i in $$dir/*.$(CAMERA_ENGINE_RKAIQ_IQFILE_FORMAT); do \
|
echo "### conver iqfiles: $$i"; \
|
$(RKISP_PARSER_HOST_BINARY) $$i; \
|
done; \
|
else \
|
echo "### conver iqfile: $$dir/$$iqfile"; \
|
$(RKISP_PARSER_HOST_BINARY) $$dir/$$iqfile; \
|
fi;
|
endef
|
|
define INSTALL_RKISP_PARSER_M32_CMD
|
$(INSTALL) -D -m 755 $(@D)/rkisp_parser_demo/bin/rkisp_parser_m32 $(HOST_DIR)/bin/rkisp_parser
|
endef
|
|
define INSTALL_RKISP_PARSER_M64_CMD
|
$(INSTALL) -D -m 755 $(@D)/rkisp_parser_demo/bin/rkisp_parser_m64 $(HOST_DIR)/bin/rkisp_parser
|
endef
|
|
define IQFILE_CONVER_CMD
|
$(foreach iqfile, $(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE)),
|
$(call conver_iqfiles, $(@D)/iqfiles, $(iqfile))
|
)
|
endef
|
|
define IQFILES_CONVER_CMD
|
$(call conver_iqfiles, $(@D)/iqfiles)
|
endef
|
|
ifeq ($(BR2_arm), y)
|
CAMERA_ENGINE_RKAIQ_PRE_BUILD_HOOKS += INSTALL_RKISP_PARSER_M32_CMD
|
else
|
CAMERA_ENGINE_RKAIQ_PRE_BUILD_HOOKS += INSTALL_RKISP_PARSER_M64_CMD
|
endif
|
|
ifneq ($(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE)),)
|
CAMERA_ENGINE_RKAIQ_PRE_BUILD_HOOKS += IQFILE_CONVER_CMD
|
else
|
CAMERA_ENGINE_RKAIQ_PRE_BUILD_HOOKS += IQFILES_CONVER_CMD
|
endif
|
ifneq ($(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE)),)
|
CAMERA_ENGINE_RKAIQ_IQFILE = $(patsubst %.xml,%.bin,$(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE)))
|
else
|
CAMERA_ENGINE_RKAIQ_IQFILE = *.bin
|
endif
|
else # BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE_USE_BIN
|
ifneq ($(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE)),)
|
CAMERA_ENGINE_RKAIQ_IQFILE = $(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE))
|
else
|
ifeq ($(BR2_PACKAGE_RV1126_RV1109),y)
|
CAMERA_ENGINE_RKAIQ_IQFILE = */*.xml
|
else ifeq ($(BR2_PACKAGE_RK356X),y)
|
CAMERA_ENGINE_RKAIQ_IQFILE = */*.json
|
else ifeq ($(BR2_PACKAGE_RK3588),y)
|
CAMERA_ENGINE_RKAIQ_IQFILE = */*.json
|
endif
|
endif
|
endif # BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE_USE_BIN
|
|
ifeq ($(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_RKISP_DEMO), y)
|
CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DENABLE_RKISP_DEMO=ON
|
endif
|
|
define CAMERA_ENGINE_RKAIQ_INSTALL_STAGING_CMDS
|
$(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) $(MAKE) -C $($(PKG)_BUILDDIR) install
|
endef
|
|
define CAMERA_ENGINE_RKAIQ_INSTALL_CMDS
|
mkdir -p $(CAMERA_ENGINE_RKAIQ_TARGET_INSTALL_DIR)/etc/iqfiles/
|
mkdir -p $(CAMERA_ENGINE_RKAIQ_TARGET_INSTALL_DIR)/usr/lib/
|
mkdir -p $(CAMERA_ENGINE_RKAIQ_TARGET_INSTALL_DIR)/usr/bin/
|
$(TARGET_MAKE_ENV) DESTDIR=$(CAMERA_ENGINE_RKAIQ_TARGET_INSTALL_DIR) $(MAKE) -C $($(PKG)_BUILDDIR) install
|
$(INSTALL) -D -m 644 $(@D)/all_lib/Release/librkaiq.so $(CAMERA_ENGINE_RKAIQ_TARGET_INSTALL_DIR)/usr/lib/
|
$(foreach iqfile,$(CAMERA_ENGINE_RKAIQ_IQFILE),
|
$(INSTALL) -D -m 644 $(@D)/iqfiles/$(iqfile) \
|
$(CAMERA_ENGINE_RKAIQ_TARGET_INSTALL_DIR)/etc/iqfiles/
|
)
|
endef
|
|
CAMERA_ENGINE_RKAIQ_POST_INSTALL_TARGET_HOOKS += CAMERA_ENGINE_RKAIQ_INSTALL_CMDS
|
|
ifeq ($(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE)),$(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_FAKE_CAMERA_IQFILE)))
|
ifeq ($(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE_USE_BIN), y)
|
define INSTALL_FAKE_CAMERA_IQFILE_CMD
|
ln -sf `echo ${BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE} | sed "s/xml/bin/g"` \
|
$(CAMERA_ENGINE_RKAIQ_TARGET_INSTALL_DIR)/etc/iqfiles/FakeCamera.bin
|
endef
|
else
|
define INSTALL_FAKE_CAMERA_IQFILE_CMD
|
ln -sf $(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE) \
|
$(CAMERA_ENGINE_RKAIQ_TARGET_INSTALL_DIR)/etc/iqfiles/FakeCamera.xml
|
endef
|
endif
|
else
|
define INSTALL_FAKE_CAMERA_IQFILE_CMD
|
$(INSTALL) -D -m 644 $(@D)/iqfiles/$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_FAKE_CAMERA_IQFILE) \
|
$(CAMERA_ENGINE_RKAIQ_TARGET_INSTALL_DIR)/etc/iqfiles/FakeCamera.json
|
endef
|
endif
|
|
ifneq ($(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_FAKE_CAMERA_IQFILE)),)
|
CAMERA_ENGINE_RKAIQ_POST_INSTALL_TARGET_HOOKS += INSTALL_FAKE_CAMERA_IQFILE_CMD
|
endif
|
|
$(eval $(cmake-package))
|
$(eval $(host-generic-package))
|
|
endif
|