1################################################################################ 2# 3# Rockchip Camera Engine RKaiq For Linux 4# 5################################################################################ 6 7CAMERA_ENGINE_RKAIQ_VERSION = 1.0 8CAMERA_ENGINE_RKAIQ_SITE = $(TOPDIR)/../external/camera_engine_rkaiq 9CAMERA_ENGINE_RKAIQ_SITE_METHOD = local 10CAMERA_ENGINE_RKAIQ_INSTALL_STAGING = YES 11 12CAMERA_ENGINE_RKAIQ_DISALLOW_CLANG = YES 13 14CAMERA_ENGINE_RKAIQ_LICENSE = Apache-2.0 15CAMERA_ENGINE_RKAIQ_LICENSE_FILES = NOTICE 16 17CAMERA_ENGINE_RKAIQ_DEPENDENCIES = 18 19CAMERA_ENGINE_RKAIQ_CONF_OPTS = -DBUILDROOT_BUILD_PROJECT=TRUE -DARCH=$(BR2_ARCH) 20 21ifeq ($(BR2_PACKAGE_RV1126_RV1109), y) 22CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DISP_HW_VERSION=-DISP_HW_V20 23CAMERA_ENGINE_RKAIQ_IQFILE_FORMAT=xml 24else ifeq ($(BR2_PACKAGE_RK3566_RK3568), y) 25CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DISP_HW_VERSION=-DISP_HW_V21 26CAMERA_ENGINE_RKAIQ_IQFILE_FORMAT=json 27CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DCMAKE_BUILD_TYPE=MinSizeRel 28CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DRKAIQ_TARGET_SOC=rk356x 29else ifeq ($(BR2_PACKAGE_RK3588), y) 30CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DISP_HW_VERSION=-DISP_HW_V30 31CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DCMAKE_BUILD_TYPE=MinSizeRel 32CAMERA_ENGINE_RKAIQ_IQFILE_FORMAT=json 33CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DRKAIQ_TARGET_SOC=rk3588 34else ifeq ($(BR2_PACKAGE_RK3562), y) 35CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DISP_HW_VERSION=-DISP_HW_V32_LITE 36CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DCMAKE_BUILD_TYPE=MinSizeRel 37CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DRKAIQ_TARGET_SOC=rk3562 38CAMERA_ENGINE_RKAIQ_IQFILE_FORMAT=json 39endif 40 41ifeq ($(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_RKISP_DEMO), y) 42CAMERA_ENGINE_RKAIQ_DEPENDENCIES += rockchip-rga 43endif 44 45ifeq ($(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE_USE_BIN), y) 46 47RKISP_PARSER_HOST_BINARY = $(HOST_DIR)/bin/rkisp_parser 48 49define conver_iqfiles 50dir=`echo $(1)`; \ 51iqfile=`echo $(2)`; \ 52if [[ -z "$$iqfile" ]]; then \ 53 echo "## conver iqfiles"; \ 54 for i in $$dir/*.$(CAMERA_ENGINE_RKAIQ_IQFILE_FORMAT); do \ 55 echo "### conver iqfiles: $$i"; \ 56 $(RKISP_PARSER_HOST_BINARY) $$i; \ 57 done; \ 58else \ 59 echo "### conver iqfile: $$dir/$$iqfile"; \ 60 $(RKISP_PARSER_HOST_BINARY) $$dir/$$iqfile; \ 61fi; 62endef 63 64define INSTALL_RKISP_PARSER_M32_CMD 65 $(INSTALL) -D -m 755 $(@D)/rkisp_parser_demo/bin/rkisp_parser_m32 $(HOST_DIR)/bin/rkisp_parser 66endef 67 68define INSTALL_RKISP_PARSER_M64_CMD 69 $(INSTALL) -D -m 755 $(@D)/rkisp_parser_demo/bin/rkisp_parser_m64 $(HOST_DIR)/bin/rkisp_parser 70endef 71 72define IQFILE_CONVER_CMD 73 $(foreach iqfile, $(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE)), 74 $(call conver_iqfiles, $(@D)/iqfiles, $(iqfile)) 75 ) 76endef 77 78define IQFILES_CONVER_CMD 79 $(call conver_iqfiles, $(@D)/iqfiles) 80endef 81 82ifeq ($(BR2_arm), y) 83CAMERA_ENGINE_RKAIQ_PRE_BUILD_HOOKS += INSTALL_RKISP_PARSER_M32_CMD 84else 85CAMERA_ENGINE_RKAIQ_PRE_BUILD_HOOKS += INSTALL_RKISP_PARSER_M64_CMD 86endif 87 88ifneq ($(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE)),) 89CAMERA_ENGINE_RKAIQ_PRE_BUILD_HOOKS += IQFILE_CONVER_CMD 90else 91CAMERA_ENGINE_RKAIQ_PRE_BUILD_HOOKS += IQFILES_CONVER_CMD 92endif 93ifneq ($(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE)),) 94CAMERA_ENGINE_RKAIQ_IQFILE = $(patsubst %.xml,%.bin,$(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE))) 95else 96CAMERA_ENGINE_RKAIQ_IQFILE = *.bin 97endif 98else # BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE_USE_BIN 99ifneq ($(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE)),) 100CAMERA_ENGINE_RKAIQ_IQFILE = $(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE)) 101else 102ifeq ($(BR2_PACKAGE_RV1126_RV1109), y) 103CAMERA_ENGINE_RKAIQ_IQFILE = isp20/*.xml 104else ifeq ($(BR2_PACKAGE_RK3566_RK3568), y) 105CAMERA_ENGINE_RKAIQ_IQFILE = isp21/*.json 106else ifeq ($(BR2_PACKAGE_RK3562), y) 107CAMERA_ENGINE_RKAIQ_IQFILE = isp32_lite/*.json 108else ifeq ($(BR2_PACKAGE_RK3588), y) 109CAMERA_ENGINE_RKAIQ_IQFILE = isp3x/*.json 110endif 111endif 112endif # BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE_USE_BIN 113 114ifeq ($(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_RKISP_DEMO), y) 115CAMERA_ENGINE_RKAIQ_CONF_OPTS += -DENABLE_RKISP_DEMO=ON 116endif 117 118define CAMERA_ENGINE_RKAIQ_INSTALL_STAGING_CMDS 119 $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) $(MAKE) -C $($(PKG)_BUILDDIR) install 120endef 121 122define CAMERA_ENGINE_RKAIQ_INSTALL_CMDS 123 mkdir -p $(TARGET_DIR)/etc/iqfiles/ 124 mkdir -p $(TARGET_DIR)/usr/lib/ 125 mkdir -p $(TARGET_DIR)/usr/bin/ 126 $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) $(MAKE) -C $($(PKG)_BUILDDIR) install 127 $(INSTALL) -D -m 644 $(@D)/rkaiq/all_lib/MinSizeRel/librkaiq.so $(TARGET_DIR)/usr/lib/ 128 $(foreach iqfile,$(CAMERA_ENGINE_RKAIQ_IQFILE), 129 $(INSTALL) -D -m 644 $(@D)/rkaiq/iqfiles/$(iqfile) \ 130 $(TARGET_DIR)/etc/iqfiles/ 131 ) 132endef 133 134CAMERA_ENGINE_RKAIQ_POST_INSTALL_TARGET_HOOKS += CAMERA_ENGINE_RKAIQ_INSTALL_CMDS 135 136ifeq ($(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE)),$(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_FAKE_CAMERA_IQFILE))) 137ifeq ($(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE_USE_BIN), y) 138define INSTALL_FAKE_CAMERA_IQFILE_CMD 139 ln -sf `echo ${BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE} | sed "s/xml/bin/g"` \ 140 $(TARGET_DIR)/etc/iqfiles/FakeCamera.bin 141endef 142else 143define INSTALL_FAKE_CAMERA_IQFILE_CMD 144 ln -sf $(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE) \ 145 $(TARGET_DIR)/etc/iqfiles/FakeCamera.xml 146endef 147endif 148else 149define INSTALL_FAKE_CAMERA_IQFILE_CMD 150 $(INSTALL) -D -m 644 $(@D)/iqfiles/$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_FAKE_CAMERA_IQFILE) \ 151 $(TARGET_DIR)/etc/iqfiles/FakeCamera.json 152endef 153endif 154 155ifneq ($(call qstrip,$(BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_FAKE_CAMERA_IQFILE)),) 156CAMERA_ENGINE_RKAIQ_POST_INSTALL_TARGET_HOOKS += INSTALL_FAKE_CAMERA_IQFILE_CMD 157endif 158 159$(eval $(cmake-package)) 160$(eval $(host-generic-package)) 161