h265: CB2 change 265 HDR signal type. [1/1]
[GitHub/LineageOS/G12/android_hardware_amlogic_kernel-modules_media.git] / Media.mk
1 ifeq ($(KERNEL_A32_SUPPORT), true)
2 KERNEL_ARCH := arm
3 else
4 KERNEL_ARCH := arm64
5 endif
6
7 CONFIGS := CONFIG_AMLOGIC_MEDIA_VDEC_MPEG12=m \
8 CONFIG_AMLOGIC_MEDIA_VDEC_MPEG2_MULTI=m \
9 CONFIG_AMLOGIC_MEDIA_VDEC_MPEG4=m \
10 CONFIG_AMLOGIC_MEDIA_VDEC_MPEG4_MULTI=m \
11 CONFIG_AMLOGIC_MEDIA_VDEC_VC1=m \
12 CONFIG_AMLOGIC_MEDIA_VDEC_H264=m \
13 CONFIG_AMLOGIC_MEDIA_VDEC_H264_MULTI=m \
14 CONFIG_AMLOGIC_MEDIA_VDEC_H264_MVC=m \
15 CONFIG_AMLOGIC_MEDIA_VDEC_H265=m \
16 CONFIG_AMLOGIC_MEDIA_VDEC_VP9=m \
17 CONFIG_AMLOGIC_MEDIA_VDEC_MJPEG=m \
18 CONFIG_AMLOGIC_MEDIA_VDEC_MJPEG_MULTI=m \
19 CONFIG_AMLOGIC_MEDIA_VDEC_REAL=m \
20 CONFIG_AMLOGIC_MEDIA_VDEC_AVS=m \
21 CONFIG_AMLOGIC_MEDIA_VDEC_AVS_MULTI=m \
22 CONFIG_AMLOGIC_MEDIA_VDEC_AVS2=m \
23 CONFIG_AMLOGIC_MEDIA_VDEC_AV1=m \
24 CONFIG_AMLOGIC_MEDIA_VENC_H264=m \
25 CONFIG_AMLOGIC_MEDIA_VENC_JPEG=m \
26 CONFIG_AMLOGIC_MEDIA_VENC_H265=m
27
28 define copy-media-modules
29 $(foreach m, $(shell find $(strip $(1)) -name "*.ko"),\
30 $(shell cp $(m) $(strip $(2)) -rfa))
31 endef
32
33 ifneq (,$(TOP))
34 KDIR := $(shell pwd)/$(PRODUCT_OUT)/obj/KERNEL_OBJ/
35
36 MEDIA_DRIVERS := $(TOP)/hardware/amlogic/media_modules/drivers
37 ifeq (,$(wildcard $(MEDIA_DRIVERS)))
38 $(error No find the dir of drivers.)
39 endif
40
41 INCLUDE := $(MEDIA_DRIVERS)/include
42 ifeq (,$(wildcard $(INCLUDE)))
43 $(error No find the dir of include.)
44 endif
45
46 MEDIA_MODULES := $(shell pwd)/$(PRODUCT_OUT)/obj/media_modules
47 ifeq (,$(wildcard $(MEDIA_MODULES)))
48 $(shell mkdir $(MEDIA_MODULES) -p)
49 endif
50
51 MODS_OUT := $(shell pwd)/$(PRODUCT_OUT)/obj/lib_vendor
52 ifeq (,$(wildcard $(MODS_OUT)))
53 $(shell mkdir $(MODS_OUT) -p)
54 endif
55
56 UCODE_OUT := $(shell pwd)/$(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/firmware/video
57 ifeq (,$(wildcard $(UCODE_OUT)))
58 $(shell mkdir $(UCODE_OUT) -p)
59 endif
60
61 $(shell cp $(MEDIA_DRIVERS)/../firmware/* $(UCODE_OUT) -rfa)
62 $(shell cp $(MEDIA_DRIVERS)/* $(MEDIA_MODULES) -rfa)
63
64 define media-modules
65 PATH=$$(cd ./$(TARGET_HOST_TOOL_PATH); pwd):$$PATH \
66 $(MAKE) -C $(KDIR) M=$(MEDIA_MODULES) ARCH=$(KERNEL_ARCH) \
67 CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) $(CONFIGS) \
68 EXTRA_CFLAGS+=-I$(INCLUDE) modules;
69 sh $(TOP)/device/amlogic/common/copy_modules.sh $(MEDIA_MODULES) $(MODS_OUT)
70 endef
71
72 else
73 KDIR := $(PWD)/kernel
74 ifeq (,$(wildcard $(KDIR)))
75 $(error No find the dir of kernel.)
76 endif
77
78 MEDIA_DRIVERS := $(PWD)/media_modules/drivers
79 ifeq (,$(wildcard $(MEDIA_DRIVERS)))
80 $(error No find the dir of drivers.)
81 endif
82
83 INCLUDE := $(MEDIA_DRIVERS)/include
84 ifeq (,$(wildcard $(INCLUDE)))
85 $(error No find the dir of include.)
86 endif
87
88 MODS_OUT ?= $(MEDIA_DRIVERS)/../modules
89 ifeq (,$(wildcard $(MODS_OUT)))
90 $(shell mkdir $(MODS_OUT) -p)
91 endif
92
93 ifeq ($(KERNEL_A32_SUPPORT), true)
94 TOOLS := /opt/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
95 else
96 TOOLS := /opt/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
97 endif
98
99
100 modules:
101 CCACHE_NODIRECT="true" PATH=$$(cd ./$(TARGET_HOST_TOOL_PATH); pwd):$$PATH \
102 $(MAKE) -C $(KDIR) M=$(MEDIA_DRIVERS) ARCH=$(KERNEL_ARCH) \
103 CROSS_COMPILE=$(TOOLS) $(CONFIGS) \
104 EXTRA_CFLAGS+=-I$(INCLUDE) -j64
105
106 copy-modules:
107 @echo "start copying media modules."
108 mkdir -p $(MODS_OUT)
109 $(call copy-media-modules, $(MEDIA_DRIVERS), $(MODS_OUT))
110
111 all: modules copy-modules
112
113 clean:
114 PATH=$$(cd ./$(TARGET_HOST_TOOL_PATH); pwd):$$PATH \
115 $(MAKE) -C $(KDIR) M=$(MEDIA_DRIVERS) ARCH=$(KERNEL_ARCH) clean
116
117 endif