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