blob: 75df817151085b6c32e4f176815447d11551f338 [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
Xindong Xud06e9fd2017-06-13 15:45:22 +080043ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo OK),OK)
44MODS_OUT := $(ANDROID_BUILD_TOP)/$(TARGET_OUT_VENDOR)/lib
45else
Nanxin Qinb9164392017-06-09 15:52:28 +080046MODS_OUT := $(ANDROID_BUILD_TOP)/$(TARGET_OUT)/lib
Xindong Xud06e9fd2017-06-13 15:45:22 +080047endif
Nanxin Qinb9164392017-06-09 15:52:28 +080048
49$(shell cp $(MEDIA_DRIVERS)/* $(MEDIA_MODULES) -rfa)
50
51define media-modules
52 @$(MAKE) -C $(KDIR) M=$(MEDIA_MODULES) ARCH=$(KERNEL_ARCH) \
53 CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) $(CONFIGS) \
54 EXTRA_CFLAGS+=-I$(INCLUDE) modules; \
Xindong Xud06e9fd2017-06-13 15:45:22 +080055 mkdir -p $(MODS_OUT); \
Nanxin Qinb9164392017-06-09 15:52:28 +080056 find $(MEDIA_MODULES) -name "*.ko" | xargs -i cp {} $(MODS_OUT)
57endef
58
59else
60KDIR := $(PWD)/kernel
61ifeq (,$(wildcard $(KDIR)))
62$(error No find the dir of kernel.)
63endif
64
65MEDIA_DRIVERS := $(PWD)/media_modules/drivers
66ifeq (,$(wildcard $(MEDIA_DRIVERS)))
67$(error No find the dir of drivers.)
68endif
69
70INCLUDE := $(MEDIA_DRIVERS)/include
71ifeq (,$(wildcard $(INCLUDE)))
72$(error No find the dir of include.)
73endif
74
75MODS_OUT ?= $(MEDIA_DRIVERS)/../modules
76ifeq (,$(wildcard $(MODS_OUT)))
77$(shell mkdir $(MODS_OUT) -p)
78endif
79
80TOOLS := /opt/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
81
82modules:
83 @$(MAKE) -C $(KDIR) M=$(MEDIA_DRIVERS) ARCH=$(KERNEL_ARCH) \
84 CROSS_COMPILE=$(TOOLS) $(CONFIGS) \
85 EXTRA_CFLAGS+=-I$(INCLUDE) -j64
86
87copy-modules:
88 @echo "start copying media modules."
Xindong Xud06e9fd2017-06-13 15:45:22 +080089 mkdir -p $(MODS_OUT)
Nanxin Qinb9164392017-06-09 15:52:28 +080090 $(call copy-media-modules, $(MEDIA_DRIVERS), $(MODS_OUT))
91
92all: modules copy-modules
93
94clean:
95 $(MAKE) -C $(KDIR) M=$(MEDIA_DRIVERS) ARCH=$(KERNEL_ARCH) clean
96
97endif