Nanxin Qin | b916439 | 2017-06-09 15:52:28 +0800 | [diff] [blame] | 1 | KERNEL_ARCH := arm64 |
| 2 | CONFIGS := CONFIG_AMLOGIC_MEDIA_VDEC_MPEG12=m \ |
| 3 | CONFIG_AMLOGIC_MEDIA_VDEC_MPEG4=m \ |
| 4 | CONFIG_AMLOGIC_MEDIA_VDEC_MPEG4_MULTI=m \ |
| 5 | CONFIG_AMLOGIC_MEDIA_VDEC_VC1=m \ |
| 6 | CONFIG_AMLOGIC_MEDIA_VDEC_H264=m \ |
| 7 | CONFIG_AMLOGIC_MEDIA_VDEC_H264_MULTI=m \ |
| 8 | CONFIG_AMLOGIC_MEDIA_VDEC_H264_MVC=m \ |
| 9 | CONFIG_AMLOGIC_MEDIA_VDEC_H264_4K2K=m \ |
| 10 | CONFIG_AMLOGIC_MEDIA_VDEC_H264_MVC=m \ |
| 11 | CONFIG_AMLOGIC_MEDIA_VDEC_H265=m \ |
| 12 | CONFIG_AMLOGIC_MEDIA_VDEC_VP9=m \ |
| 13 | CONFIG_AMLOGIC_MEDIA_VDEC_MJPEG=m \ |
| 14 | CONFIG_AMLOGIC_MEDIA_VDEC_MJPEG_MULTI=m \ |
| 15 | CONFIG_AMLOGIC_MEDIA_VDEC_REAL=m \ |
| 16 | CONFIG_AMLOGIC_MEDIA_VDEC_AVS=m \ |
| 17 | CONFIG_AMLOGIC_MEDIA_VENC_H264=m \ |
| 18 | CONFIG_AMLOGIC_MEDIA_VECN_H265=m |
| 19 | |
| 20 | define copy-media-modules |
| 21 | $(foreach m, $(shell find $(strip $(1)) -name "*.ko"),\ |
| 22 | $(shell cp $(m) $(strip $(2)) -rfa)) |
| 23 | endef |
| 24 | |
| 25 | ifneq (,$(ANDROID_BUILD_TOP)) |
| 26 | KDIR := $(OUT)/obj/KERNEL_OBJ/ |
| 27 | |
| 28 | MEDIA_DRIVERS := $(ANDROID_BUILD_TOP)/hardware/amlogic/media_modules/drivers |
| 29 | ifeq (,$(wildcard $(MEDIA_DRIVERS))) |
| 30 | $(error No find the dir of drivers.) |
| 31 | endif |
| 32 | |
| 33 | INCLUDE := $(MEDIA_DRIVERS)/include |
| 34 | ifeq (,$(wildcard $(INCLUDE))) |
| 35 | $(error No find the dir of include.) |
| 36 | endif |
| 37 | |
| 38 | MEDIA_MODULES := $(ANDROID_BUILD_TOP)/$(PRODUCT_OUT)/obj/media_modules |
| 39 | ifeq (,$(wildcard $(MEDIA_MODULES))) |
| 40 | $(shell mkdir $(MEDIA_MODULES) -p) |
| 41 | endif |
| 42 | |
Xindong Xu | d06e9fd | 2017-06-13 15:45:22 +0800 | [diff] [blame^] | 43 | ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo OK),OK) |
| 44 | MODS_OUT := $(ANDROID_BUILD_TOP)/$(TARGET_OUT_VENDOR)/lib |
| 45 | else |
Nanxin Qin | b916439 | 2017-06-09 15:52:28 +0800 | [diff] [blame] | 46 | MODS_OUT := $(ANDROID_BUILD_TOP)/$(TARGET_OUT)/lib |
Xindong Xu | d06e9fd | 2017-06-13 15:45:22 +0800 | [diff] [blame^] | 47 | endif |
Nanxin Qin | b916439 | 2017-06-09 15:52:28 +0800 | [diff] [blame] | 48 | |
| 49 | $(shell cp $(MEDIA_DRIVERS)/* $(MEDIA_MODULES) -rfa) |
| 50 | |
| 51 | define media-modules |
| 52 | @$(MAKE) -C $(KDIR) M=$(MEDIA_MODULES) ARCH=$(KERNEL_ARCH) \ |
| 53 | CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) $(CONFIGS) \ |
| 54 | EXTRA_CFLAGS+=-I$(INCLUDE) modules; \ |
Xindong Xu | d06e9fd | 2017-06-13 15:45:22 +0800 | [diff] [blame^] | 55 | mkdir -p $(MODS_OUT); \ |
Nanxin Qin | b916439 | 2017-06-09 15:52:28 +0800 | [diff] [blame] | 56 | find $(MEDIA_MODULES) -name "*.ko" | xargs -i cp {} $(MODS_OUT) |
| 57 | endef |
| 58 | |
| 59 | else |
| 60 | KDIR := $(PWD)/kernel |
| 61 | ifeq (,$(wildcard $(KDIR))) |
| 62 | $(error No find the dir of kernel.) |
| 63 | endif |
| 64 | |
| 65 | MEDIA_DRIVERS := $(PWD)/media_modules/drivers |
| 66 | ifeq (,$(wildcard $(MEDIA_DRIVERS))) |
| 67 | $(error No find the dir of drivers.) |
| 68 | endif |
| 69 | |
| 70 | INCLUDE := $(MEDIA_DRIVERS)/include |
| 71 | ifeq (,$(wildcard $(INCLUDE))) |
| 72 | $(error No find the dir of include.) |
| 73 | endif |
| 74 | |
| 75 | MODS_OUT ?= $(MEDIA_DRIVERS)/../modules |
| 76 | ifeq (,$(wildcard $(MODS_OUT))) |
| 77 | $(shell mkdir $(MODS_OUT) -p) |
| 78 | endif |
| 79 | |
| 80 | TOOLS := /opt/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- |
| 81 | |
| 82 | modules: |
| 83 | @$(MAKE) -C $(KDIR) M=$(MEDIA_DRIVERS) ARCH=$(KERNEL_ARCH) \ |
| 84 | CROSS_COMPILE=$(TOOLS) $(CONFIGS) \ |
| 85 | EXTRA_CFLAGS+=-I$(INCLUDE) -j64 |
| 86 | |
| 87 | copy-modules: |
| 88 | @echo "start copying media modules." |
Xindong Xu | d06e9fd | 2017-06-13 15:45:22 +0800 | [diff] [blame^] | 89 | mkdir -p $(MODS_OUT) |
Nanxin Qin | b916439 | 2017-06-09 15:52:28 +0800 | [diff] [blame] | 90 | $(call copy-media-modules, $(MEDIA_DRIVERS), $(MODS_OUT)) |
| 91 | |
| 92 | all: modules copy-modules |
| 93 | |
| 94 | clean: |
| 95 | $(MAKE) -C $(KDIR) M=$(MEDIA_DRIVERS) ARCH=$(KERNEL_ARCH) clean |
| 96 | |
| 97 | endif |