mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST))) MEDIA_MODULE_PATH := $(dir $(mkfile_path)) VERSION_CONTROL_CFLAGS := $(shell ${MEDIA_MODULE_PATH}/version_control.sh) DOS_REG_VERSION ?= 1 PRODUCT_FULL_DIR ?= ${MAIN_FOLDER}/${PROJECT_CONFIG_DIR} ifeq (${wildcard ${PRODUCT_FULL_DIR}/media_modules.build.config.trunk.mk},) ${info "media_modules use default config"} MEDIA_MODULES_CFLAGS := -DDOS_REGISTERS_V$(DOS_REG_VERSION) else ${info "media_modules use config in ${PRODUCT_FULL_DIR}"} include ${PRODUCT_FULL_DIR}/media_modules.build.config.trunk.mk endif # decoder // format ko want to be compiled TARGET_VENDOR_MEDIA_VVC_SUPPORT := true TARGET_VENDOR_MEDIA_VC1_SUPPORT := true TARGET_VENDOR_MEDIA_H264_SUPPORT := true TARGET_VENDOR_MEDIA_H265_SUPPORT := true TARGET_VENDOR_MEDIA_MPEG2_SUPPORT := true TARGET_VENDOR_MEDIA_MPEG4_SUPPORT := true TARGET_VENDOR_MEDIA_VP9_SUPPORT := true TARGET_VENDOR_MEDIA_MJPEG_SUPPORT := true TARGET_VENDOR_MEDIA_AVS_SUPPORT := true TARGET_VENDOR_MEDIA_AVS2_SUPPORT := true TARGET_VENDOR_MEDIA_AVS3_SUPPORT := true TARGET_VENDOR_MEDIA_AV1_SUPPORT := true CONFIGS ?= CONFIG_AMLOGIC_MEDIA_VENC_H264=m \ CONFIG_AMLOGIC_MEDIA_VENC_H265=m \ CONFIG_AMLOGIC_MEDIA_ENHANCEMENT_DOLBYVISION=y \ CONFIG_AMLOGIC_MEDIA_GE2D=y \ CONFIG_AMLOGIC_MEDIA_VENC_MULTI=m \ CONFIG_AMLOGIC_MEDIA_VENC_JPEG=m \ CONFIG_AMLOGIC_MEDIA_VENC_MEMALLOC=m \ CONFIG_AMLOGIC_MEDIA_VENC_VCENC=m \ CONFIG_AMLOGIC_MEDIA_VENC_COMMON=m \ CONFIG_AMLOGIC_HW_DEMUX=m \ CONFIG_AMLOGIC_MEDIA_V4L_DEC=y \ CONFIG_AMLOGIC_MEDIA_DHP=m \ CONFIG_AMLOGIC_MEDIA_VDEC_AVBCD=m ifeq ($(TARGET_VENDOR_MEDIA_VVC_SUPPORT), true) CONFIGS += CONFIG_AMLOGIC_MEDIA_VDEC_H266=m endif ifeq ($(TARGET_VENDOR_MEDIA_VC1_SUPPORT), true) CONFIGS += CONFIG_AMLOGIC_MEDIA_VDEC_VC1=m \ CONFIG_AMLOGIC_MEDIA_VDEC_VC1_MULTI=m endif ifeq ($(TARGET_VENDOR_MEDIA_H264_SUPPORT), true) CONFIGS += CONFIG_AMLOGIC_MEDIA_VDEC_H264_MULTI=m \ CONFIG_AMLOGIC_MEDIA_VDEC_H264_MVC=m endif ifeq ($(TARGET_VENDOR_MEDIA_H265_SUPPORT), true) CONFIGS += CONFIG_AMLOGIC_MEDIA_VDEC_H265=m \ CONFIG_AMLOGIC_MEDIA_VDEC_H265_FB=m endif ifeq ($(TARGET_VENDOR_MEDIA_MPEG2_SUPPORT), true) CONFIGS += CONFIG_AMLOGIC_MEDIA_VDEC_MPEG2_MULTI=m endif ifeq ($(TARGET_VENDOR_MEDIA_MPEG4_SUPPORT), true) CONFIGS += CONFIG_AMLOGIC_MEDIA_VDEC_MPEG4_MULTI=m endif ifeq ($(TARGET_VENDOR_MEDIA_VP9_SUPPORT), true) CONFIGS += CONFIG_AMLOGIC_MEDIA_VDEC_VP9_FB=m \ CONFIG_AMLOGIC_MEDIA_VDEC_VP9=m endif ifeq ($(TARGET_VENDOR_MEDIA_MJPEG_SUPPORT), true) CONFIGS += CONFIG_AMLOGIC_MEDIA_VDEC_MJPEG_MULTI=m endif ifeq ($(TARGET_VENDOR_MEDIA_AVS_SUPPORT), true) CONFIGS += CONFIG_AMLOGIC_MEDIA_VDEC_AVS_MULTI=m endif ifeq ($(TARGET_VENDOR_MEDIA_AVS2_SUPPORT), true) CONFIGS += CONFIG_AMLOGIC_MEDIA_VDEC_AVS2=m \ CONFIG_AMLOGIC_MEDIA_VDEC_AVS2_FB=m endif ifeq ($(TARGET_VENDOR_MEDIA_AVS3_SUPPORT), true) CONFIGS += CONFIG_AMLOGIC_MEDIA_VDEC_AVS3=m endif ifeq ($(TARGET_VENDOR_MEDIA_AV1_SUPPORT), true) CONFIGS += CONFIG_AMLOGIC_MEDIA_VDEC_AV1=m \ CONFIG_AMLOGIC_MEDIA_VDEC_AV1_FB=m \ CONFIG_AMLOGIC_MEDIA_VDEC_AV1_T5D=m endif EXTRA_INCLUDE := -I$(KERNEL_SRC)/$(M)/drivers/include INTER_INCLUDE := -I$(MEDIA_MODULE_PATH)/drivers/common/media_utils CONFIGS_BUILD := -Wno-parentheses-equality -Wno-pointer-bool-conversion \ -Wno-unused-const-variable -Wno-typedef-redefinition \ -Wno-logical-not-parentheses -Wno-sometimes-uninitialized \ -Wno-frame-larger-than= KBUILD_CFLAGS_MODULE += $(GKI_EXT_MODULE_PREDEFINE) ifeq ($(O),) out_dir := . else out_dir := $(O) endif include $(out_dir)/include/config/auto.conf modules: $(MAKE) -C $(KERNEL_SRC) M=$(M)/drivers modules "EXTRA_CFLAGS+=-I$(INCLUDE) -Wno-error $(CONFIGS_BUILD) $(EXTRA_INCLUDE) $(INTER_INCLUDE) $(KBUILD_CFLAGS_MODULE) ${VERSION_CONTROL_CFLAGS} ${MEDIA_MODULES_CFLAGS}" $(CONFIGS) all: modules modules_install: $(MAKE) INSTALL_MOD_STRIP=1 M=$(M)/drivers -C $(KERNEL_SRC) modules_install $(Q)mkdir -p ${out_dir}/../vendor_lib/modules $(Q)mkdir -p ${out_dir}/../vendor_lib/firmware/video $(Q)cp $(KERNEL_SRC)/$(M)/firmware/* ${out_dir}/../vendor_lib/firmware/video/ -rf $(Q)if [ -z "$(CONFIG_AMLOGIC_KERNEL_VERSION)" ]; then \ cd ${out_dir}/$(M)/; find -name "*.ko" -exec cp {} ${out_dir}/../vendor_lib/modules/ \; ; \ else \ find $(INSTALL_MOD_PATH)/lib/modules/*/$(INSTALL_MOD_DIR) -name "*.ko" -exec cp {} ${out_dir}/../vendor_lib/modules \; ; \ fi; clean: $(MAKE) -C $(KERNEL_SRC) M=$(M) clean