-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
92 lines
3.3 KiB
Makefile
92 lines
3.3 KiB
Makefile
SHELL = /bin/bash
|
|
ifeq ($(PARAM_FILE), )
|
|
PARAM_FILE:=../../Makefile.param
|
|
include $(PARAM_FILE)
|
|
endif
|
|
|
|
SDIR = $(PWD)/src
|
|
SRCS := $(wildcard $(SDIR)/*.c)
|
|
|
|
# 3rdparty lib
|
|
OSS_MODULE_INSTALL_PATH = $(OUTPUT_DIR)/mw_$(SDK_VER)/cvitek_mw_sdk
|
|
OSS_MODULE_INCLUDE_PATH = $(OSS_MODULE_INSTALL_PATH)/include
|
|
OSS_MODULE_LIB_PATH = $(OSS_MODULE_INSTALL_PATH)/lib
|
|
|
|
ifneq ($(findstring $(CHIP_ARCH), CV183X CV182X MARS PHOBOS CV181X CV180X),)
|
|
ISP_BIN_DIR = $(MW_PATH)/modules/isp/$(shell echo $(CHIP_ARCH) | tr A-Z a-z)/isp_bin/inc
|
|
else
|
|
$(error UNKNOWN chip architecture - $(CHIP_ARCH))
|
|
endif
|
|
|
|
SRCS_ASM = $(wildcard $(SDIR)/*.S)
|
|
INCS = -I$(MW_INC) -I$(KERNEL_INC) -I$(SYS_INC) -I$(VPSS_INC) -I$(ISP_INC) -Iinclude
|
|
INCS += -I$(SYS_INC) -I$(OSS_MODULE_INCLUDE_PATH)/cvi_json-c -I$(ISP_BIN_DIR) -I$(OSS_MODULE_INCLUDE_PATH)/cvi_miniz
|
|
OBJS = $(SRCS:.c=.o)
|
|
OBJS_ASM = $(SRCS_ASM:.S=.o)
|
|
DEPS = $(SRCS:.c=.d)
|
|
|
|
TARGET_A = $(MW_LIB)/libcvi_bin.a
|
|
TARGET_SO = $(MW_LIB)/libcvi_bin.so
|
|
|
|
EXTRA_CFLAGS = $(INCS) -fpack-struct=8
|
|
EXTRA_CFLAGS += -DMMF_VERSION=\"$(shell git describe --always)\"
|
|
EXTRA_CFLAGS += -DSDK_VER=\"$(SDK_VER)\"
|
|
EXTRA_CFLAGS += -DISP_COMMIT=\"$(shell git rev-parse --short HEAD)\"
|
|
EXTRA_CFLAGS += -DISP_GERRIT=\"$(shell git log -n1 | grep Reviewed-on | tail -n1 | sed "s/.*\///g")\"
|
|
ifeq ($(MULTI_PROCESS_SUPPORT), 1)
|
|
EXTRA_CFLAGS += -DRPC_MULTI_PROCESS
|
|
endif
|
|
|
|
.PHONY : clean all prepare_3rdparty_module
|
|
all : prepare_3rdparty_module $(TARGET_A) $(TARGET_SO)
|
|
|
|
OSS_BUILD_SRCIPT = $(TOP_DIR)/oss/run_build.sh
|
|
OSS_TARBALL_PATH = $(OUTPUT_DIR)/tpu_$(SDK_VER)/third_party
|
|
OSS_TARBALL_CVI_JSONC_PATH = $(OSS_TARBALL_PATH)/cvi-json-c.tar.gz
|
|
OSS_TARBALL_CVI_MINIZ_PATH = $(OSS_TARBALL_PATH)/cvi-miniz.tar.gz
|
|
OSS_MODULE_LIB_CVI_JSONC_CHECK_PATH = $(OSS_MODULE_LIB_PATH)/libcvi_json-c*
|
|
OSS_MODULE_LIB_CVI_MINIZ_CHECK_PATH = $(OSS_MODULE_LIB_PATH)/libcvi_miniz*
|
|
|
|
prepare_3rdparty_module:
|
|
# cvi_json-c
|
|
ifeq "$(wildcard $(OSS_MODULE_LIB_CVI_JSONC_CHECK_PATH))" ""
|
|
ifeq "$(wildcard $(OSS_TARBALL_CVI_JSONC_PATH))" ""
|
|
$(error libcvi_json-c source tarball not exist, please run build_3rd_party first!!)
|
|
endif
|
|
@mkdir -p $(OSS_MODULE_INSTALL_PATH)
|
|
@$(OSS_BUILD_SRCIPT) -n cvi-json-c -e -t "$(OSS_TARBALL_PATH)" -i "$(OSS_MODULE_INSTALL_PATH)"
|
|
endif
|
|
|
|
# cvi_miniz
|
|
ifeq "$(wildcard $(OSS_MODULE_LIB_CVI_MINIZ_CHECK_PATH))" ""
|
|
ifeq "$(wildcard $(OSS_TARBALL_CVI_MINIZ_PATH))" ""
|
|
$(error libcvi_miniz source tarball not exist, please run build_3rd_party first!!)
|
|
endif
|
|
@mkdir -p $(OSS_MODULE_INSTALL_PATH)
|
|
@$(OSS_BUILD_SRCIPT) -n cvi-miniz -e -t "$(OSS_TARBALL_PATH)" -i "$(OSS_MODULE_INSTALL_PATH)"
|
|
endif
|
|
|
|
$(SDIR)/%.o: $(SDIR)/%.c
|
|
@$(CC) $(DEPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ -c $<
|
|
@echo [$(notdir $(CC))] $(notdir $@)
|
|
|
|
$(SDIR)/%.o: $(SDIR)/%.S
|
|
$(CC) $(DEPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ -c $<
|
|
@echo [$(notdir $(CC))] $(notdir $@)
|
|
|
|
$(TARGET_A): $(OBJS) $(OBJS_ASM)
|
|
@$(AR) $(ARFLAGS) $(TARGET_A) $(OBJS) $(OBJS_ASM)
|
|
@echo -e $(YELLOW)[LINK]$(END)[$(notdir $(AR))] $(notdir $(TARGET_A))
|
|
@echo "$$AR_MRI" | $(AR) -M
|
|
|
|
$(TARGET_SO): $(OBJS) $(OBJS_ASM)
|
|
@$(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) -o $(TARGET_SO) --start-group $(OBJS) $(OBJS_ASM) $(LIBS) --end-group
|
|
@echo -e $(GREEN)[LINK]$(END)[$(notdir $(LD))] $(notdir $(TARGET_SO))
|
|
@$(STRIP) $(TARGET_SO)
|
|
|
|
clean:
|
|
@rm -f $(OBJS) $(OBJS_ASM) $(DEPS) $(TARGET_A) $(TARGET_SO)
|
|
@rm -rf $(OSS_MODULE_INSTALL_PATH)
|
|
|
|
-include $(DEPS)
|