linuxOS_AP05/buildroot/package/rockchip/rkmedia/rkmedia.mk
2025-06-02 13:59:07 +08:00

234 lines
6.0 KiB
Makefile

ifeq ($(BR2_PACKAGE_RV1108),y)
RKMEDIA_SITE = $(TOPDIR)/../framework/media
else
RKMEDIA_SITE = $(TOPDIR)/../external/rkmedia
endif
RKMEDIA_SITE_METHOD = local
RKMEDIA_INSTALL_STAGING = YES
RKMEDIA_CONF_OPTS = -DWARNINGS_AS_ERRORS=ON
ifeq ($(BR2_PACKAGE_RKMEDIA_SANITIZER_DYNAMIC), y)
RKMEDIA_CONF_OPTS += -DSANITIZER_DYNAMIC=ON
else
ifeq ($(BR2_PACKAGE_RKMEDIA_SANITIZER_STATIC), y)
RKMEDIA_CONF_OPTS += -DSANITIZER_STATIC=ON
endif
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_MINI),y)
RKMEDIA_CONF_OPTS += -DCOMPILES_MINIMEDIA=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_USE_AIQ), y)
RKMEDIA_DEPENDENCIES += camera_engine_rkaiq
RKMEDIA_CONF_OPTS += -DUSE_RKAIQ=ON
endif
ifeq ($(BR2_PACKAGE_LIBION),y)
RKMEDIA_DEPENDENCIES += libion
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_MPP),y)
RKMEDIA_DEPENDENCIES += rockchip-mpp
RKMEDIA_CONF_OPTS += -DRKMPP=ON \
-DRKMPP_HEADER_DIR=$(STAGING_DIR)/usr/include/rockchip \
-DRKMPP_LIB_NAME=rockchip_mpp
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_MPP_ENCODER),y)
RKMEDIA_CONF_OPTS += -DRKMPP_ENCODER=ON
RKMEDIA_CONF_OPTS += -DRKMPP_ENCODER_OSD=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_MPP_DECODER),y)
RKMEDIA_CONF_OPTS += -DRKMPP_DECODER=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_OGG),y)
RKMEDIA_CONF_OPTS += -DOGG=ON
endif
BR2_PACKAGE_RKMEDIA_OGGVORBIS =
ifeq ($(BR2_PACKAGE_RKMEDIA_OGGVORBIS_DEMUXER),y)
BR2_PACKAGE_RKMEDIA_OGGVORBIS=y
RKMEDIA_CONF_OPTS += -DOGGVORBIS=ON -DOGGVORBIS_DEMUXER=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_OGGVORBIS_MUXER),y)
BR2_PACKAGE_RKMEDIA_OGGVORBIS=y
RKMEDIA_CONF_OPTS += -DOGGVORBIS=ON -DOGGVORBIS_MUXER=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_OGGVORBIS),y)
RKMEDIA_DEPENDENCIES += libvorbis
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_AUDIO_CODEC),y)
RKMEDIA_CONF_OPTS += -DRKAUDIO=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_AUDIO_ENCODER),y)
RKMEDIA_CONF_OPTS += -DAUDIO_ENCODER=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_AUDIO_DECODER),y)
RKMEDIA_CONF_OPTS += -DAUDIO_DECODER=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_ALSA_PLAYBACK),y)
RKMEDIA_CONF_OPTS += -DALSA_PLAYBACK=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_ALSA_CAPTURE),y)
RKMEDIA_CONF_OPTS += -DALSA_CAPTURE=ON
endif
ifneq ($(BR2_PACKAGE_RKMEDIA_ALSA_PLAYBACK)$(BR2_PACKAGE_RKMEDIA_ALSA_CAPTURE),)
RKMEDIA_DEPENDENCIES += alsa-lib
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_AUDIO_ALGORITHM),y)
RKMEDIA_CONF_OPTS += -DAUDIO_ALGORITHM=ON
RKMEDIA_DEPENDENCIES += common_algorithm
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_V4L2_CAPTURE),y)
ifeq ($(BR2_PACKAGE_LIBV4L),y)
RKMEDIA_DEPENDENCIES += libv4l
endif
RKMEDIA_CONF_OPTS += -DV4L2_CAPTURE=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_RKRGA),y)
RKMEDIA_DEPENDENCIES += rockchip-rga
RKMEDIA_CONF_OPTS += -DRKRGA=ON
endif
#ifeq ($(BR2_PACKAGE_RKMEDIA_RKGUARD),y)
RKMEDIA_CONF_OPTS += -DRKGUARD=ON
#endif
ifeq ($(BR2_PACKAGE_RKMEDIA_RKNN),y)
RKMEDIA_DEPENDENCIES += rknpu
RKMEDIA_CONF_OPTS += -DRKNN=ON \
-DRKNPU_HEADER_DIR=$(RKNPU_BUILDDIR)/rknn/include
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_ROCKFACE),y)
RKMEDIA_DEPENDENCIES += rknpu rockface
RKMEDIA_CONF_OPTS += -DROCKFACE=ON
ifeq ($(BR2_PACKAGE_RKMEDIA_ROCKFACE_RECOGNIZE),y)
RKMEDIA_DEPENDENCIES += sqlite
RKMEDIA_CONF_OPTS += -DFACE_RECOGNIZE=ON
endif
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_ROCKX),y)
RKMEDIA_DEPENDENCIES += rknpu rockx
RKMEDIA_CONF_OPTS += -DROCKX=ON \
-DROCKX_HEADER_DIR=$(STAGING_DIR)/usr/include/rockx
endif
ifeq ($(BR2_PACKAGE_DRM_DISPLAY_OUTPUT),y)
RKMEDIA_DEPENDENCIES += libdrm
RKMEDIA_CONF_OPTS += -DDRM_DISPLAY=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_LIVE555),y)
RKMEDIA_CONF_OPTS += -DLIVE555=ON \
-DGROUPSOCK_HEADER_DIR=$(STAGING_DIR)/usr/include/groupsock \
-DUSAGEENVIRONMENT_HEADER_DIR=$(STAGING_DIR)/usr/include/UsageEnvironment
RKMEDIA_DEPENDENCIES += live555
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_RTSP_SERVER),y)
RKMEDIA_CONF_OPTS += -DLIVE555_SERVER=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_RTSP_SERVER_H264),y)
RKMEDIA_CONF_OPTS += -DLIVE555_SERVER_H264=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_RTSP_SERVER_H265),y)
RKMEDIA_CONF_OPTS += -DLIVE555_SERVER_H265=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_UVC),y)
RKMEDIA_DEPENDENCIES += uvc_app
RKMEDIA_CONF_OPTS += -DUVC=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_MOVE_DETECTION),y)
RKMEDIA_DEPENDENCIES += common_algorithm
RKMEDIA_CONF_OPTS += -DMOVE_DETECTION=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_OCCLUSION_DETECTION),y)
RKMEDIA_DEPENDENCIES += common_algorithm
RKMEDIA_CONF_OPTS += -DOCCLUSION_DETECTION=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_AUDIO_ALGORITHM),y)
RKMEDIA_DEPENDENCIES += common_algorithm
RKMEDIA_CONF_OPTS += -DANR=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_AUDIO_ALGORITHM),y)
RKMEDIA_DEPENDENCIES += common_algorithm
RKMEDIA_CONF_OPTS += -DAEC=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_AUDIO_ALGORITHM_PLUS),y)
RKMEDIA_DEPENDENCIES += common_algorithm
RKMEDIA_CONF_OPTS += -DRKAPPLUS_ENABLE=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_MINILOGGER),y)
RKMEDIA_DEPENDENCIES += minilogger
RKMEDIA_CONF_OPTS += -DMINILOGGER=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_MB_TS_DEBUG),y)
RKMEDIA_CONF_OPTS += -DTIMESTAMP_DEBUG=ON
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_EXAMPLES),y)
RKMEDIA_CONF_OPTS += -DCOMPILES_EXAMPLES=ON
ifeq ($(BR2_PACKAGE_RKMEDIA_UVC_EXAMPLE),y)
RKMEDIA_DEPENDENCIES += uvc_app
RKMEDIA_CONF_OPTS += -DCOMPILES_UVC_EXAMPLE=ON
endif
endif
ifeq ($(BR2_PACKAGE_RK_OEM), y)
ifneq ($(BR2_PACKAGE_THUNDERBOOT), y)
RKMEDIA_TARGET_DESTDIR=$(BR2_PACKAGE_RK_OEM_INSTALL_TARGET_DIR)
define RKMEDIA_INSTALL_TARGET_REMOVE_HOOK
rm -rf $(RKMEDIA_TARGET_DESTDIR)/usr/include
rm -rf $(RKMEDIA_TARGET_DESTDIR)/usr/lib/pkgconfig
endef
RKMEDIA_POST_INSTALL_TARGET_HOOKS += RKMEDIA_INSTALL_TARGET_REMOVE_HOOK
RKMEDIA_DEPENDENCIES += rk_oem
RKMEDIA_CONF_OPTS += -DCONFIG_OEM=1
RKMEDIA_INSTALL_TARGET_OPTS = DESTDIR=$(BR2_PACKAGE_RK_OEM_INSTALL_TARGET_DIR) install/fast
ifeq ($(BR2_PACKAGE_RKMEDIA_MINI),y)
define RKMEDIA_MINI_INSTALL
rm -rf $(RKMEDIA_TARGET_DESTDIR)/usr/lib/libminimedia.so
rm -rf $(TARGET_DIR)/usr/lib/libminimedia.so
cp -rfp $(@D)/src/libminimedia.so $(TARGET_DIR)/usr/lib
endef
RKMEDIA_POST_INSTALL_TARGET_HOOKS += RKMEDIA_MINI_INSTALL
endif
endif
endif
ifeq ($(BR2_PACKAGE_RKMEDIA_SOCKET),y)
RKMEDIA_CONF_OPTS += -DRKMEDIA_SOCKET=ON
endif
$(eval $(cmake-package))