blob: 7fa3c4846e79cf3b32cea50fce461bdf931e1388
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=$$(cd ./$(TARGET_HOST_TOOL_PATH); pwd):$$PATH \ |
64 | $(MAKE) -C $(KDIR) M=$(MEDIA_MODULES) ARCH=$(KERNEL_ARCH) \ |
65 | CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) $(CONFIGS) \ |
66 | EXTRA_CFLAGS+=-I$(INCLUDE) modules; \ |
67 | find $(MEDIA_MODULES) -name "*.ko" | PATH=$$(cd ./$(TARGET_HOST_TOOL_PATH); pwd):$$PATH xargs -i cp {} $(MODS_OUT) |
68 | endef |
69 | |
70 | else |
71 | KDIR := $(PWD)/kernel |
72 | ifeq (,$(wildcard $(KDIR))) |
73 | $(error No find the dir of kernel.) |
74 | endif |
75 | |
76 | MEDIA_DRIVERS := $(PWD)/media_modules/drivers |
77 | ifeq (,$(wildcard $(MEDIA_DRIVERS))) |
78 | $(error No find the dir of drivers.) |
79 | endif |
80 | |
81 | INCLUDE := $(MEDIA_DRIVERS)/include |
82 | ifeq (,$(wildcard $(INCLUDE))) |
83 | $(error No find the dir of include.) |
84 | endif |
85 | |
86 | MODS_OUT ?= $(MEDIA_DRIVERS)/../modules |
87 | ifeq (,$(wildcard $(MODS_OUT))) |
88 | $(shell mkdir $(MODS_OUT) -p) |
89 | endif |
90 | |
91 | ifeq ($(KERNEL_A32_SUPPORT), true) |
92 | TOOLS := /opt/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- |
93 | else |
94 | TOOLS := /opt/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- |
95 | endif |
96 | |
97 | |
98 | modules: |
99 | CCACHE_NODIRECT="true" PATH=$$(cd ./$(TARGET_HOST_TOOL_PATH); pwd):$$PATH \ |
100 | $(MAKE) -C $(KDIR) M=$(MEDIA_DRIVERS) ARCH=$(KERNEL_ARCH) \ |
101 | CROSS_COMPILE=$(TOOLS) $(CONFIGS) \ |
102 | EXTRA_CFLAGS+=-I$(INCLUDE) -j64 |
103 | |
104 | copy-modules: |
105 | @echo "start copying media modules." |
106 | mkdir -p $(MODS_OUT) |
107 | $(call copy-media-modules, $(MEDIA_DRIVERS), $(MODS_OUT)) |
108 | |
109 | all: modules copy-modules |
110 | |
111 | clean: |
112 | PATH=$$(cd ./$(TARGET_HOST_TOOL_PATH); pwd):$$PATH \ |
113 | $(MAKE) -C $(KDIR) M=$(MEDIA_DRIVERS) ARCH=$(KERNEL_ARCH) clean |
114 | |
115 | endif |
116 |