Commit | Line | Data |
---|---|---|
ab568b2e LJ |
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 |