blob: 2dbf863859b42d63ef6d1e0c94bb115fc768ce37 [file] [log] [blame]
Nanxin Qinb9164392017-06-09 15:52:28 +08001KERNEL_ARCH := arm64
2CONFIGS := 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
20define copy-media-modules
21$(foreach m, $(shell find $(strip $(1)) -name "*.ko"),\
22 $(shell cp $(m) $(strip $(2)) -rfa))
23endef
24
25ifneq (,$(ANDROID_BUILD_TOP))
26KDIR := $(OUT)/obj/KERNEL_OBJ/
27
28MEDIA_DRIVERS := $(ANDROID_BUILD_TOP)/hardware/amlogic/media_modules/drivers
29ifeq (,$(wildcard $(MEDIA_DRIVERS)))
30$(error No find the dir of drivers.)
31endif
32
33INCLUDE := $(MEDIA_DRIVERS)/include
34ifeq (,$(wildcard $(INCLUDE)))
35$(error No find the dir of include.)
36endif
37
38MEDIA_MODULES := $(ANDROID_BUILD_TOP)/$(PRODUCT_OUT)/obj/media_modules
39ifeq (,$(wildcard $(MEDIA_MODULES)))
40$(shell mkdir $(MEDIA_MODULES) -p)
41endif
42
43MODS_OUT := $(ANDROID_BUILD_TOP)/$(TARGET_OUT)/lib
44
45$(shell cp $(MEDIA_DRIVERS)/* $(MEDIA_MODULES) -rfa)
46
47define media-modules
48 @$(MAKE) -C $(KDIR) M=$(MEDIA_MODULES) ARCH=$(KERNEL_ARCH) \
49 CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) $(CONFIGS) \
50 EXTRA_CFLAGS+=-I$(INCLUDE) modules; \
51 find $(MEDIA_MODULES) -name "*.ko" | xargs -i cp {} $(MODS_OUT)
52endef
53
54else
55KDIR := $(PWD)/kernel
56ifeq (,$(wildcard $(KDIR)))
57$(error No find the dir of kernel.)
58endif
59
60MEDIA_DRIVERS := $(PWD)/media_modules/drivers
61ifeq (,$(wildcard $(MEDIA_DRIVERS)))
62$(error No find the dir of drivers.)
63endif
64
65INCLUDE := $(MEDIA_DRIVERS)/include
66ifeq (,$(wildcard $(INCLUDE)))
67$(error No find the dir of include.)
68endif
69
70MODS_OUT ?= $(MEDIA_DRIVERS)/../modules
71ifeq (,$(wildcard $(MODS_OUT)))
72$(shell mkdir $(MODS_OUT) -p)
73endif
74
75TOOLS := /opt/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
76
77modules:
78 @$(MAKE) -C $(KDIR) M=$(MEDIA_DRIVERS) ARCH=$(KERNEL_ARCH) \
79 CROSS_COMPILE=$(TOOLS) $(CONFIGS) \
80 EXTRA_CFLAGS+=-I$(INCLUDE) -j64
81
82copy-modules:
83 @echo "start copying media modules."
84 $(call copy-media-modules, $(MEDIA_DRIVERS), $(MODS_OUT))
85
86all: modules copy-modules
87
88clean:
89 $(MAKE) -C $(KDIR) M=$(MEDIA_DRIVERS) ARCH=$(KERNEL_ARCH) clean
90
91endif