• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED.
2#
3# This program is free software; you can redistribute it and/or
4# modify it under the terms of the GNU General Public License
5# as published by the Free Software Foundation; either version 2
6# of the License, or (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11# GNU General Public License for more details.
12#
13# You should have received a copy of the GNU General Public License
14# along with this program; if not, write to the Free Software
15# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
16
17ifeq ($(PARAM_FILE), )
18    PARAM_FILE:=../Makefile.param
19    include $(PARAM_FILE)
20endif
21
22#*******************************************************************************
23#Set the cbb source code and include path
24export COMPONENT_ROOT   := $(SDK_PATH)/mpp/component
25export SECUREC_ROOT     := $(SDK_PATH)/mpp/component/securec
26export TZASC_ROOT       := $(SDK_PATH)/mpp/component/tzasc/$(HIARCH)
27export ARCH_ROOT        := $(CBB_ROOT)/base/arch/$(ARCH_DIR)
28export ARCH_HAL         := $(ARCH_ROOT)/hal
29export INIT_ROOT        := ../../init/$(OSTYPE)
30export VPSS_ROOT        := $(CBB_ROOT)/vpss
31export GDC_ROOT		:= $(CBB_ROOT)/gdc
32
33ifeq ($(HIARCH),hi3559av100es)
34    export VDEC_ROOT    := $(CBB_ROOT)/vdec/vdec_hi3559av100es
35    export VFMW_ROOT    := $(CBB_ROOT)/vfmw/vfmw_hi3559av100es
36else
37    export VDEC_ROOT    := $(CBB_ROOT)/vdec
38    export VFMW_ROOT    := $(CBB_ROOT)/vfmw/vfmw_v6.0
39endif
40
41ifeq ($(HIARCH),hi3516ev200)
42    export VGS_ROOT    := $(CBB_ROOT)/vgs/vgs_hi3516ev200
43else
44    export VGS_ROOT    := $(CBB_ROOT)/vgs/vgs
45endif
46
47export VENC_SRC_ROOT := $(CBB_ROOT)/venc
48export VENC_OBJ_ROOT := $(CBB_ROOT)/venc_pub
49
50export VENC_ROOT := $(shell if [ -d "$(VENC_SRC_ROOT)" ]; then echo "$(VENC_SRC_ROOT)"; else echo "$(VENC_OBJ_ROOT)"; fi)
51
52ifeq ($(HIARCH),hi3516cv500)
53    export MCF_ROOT    := $(CBB_ROOT)/mcf/mcf_hi3516cv500
54else ifeq ($(HIARCH),hi3516ev200)
55    export MCF_ROOT    := $(CBB_ROOT)/mcf/mcf_hi3516ev200
56else
57    export MCF_ROOT    := $(CBB_ROOT)/mcf/mcf_hi3559av100
58endif
59
60ifeq ($(HIARCH),$(filter $(HIARCH), hi3516cv500 hi3519av100))
61    STACK_CFLAGS += --warn-stack-usage=600
62else ifeq ($(HIARCH),hi3559av100)
63    STACK_CFLAGS += --warn-stack-usage=900
64else ifeq ($(HIARCH),hi3516ev200)
65    STACK_CFLAGS += --warn-stack-usage=700
66else
67
68endif
69
70export ISP_ROOT     := $(CBB_ROOT)/isp
71
72
73ifeq ($(HIARCH),hi3516ev200)
74        export TDE_ROOT    := tde/tde_hi3516ev200
75else
76        export TDE_ROOT    := tde/tde
77endif
78
79include $(SDK_PATH)/mpp/cfg.mak
80#*******************************************************************************
81# Include bvt all modules subdir INC.
82# The baseon head include file
83COMM_INC := -I$(CBB_ROOT)/include
84COMM_INC += -I$(CBB_ROOT)/include/adapt
85PUB_INC  := (CBB_ROOT)/include
86COMM_INC += -I$(CBB_ROOT)/init/include/$(OSTYPE)
87
88# chip common header
89COMM_INC += -I$(CBB_ROOT)/base/arch/$(HIARCH)/include
90COMM_INC += -I$(CBB_ROOT)/base/arch/$(HIARCH)/include/$(HI_SUBARCH)
91
92PUB_INC  += $(CBB_ROOT)/base/arch/$(HIARCH)/include
93PUB_INC  += $(CBB_ROOT)/base/arch/$(HIARCH)/include/$(HI_SUBARCH)
94
95# osal include
96COMM_INC += -I$(OSAL_ROOT)/include
97
98# securec include
99#COMM_INC += -I$(SECUREC_ROOT)/include
100
101# tzasc include
102COMM_INC += -I$(TZASC_ROOT)
103
104# cbb include
105COMM_INC += -I$(CBB_ROOT)/base/include/inner
106COMM_INC += -I$(CBB_ROOT)/base/include
107COMM_INC += -I$(CBB_ROOT)/base/include/adapt
108
109COMM_INC += -I$(CBB_ROOT)/sys/include
110COMM_INC += -I$(CBB_ROOT)/sys/include/adapt
111COMM_INC += -I$(CBB_ROOT)/sys/include/inner
112COMM_INC += -I$(CBB_ROOT)/sys/arch/include
113COMM_INC += -I$(CBB_ROOT)/sys/arch/$(HIARCH)/include
114
115COMM_INC += -I$(CBB_ROOT)/vi/include
116COMM_INC += -I$(CBB_ROOT)/vi/include/adapt
117
118COMM_INC += -I$(MCF_ROOT)/include
119
120COMM_INC += -I$(ISP_ROOT)/include
121COMM_INC += -I$(ISP_ROOT)/include/arch/$(HIARCH)/include
122COMM_INC += -I$(ISP_ROOT)/include/arch/$(HIARCH)/include/adapt
123COMM_INC += -I$(ISP_ROOT)/include/adapt
124COMM_INC += -I$(ISP_ROOT)/kernel/arch/$(HIARCH)/include
125COMM_INC += -I$(ISP_ROOT)/user/firmware/arch/$(HIARCH)/include
126COMM_INC += -I$(ISP_ROOT)/user/firmware/include
127COMM_INC += -I$(ISP_ROOT)/user/pq_ai/include
128
129COMM_INC += -I$(CBB_ROOT)/vo/vo_dev/include
130COMM_INC += -I$(CBB_ROOT)/vo/vo_dev/include/adapt
131
132COMM_INC += -I$(CBB_ROOT)/vo/include
133COMM_INC += -I$(CBB_ROOT)/vo/include/adapt
134
135COMM_INC += -I$(CBB_ROOT)/region/include
136COMM_INC += -I$(CBB_ROOT)/region/include/adapt
137
138COMM_INC += -I$(VGS_ROOT)/include
139COMM_INC += -I$(VGS_ROOT)/include/adapt
140
141COMM_INC += -I$(CBB_ROOT)/hdr/include
142COMM_INC += -I$(CBB_ROOT)/hdr/include/adapt
143COMM_INC += -I$(CBB_ROOT)/hdr/include/inner
144
145COMM_INC += -I$(VPSS_ROOT)/include
146COMM_INC += -I$(VPSS_ROOT)/include/adapt
147COMM_INC += -I$(VPSS_ROOT)/include/inner
148
149COMM_INC += -I$(CBB_ROOT)/avs/include
150COMM_INC += -I$(CBB_ROOT)/avs/include/inner
151COMM_INC += -I$(CBB_ROOT)/avs/include/adapt
152
153COMM_INC += -I$(CBB_ROOT)/dis/gmedis/include
154COMM_INC += -I$(CBB_ROOT)/dis/gmedis/include/adapt
155
156COMM_INC += -I$(GDC_ROOT)/include
157COMM_INC += -I$(GDC_ROOT)/include/adapt
158
159COMM_INC += -I$(VENC_ROOT)/include/h7
160COMM_INC += -I$(VENC_ROOT)/include/h7/inner_inc
161COMM_INC += -I$(VENC_ROOT)/include/h7/adapt
162#ifeq ($(CONFIG_HI_OMX_SUPPORT), y)
163COMM_INC += -I$(VENC_ROOT)/include/h7/omx
164#endif
165
166COMM_INC += -I$(VDEC_ROOT)/include/h7
167COMM_INC += -I$(VDEC_ROOT)/include/h7/inner
168COMM_INC += -I$(VDEC_ROOT)/include/h7/adapt
169
170COMM_INC += -I$(CBB_ROOT)/audio/include/h7
171COMM_INC += -I$(CBB_ROOT)/audio/include/h7/adapt
172COMM_INC += -I$(CBB_ROOT)/audio/include/h7/inner
173
174# cbb ext_inc
175COMM_INC += -I$(CBB_ROOT)/base/ext_inc
176COMM_INC += -I$(CBB_ROOT)/sys/ext_inc
177COMM_INC += -I$(CBB_ROOT)/vi/ext_inc
178COMM_INC += -I$(MCF_ROOT)/ext_inc
179COMM_INC += -I$(ISP_ROOT)/ext_inc
180COMM_INC += -I$(CBB_ROOT)/vo/ext_inc
181COMM_INC += -I$(CBB_ROOT)/vo/vo_dev/ext_inc
182COMM_INC += -I$(CBB_ROOT)/region/ext_inc
183COMM_INC += -I$(VGS_ROOT)/ext_inc
184COMM_INC += -I$(GDC_ROOT)/ext_inc
185COMM_INC += -I$(GDC_ROOT)/include/inner
186COMM_INC += -I$(GDC_ROOT)/arch//$(HIARCH)/algorithm/include
187COMM_INC += -I$(VPSS_ROOT)/ext_inc
188COMM_INC += -I$(CBB_ROOT)/dis/gmedis/ext_inc
189COMM_INC += -I$(CBB_ROOT)/dis/gyrodis/ext_inc
190COMM_INC += -I$(VDEC_ROOT)/ext_inc
191COMM_INC += -I$(CBB_ROOT)/jpegd/ext_inc
192COMM_INC += -I$(VENC_ROOT)/ext_inc
193COMM_INC += -I$(CBB_ROOT)/vedu/ext_inc
194COMM_INC += -I$(CBB_ROOT)/audio/ext_inc
195
196COMM_INC += -I$(CBB_ROOT)/sys/mkp/include
197COMM_INC += -I$(CBB_ROOT)/chnl/mkp/include/
198COMM_INC += -I$(VGS_ROOT)/mkp/include
199COMM_INC += -I$(CBB_ROOT)/region/mkp/include
200COMM_INC += -I$(CBB_ROOT)/dis/gmedis/mkp/include
201COMM_INC += -I$(CBB_ROOT)/dis/gyrodis/mkp/include
202COMM_INC += -I$(VDEC_ROOT)/mkp/include
203COMM_INC += -I$(CBB_ROOT)/jpegd/mkp/include
204COMM_INC += -I$(MCF_ROOT)/mkp/include
205
206
207# component include
208COMM_INC += -I$(COMPONENT_ROOT)/$(TDE_ROOT)/include
209COMM_INC += -I$(COMPONENT_ROOT)/$(TDE_ROOT)/driver/include
210COMM_INC += -I$(COMPONENT_ROOT)/hdmi/src/include
211#
212
213ifeq ($(CONFIG_DRIVER_SPACE_TYPE),user_space)
214COMM_INC +=-I $(SDK_PATH)/interdrv/common/hi_irq/include
215endif
216
217export CBB_PARAM_FILE
218#*******************************************************************************
219#used to linux kernel kbuild EXTRA_CFLAGS or huawei_liteos build flags.
220MKP_CFLAGS += -Wall -D$(HIARCH) -D$(HI_FPGA)
221
222ifeq ($(FPGA),y)
223MKP_CFLAGS += -D$(UMAP)
224endif
225
226#NOTES! pls active the macro USE_SYSCTL and _USE_LLI_,when you run in FPGA board
227#NOTES! pls Inactive these two macro if you run in 3510 DEMO board
228MKP_CFLAGS += -D_USE_LLI_
229MKP_CFLAGS += $(COMM_INC)
230
231ifeq ($(CONFIG_HI_GDC_NNIE_SHARE_RAM), y)
232        MKP_CFLAGS += -DHI_GDC_NNIE_SHARE_RAM_CTL
233endif
234
235ifeq ($(CONFIG_HI_VGS_STITCH_SUPPORT), y)
236        MKP_CFLAGS += -DHI_VGS_STITCH_CTL
237endif
238
239ifeq ($(CONFIG_HI_VPSS_SUPPORT), y)
240    VPSS_MPI_INC_DIR := $(VPSS_ROOT)/include
241endif
242
243ifeq ($(CONFIG_HI_VGS_SUPPORT), y)
244    VGS_MPI_INC_ADAPT := include
245endif
246
247ifeq ($(HIARCH), hi3559av100)
248ifeq ($(CONFIG_HI_VDEC_SUPPORT), y)
249    MPP_CFLAGS += -DVDH_DEC_SUPPORT
250endif
251endif
252
253ifeq ($(CONFIG_HI_VDEC_SUPPORT), y)
254    MPP_CFLAGS += -D$(CONFIG_VDEC_IP)
255
256    ifeq ($(CONFIG_VDEC_IP),$(filter $(CONFIG_VDEC_IP), VDEC_IP_VEDU VDEC_IP_VDH_VEDU))
257        MKP_CFLAGS+=-I $(CBB_ROOT)/vedu/mkp/include
258        MKP_CFLAGS+=-I $(CBB_ROOT)/vedu/arch/include
259        MKP_CFLAGS+=-I $(CBB_ROOT)/vedu/arch/$(HIARCH)/include
260        MKP_CFLAGS+=-I $(VFMW_ROOT)/firmware/include
261    endif
262    VDEC_MPI_INC_DIR := $(VDEC_ROOT)/include/h7
263endif
264
265#*******************************************************************************
266MPP_CFLAGS += -D$(HI_RLS_MODE)
267MKP_CFLAGS += $(MPP_CFLAGS)
268MKP_CFLAGS += $(DRV_CFLAGS)
269MPI_CFLAGS += $(MPP_CFLAGS)
270MPI_CFLAGS += $(COMM_INC)
271
272
273# mpi-mkp cbb include
274MPI_CFLAGS += -I$(CBB_ROOT)/base/mkp/include
275MPI_CFLAGS += -I$(CBB_ROOT)/sys/mkp/include
276MPI_CFLAGS += -I$(CBB_ROOT)/vi/mkp/include
277MPI_CFLAGS += -I$(MCF_ROOT)/mkp/include
278MPI_CFLAGS += -I$(CBB_ROOT)/vo/mkp/include
279MPI_CFLAGS += -I$(CBB_ROOT)/vo/vo_dev/mkp/include
280MPI_CFLAGS += -I$(VPSS_ROOT)/mkp/include
281MPI_CFLAGS += -I$(CBB_ROOT)/avs/mkp/include
282MPI_CFLAGS += -I$(GDC_ROOT)/mkp/include
283MPI_CFLAGS += -I$(VDEC_ROOT)/mkp/include
284#*******************************************************************************
285define maco_ln
286    $(foreach file,$(1), $(shell mkdir -p "$(2)";ln -sf $(file) "$(2)/$(notdir $(file))"))
287endef
288
289define maco_rm
290    $(foreach file,$(1), $(shell rm -f $(2)/$(notdir $(file))))
291endef
292
293define maco_cp
294    $(foreach file,$(1), $(shell mkdir -p "$(2)";cp -f $(file) "$(2)/$(notdir $(file))"))
295endef
296
297define maco_cp_file
298    if [ ! -z "$(1)" ];then cp -rf $(1) "$(2)"; fi
299endef
300
301define maco_rmemptydir
302    if [ -e $(1) ];then rmdir --ignore-fail-on-non-empty "$(1)"; fi
303endef
304
305#*******************************************************************************
306#
307export MKP_CFLAGS
308export MPI_CFLAGS
309export ISP_FLAGS
310