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