blob: 5ced50b71243c01db0ed454bef36dfd050e58d53
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_VENC_H264=m \ |
24 | CONFIG_AMLOGIC_MEDIA_VENC_H265=m |
25 | |
26 | define copy-media-modules |
27 | $(foreach m, $(shell find $(strip $(1)) -name "*.ko"),\ |
28 | $(shell cp $(m) $(strip $(2)) -rfa)) |
29 | endef |
30 | |
31 | ifneq (,$(TOP)) |
32 | KDIR := $(shell pwd)/$(PRODUCT_OUT)/obj/KERNEL_OBJ/ |
33 | |
34 | MEDIA_DRIVERS := $(TOP)/hardware/amlogic/media_modules/drivers |
35 | ifeq (,$(wildcard $(MEDIA_DRIVERS))) |
36 | $(error No find the dir of drivers.) |
37 | endif |
38 | |
39 | INCLUDE := $(MEDIA_DRIVERS)/include |
40 | ifeq (,$(wildcard $(INCLUDE))) |
41 | $(error No find the dir of include.) |
42 | endif |
43 | |
44 | MEDIA_MODULES := $(shell pwd)/$(PRODUCT_OUT)/obj/media_modules |
45 | ifeq (,$(wildcard $(MEDIA_MODULES))) |
46 | $(shell mkdir $(MEDIA_MODULES) -p) |
47 | endif |
48 | |
49 | MODS_OUT := $(shell pwd)/$(PRODUCT_OUT)/obj/lib_vendor |
50 | ifeq (,$(wildcard $(MODS_OUT))) |
51 | $(shell mkdir $(MODS_OUT) -p) |
52 | endif |
53 | |
54 | UCODE_OUT := $(shell pwd)/$(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/firmware/video |
55 | ifeq (,$(wildcard $(UCODE_OUT))) |
56 | $(shell mkdir $(UCODE_OUT) -p) |
57 | endif |
58 | |
59 | $(shell cp $(MEDIA_DRIVERS)/../firmware/* $(UCODE_OUT) -rfa) |
60 | $(shell cp $(MEDIA_DRIVERS)/* $(MEDIA_MODULES) -rfa) |
61 | |
62 | define media-modules |
63 | PATH=$(KERNEL_TOOLPATHS):$$PATH \ |
64 | $(MAKE) -C $(KDIR) M=$(MEDIA_MODULES) $(KERNEL_ARGS) $(CONFIGS) \ |
65 | "EXTRA_CFLAGS+=-I$(INCLUDE) -Wno-error" modules; \ |
66 | find $(MEDIA_MODULES) -name "*.ko" | PATH=$$(cd ./$(TARGET_HOST_TOOL_PATH); pwd):$$PATH xargs -i cp {} $(MODS_OUT) |
67 | endef |
68 | |
69 | else |
70 | KDIR := $(PWD)/kernel |
71 | ifeq (,$(wildcard $(KDIR))) |
72 | $(error No find the dir of kernel.) |
73 | endif |
74 | |
75 | MEDIA_DRIVERS := $(PWD)/media_modules/drivers |
76 | ifeq (,$(wildcard $(MEDIA_DRIVERS))) |
77 | $(error No find the dir of drivers.) |
78 | endif |
79 | |
80 | INCLUDE := $(MEDIA_DRIVERS)/include |
81 | ifeq (,$(wildcard $(INCLUDE))) |
82 | $(error No find the dir of include.) |
83 | endif |
84 | |
85 | MODS_OUT ?= $(MEDIA_DRIVERS)/../modules |
86 | ifeq (,$(wildcard $(MODS_OUT))) |
87 | $(shell mkdir $(MODS_OUT) -p) |
88 | endif |
89 | |
90 | |
91 | modules: |
92 | CCACHE_NODIRECT="true" PATH=$(KERNEL_TOOLPATHS):$$PATH \ |
93 | $(MAKE) -C $(KDIR) M=$(MEDIA_DRIVERS) $(KERNEL_ARGS) $(CONFIGS) \ |
94 | EXTRA_CFLAGS+=-I$(INCLUDE) -j64 |
95 | |
96 | copy-modules: |
97 | @echo "start copying media modules." |
98 | mkdir -p $(MODS_OUT) |
99 | $(call copy-media-modules, $(MEDIA_DRIVERS), $(MODS_OUT)) |
100 | |
101 | all: modules copy-modules |
102 | |
103 | clean: |
104 | PATH=$(KERNEL_TOOLPATHS):$$PATH \ |
105 | $(MAKE) -C $(KDIR) M=$(MEDIA_DRIVERS) $(KERNEL_ARGS) clean |
106 | |
107 | endif |
108 |