-e90961, fix aac+vqe "reamain data not process AEC" bug. -3c08de, split module vpu into vi vo vpss rgn gdc. -b5d998, (ive): add comment to api. -166849, mw support arm32. Change-Id: Ied488d392da9eed2e3a94e1244eeee540c389372
207 lines
5.8 KiB
Makefile
207 lines
5.8 KiB
Makefile
SHELL = /bin/bash
|
|
|
|
include $(BUILD_PATH)/.config
|
|
|
|
## setup path ##
|
|
ROOT_DIR:=$(shell dirname $(realpath $(PARAM_FILE)))
|
|
export MW_PATH:= $(ROOT_DIR)
|
|
export MW_INC := $(MW_PATH)/include
|
|
export MW_LIB := $(MW_PATH)/lib
|
|
export MW_3RD_LIB := $(MW_PATH)/lib/3rd
|
|
|
|
ifeq ($(KERNEL_DIR), )
|
|
KERNEL_PATH ?= $(ROOT_DIR)/../../$(KERNEL_SRC)
|
|
ifeq ($(PROJECT_FULLNAME), )
|
|
$(error PROJECT_FULLNAME not defined! Please check!)
|
|
else
|
|
KERNEL_DIR = $(KERNEL_PATH)/build/$(PROJECT_FULLNAME)
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(SDK_VER), 32bit)
|
|
export CROSS_COMPILE = $(CROSS_COMPILE_32)
|
|
SYSROOT := $(ROOT_DIR)/../../ramdisk/sysroot/sysroot-glibc-linaro-2.23-2017.05-arm-linux-gnueabihf/
|
|
KERNEL_INC := $(KERNEL_DIR)/arm/usr/include
|
|
OPT_LEVEL := -O3
|
|
else ifeq ($(SDK_VER), 64bit)
|
|
export CROSS_COMPILE = $(CROSS_COMPILE_64)
|
|
SYSROOT := $(ROOT_DIR)/../../ramdisk/sysroot/sysroot-glibc-linaro-2.23-2017.05-aarch64-linux-gnu/
|
|
KERNEL_INC := $(KERNEL_DIR)/arm64/usr/include
|
|
OPT_LEVEL := -O3
|
|
else ifeq ($(SDK_VER), uclibc)
|
|
export CROSS_COMPILE = $(CROSS_COMPILE_UCLIBC)
|
|
SYSROOT := $(ROOT_DIR)/../../ramdisk/sysroot/sysroot-uclibc/
|
|
KERNEL_INC := $(KERNEL_DIR)/arm/usr/include
|
|
OPT_LEVEL := -Os
|
|
else ifeq ($(SDK_VER), glibc_riscv64)
|
|
export CROSS_COMPILE = $(CROSS_COMPILE_GLIBC_RISCV64)
|
|
SYSROOT := $(ROOT_DIR)/../../host-tools/gcc/riscv64-linux-x86_64/sysroot
|
|
KERNEL_INC := $(KERNEL_DIR)/riscv/usr/include
|
|
OPT_LEVEL := -Os
|
|
OPT_LEVEL += -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d
|
|
else ifeq ($(SDK_VER), musl_riscv64)
|
|
export CROSS_COMPILE = $(CROSS_COMPILE_MUSL_RISCV64)
|
|
SYSROOT := $(ROOT_DIR)/../../host-tools/gcc/riscv64-linux-musl-x86_64/sysroot
|
|
KERNEL_INC := $(KERNEL_DIR)/riscv/usr/include
|
|
OPT_LEVEL := -Os
|
|
OPT_LEVEL += -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d
|
|
endif
|
|
|
|
## INCLUDE PATH ##
|
|
COMMON_INC = $(MW_PATH)/sample/common/include
|
|
SYS_INC = $(MW_PATH)/modules/sys/include
|
|
VI_INC = $(MW_PATH)/modules/vi/include
|
|
VPSS_INC = $(MW_PATH)/modules/vpss/include
|
|
VO_INC = $(MW_PATH)/modules/vo/include
|
|
GDC_INC = $(MW_PATH)/modules/gdc/include
|
|
RGN_INC = $(MW_PATH)/modules/rgn/include
|
|
AUD_INC = $(MW_PATH)/modules/audio/include
|
|
BIN_INC = $(MW_PATH)/modules/bin/include
|
|
|
|
MODULES_DIR = $(shell if [ -d $(MW_PATH)/modules ]; then echo "exist"; else echo "noexist"; fi)
|
|
|
|
ifeq ("$(MODULES_DIR)" , "noexist")
|
|
ISP_INC = $(MW_INC)/isp/$(shell echo $(CHIP_ARCH) | tr A-Z a-z)
|
|
else
|
|
ISP_INC = $(MW_PATH)/modules/isp/include/$(shell echo $(CHIP_ARCH) | tr A-Z a-z)
|
|
endif
|
|
|
|
## LIBRARY ##
|
|
ISP_LIB := -lisp -lawb -lae -laf
|
|
ISP_OBJ := $(MW_LIB)/libisp.a $(MW_LIB)/libae.a $(MW_LIB)/libawb.a $(MW_LIB)/libaf.a
|
|
|
|
ifeq ($(CHIP_ARCH), CV183X)
|
|
else ifeq ($(CHIP_ARCH), $(filter $(CHIP_ARCH), CV182X MARS PHOBOS CV181X CV180X))
|
|
ISP_LIB += -lisp_algo
|
|
ISP_OBJ += $(MW_LIB)/libisp_algo.a
|
|
else
|
|
ifeq ($(SUBTYPE), fpga)
|
|
ISP_LIB += -lisp_algo
|
|
ISP_OBJ += $(MW_LIB)/libisp_algo.a
|
|
else
|
|
$(error UNKNOWN chip architecture - $(CHIP_ARCH))
|
|
endif
|
|
endif
|
|
|
|
## DEFINES ##
|
|
export PROJ_CFLAGS = -DF10
|
|
|
|
ifeq ($(SUBTYPE), fpga)
|
|
export FPGA_PORTING := true
|
|
else
|
|
export FPGA_PORTING := false
|
|
endif
|
|
|
|
MW_GLIBC_DEPENDENT := $(SYSROOT)/lib
|
|
|
|
## GCC COMPILER ##
|
|
CC = $(CROSS_COMPILE)gcc
|
|
CXX = $(CROSS_COMPILE)g++
|
|
AR = $(CROSS_COMPILE)ar
|
|
LD = $(CROSS_COMPILE)ld
|
|
NM = $(CROSS_COMPILE)nm
|
|
RANLIB = $(CROSS_COMPILE)ranlib
|
|
STRIP = $(CROSS_COMPILE)strip
|
|
OBJCOPY = $(CROSS_COMPILE)objcopy
|
|
|
|
### COMMON COMPILER FLAGS ###
|
|
#
|
|
# export TARGET_PACKAGES_INCLUDE and TARGET_PACKAGES_LIBDIR from build/Makefile
|
|
#
|
|
WARNING_LEVEL=-Wall -Wextra -Werror
|
|
|
|
#Generate object files by CC
|
|
CFLAGS = $(OPT_LEVEL) -std=gnu11 -g $(WARNING_LEVEL) -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections $(CVI_TARGET_PACKAGES_INCLUDE)
|
|
#Generate object files by CXX
|
|
CXXFLAGS = $(OPT_LEVEL) -std=gnu++11 -g $(WARNING_LEVEL) -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections $(CVI_TARGET_PACKAGES_INCLUDE)
|
|
#Generate dependencies files by CC and CXX
|
|
DEPFLAGS = -MMD
|
|
|
|
### COMMON AR and LD FLAGS ###
|
|
#Generate archive file by AR
|
|
ARFLAGS = rcs
|
|
#Generate shared library by LD
|
|
LDFLAGS = -shared -fPIC --gc-sections -export-dynamic -L$(MW_LIB) -L$(MW_3RD_LIB) --sysroot $(SYSROOT) $(CVI_TARGET_PACKAGES_LIBDIR)
|
|
|
|
### COMMON ELF FLAGS ###
|
|
#Generate ELF files by CC and CXX
|
|
ELFFLAGS = $(OPT_LEVEL) -Wl,--gc-sections -rdynamic -L$(MW_LIB) -L$(MW_3RD_LIB) $(CVI_TARGET_PACKAGES_LIBDIR)
|
|
|
|
ifeq ($(SDK_VER), glibc_riscv64)
|
|
CFLAGS += -mno-ldd
|
|
CXXFLAGS += -mno-ldd
|
|
else ifeq ($(SDK_VER), musl_riscv64)
|
|
CFLAGS += -mno-ldd
|
|
CXXFLAGS += -mno-ldd
|
|
endif
|
|
|
|
ifeq ($(CONFIG_DEBUG_INFO), y)
|
|
ifeq ($(CONFIG_DEBUG_INFO_SPLIT), y)
|
|
CFLAGS += -gsplit-dwarf
|
|
CXXFLAGS += -gsplit-dwarf
|
|
else ifeq ($(CONFIG_DEBUG_INFO_DWARF4), y)
|
|
CFLAGS += -gdwarf-4
|
|
CXXFLAGS += -gdwarf-4
|
|
else ifeq ($(CONFIG_DEBUG_INFO_REDUCED), y)
|
|
CFLAGS += -femit-struct-debug-baseonly -fno-var-tracking
|
|
CXXFLAGS += -femit-struct-debug-baseonly -fno-var-tracking
|
|
else
|
|
CFLAGS += -Og
|
|
CXXFLAGS += -Og
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(MTRACE), y)
|
|
ifneq ($(SDK_VER),uclibc)
|
|
CFLAGS += -DMTRACE
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(FPGA_PORTING), true)
|
|
CFLAGS += -DFPGA_PORTING
|
|
endif
|
|
|
|
ifeq ($(CONFIG_DDR_64MB_SIZE), y)
|
|
CFLAGS += -DDDR_64MB_SIZE
|
|
endif
|
|
|
|
SAMPLE_STATIC ?= 1
|
|
SELF_TEST_STATIC ?= 1
|
|
SAMPLE_TPU_ENABLE ?= 0
|
|
ENABLE_ISP_C906L = 0
|
|
|
|
ifeq ($(CONFIG_ENABLE_SDK_ASAN), y)
|
|
CFLAGS += -fsanitize=address -fno-omit-frame-pointer
|
|
CXXFLAGS += -fsanitize=address -fno-omit-frame-pointer
|
|
ELFFLAGS += -fsanitize=address -fno-omit-frame-pointer -g
|
|
LDFLAGS += -fsanitize=address -fno-omit-frame-pointer -fno-common -g
|
|
SAMPLE_STATIC = 0
|
|
SELF_TEST_STATIC = 0
|
|
endif
|
|
|
|
ifeq ($(CONFIG_DISABLE_PQBIN_JSON), y)
|
|
CFLAGS += -DDISABLE_PQBIN_JSON
|
|
endif
|
|
|
|
CFLAGS += -DARCH_$(CHIP_ARCH)
|
|
|
|
ifeq ("$(CVIARCH)", "CV181X")
|
|
CFLAGS += -D__CV181X__
|
|
endif
|
|
ifeq ("$(CVIARCH)", "CV180X")
|
|
CFLAGS += -D__CV180X__
|
|
endif
|
|
|
|
## COLOR ##
|
|
BLACK = "\e[30;1m"
|
|
RED = "\e[31;1m"
|
|
GREEN = "\e[32;1m"
|
|
YELLOW = "\e[33;1m"
|
|
BLUE = "\e[34;1m"
|
|
PURPLE = "\e[35;1m"
|
|
CYAN = "\e[36;1m"
|
|
WHITE = "\e[37;1m"
|
|
|
|
END= "\e[0m"
|
|
|