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