Tool/software: TI-RTOS
Hi,
I'm getting this error while OpenCV is enabled in VSDK 3.1 and my .mk file is attached below. How can I resolve this issue.
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:36: undefined reference to `ti_opencl_OpenCL_computeUnitList(void) const'
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:36: undefined reference to `ti_opencl_OpenCL_computeUnitList(void) const'
C:/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/../ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/package/lib/lib/ti.opencl/configuration.oa15fg: In function `ti_opencl_get_OCL_GLOBAL_base':
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:41: undefined reference to `ti_opencl_OpenCL_OCL_GLOBAL_base(void) const'
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:41: undefined reference to `ti_opencl_OpenCL_OCL_GLOBAL_base(void) const'
C:/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/../ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/package/lib/lib/ti.opencl/configuration.oa15fg: In function `ti_opencl_get_OCL_GLOBAL_len':
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:46: undefined reference to `ti_opencl_OpenCL_OCL_GLOBAL_len(void) const'
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:46: undefined reference to `ti_opencl_OpenCL_OCL_GLOBAL_len(void) const'
C:/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/../ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/package/lib/lib/ti.opencl/configuration.oa15fg: In function `ti_opencl_get_OCL_HOSTMEM_base':
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:51: undefined reference to `ti_opencl_OpenCL_OCL_HOSTPROG_base(void) const'
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:51: undefined reference to `ti_opencl_OpenCL_OCL_HOSTPROG_base(void) const'
C:/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/../ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/package/lib/lib/ti.opencl/configuration.oa15fg: In function `ti_opencl_get_OCL_HOSTMEM_len':
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:56: undefined reference to `ti_opencl_OpenCL_OCL_HOSTPROG_len(void) const'
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:56: undefined reference to `ti_opencl_OpenCL_OCL_HOSTPROG_len(void) const'
C:/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/../ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/package/lib/lib/ti.opencl/configuration.oa15fg: In function `ti_opencl_get_OCL_LOCAL_base':
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:61: undefined reference to `ti_opencl_OpenCL_OCL_LOCAL_base(void) const'
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:61: undefined reference to `ti_opencl_OpenCL_OCL_LOCAL_base(void) const'
C:/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/../ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/package/lib/lib/ti.opencl/configuration.oa15fg: In function `ti_opencl_get_OCL_LOCAL_len':
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:66: undefined reference to `ti_opencl_OpenCL_OCL_LOCAL_len(void) const'
/home/a0756912/OCL_Release/ti-opencl/packages/ti/opencl/configuration.c:66: undefined reference to `ti_opencl_OpenCL_OCL_LOCAL_len(void) const'
# Filename: rules_a15.mk # # Make rules for A15 - This file has all the common rules and defines required # for Cortex-A15 ISA # # This file needs to change when: # 1. Code generation tool chain changes (currently it uses CodeSourcery) # 2. Internal switches (which are normally not touched) has to change # 3. XDC specific switches change # 4. a rule common for A15 ISA has to be added or modified # Set compiler/archiver/linker commands and include paths CODEGEN_INCLUDE = $(CODEGEN_PATH_A15)/arm-none-eabi/include CC = $(CODEGEN_PATH_A15)/bin/arm-none-eabi-gcc AR = $(CODEGEN_PATH_A15)/bin/arm-none-eabi-ar LNK = $(CODEGEN_PATH_A15)/bin/arm-none-eabi-ld # Derive a part of RTS Library name based on ENDIAN: little/big ifeq ($(ENDIAN),little) RTSLIB_ENDIAN = le else RTSLIB_ENDIAN = be endif # Derive compiler switch and part of RTS Library name based on FORMAT: COFF/ELF ifeq ($(FORMAT),COFF) CSWITCH_FORMAT = ti_arm9_abi RTSLIB_FORMAT = tiarm9 endif ifeq ($(FORMAT),ELF) CSWITCH_FORMAT = eabi RTSLIB_FORMAT = eabi endif # Internal CFLAGS - normally doesn't change CFLAGS_INTERNAL = -c -mcpu=cortex-a15 -g -mfpu=neon -mfloat-abi=hard -mabi=aapcs -mapcs-frame -ffunction-sections -fdata-sections -DSYSBIOS -DCGT_GCC CFLAGS_DIROPTS = CPPFLAGS = ifeq ($(ENABLE_OPENCV), yes) CFLAGS_INTERNAL += -DGENERIC_ARM -DGENERIC CPPFLAGS += -fpermissive endif ifeq ($(CPU_IDLE_ENABLED), yes) CFLAGS_INTERNAL += -DCPU_IDLE_ENABLED endif # CFLAGS based on profile selected ifeq ($(PROFILE_$(CORE)), debug) CFLAGS_INTERNAL += -D_DEBUG_=1 LNKFLAGS_INTERNAL_PROFILE = endif ifeq ($(PROFILE_$(CORE)), release) CFLAGS_INTERNAL += -O2 -s -DNDEBUG LNKFLAGS_INTERNAL_PROFILE = -O2 endif ifeq ($(TREAT_WARNINGS_AS_ERROR), yes) ifneq ($(ENABLE_OPENCV), yes) CFLAGS_INTERNAL += -Werror endif endif ifeq ($(ENABLE_OPENCV), yes) CFLAGS_INTERNAL += -DGENERIC -DGENERIC_ARM -DCV_TIOPENCL endif # XDC specific CFLAGS - updated as per default options observed in CCS based projects CFLAGS_XDCINTERNAL = -Dxdc_target_types__=gnu/targets/arm/std.h -Dxdc_target_name__=A15F -Dxdc_bld__profile_$(PROFILE_$(CORE)) -Dxdc_bld__vers_1_0_4_9_3 -DBIOS_BUILD -Dfar= -D__DYNAMIC_REENT__ ifndef MODULE_NAME CFLAGS_XDCINTERNAL += -Dxdc_cfg__xheader__='$(CONFIGURO_DIR)/package/cfg/a15_app_pa15fg.h' endif # Following 'if...' block is for an application; to add a #define for each # component in the build. This is required to know - at compile time - which # components are on which core. ifndef MODULE_NAME # Derive list of all packages from each of the components needed by the app PKG_LIST_A15_LOCAL = $(foreach COMP,$(COMP_LIST_$(CORE)),$($(COMP)_PKG_LIST)) # Defines for the app and cfg source code to know which components/packages # are included in the build for the local CORE... CFLAGS_APP_DEFINES = $(foreach PKG,$(PKG_LIST_A15_LOCAL),-D_LOCAL_$(PKG)_) CFLAGS_APP_DEFINES += $(foreach PKG,$(PKG_LIST_A15_LOCAL),-D_BUILD_$(PKG)_) ifeq ($(CORE),a15_0) PKG_LIST_A15_REMOTE = $(foreach COMP,$(COMP_LIST_$(CORE)),$($(COMP)_PKG_LIST)) CFLAGS_APP_DEFINES += -D_LOCAL_CORE_$(CORE)_ endif # Defines for the app and cfg source code to know which components/packages # are included in the build for the remote CORE... CFLAGS_APP_DEFINES += $(foreach PKG,$(PKG_LIST_A15_REMOTE),-D_REMOTE_$(PKG)_) CFLAGS_APP_DEFINES += $(foreach PKG,$(PKG_LIST_A15_REMOTE),-D_BUILD_$(PKG)_) endif # This CFLAG is added to include header files for re-entrancy support when migrating to BIOS version 6.37.01.24. XDC tools version 3.25.05.94 CFLAGS_FOR_REENTRANCY_SUPPORT = -I$(BIOSROOT)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/include # Assemble CFLAGS from all other CFLAGS definitions _CFLAGS = $(CFLAGS_GLOBAL_$(CORE)) $(CFLAGS_INTERNAL) $(CFLAGS_XDCINTERNAL) $(CFLAGS_LOCAL_COMMON) $(CFLAGS_LOCAL_$(CORE)) $(CFLAGS_LOCAL_$(PLATFORM)) $(CFLAGS_LOCAL_$(SOCFAMILY)) $(CFLAGS_LOCAL_$(SOC)) $(CFLAGS_APP_DEFINES) $(CFLAGS_COMP_COMMON) $(CFLAGS_GLOBAL_$(PLATFORM)) $(CFLAGS_FOR_REENTRANCY_SUPPORT) INCLUDE_TEMP = $(ndk_INCLUDE) $(nsp_INCLUDE) INCLUDE_UIA = $(uia_INCLUDE) INCLUDE_OPENCL = $(OpenCL_PATH)/packages INCLUDE_EXTERNAL = $(foreach INCL,$(INCLUDE_EXTERNAL_INTERFACES),$($(INCL)_INCLUDE)) INCLUDE_INTERNAL = $(foreach INCL,$(INCLUDE_INTERNAL_INTERFACES),$($(INCL)_INCLUDE)) INCLUDE_ALL = $(CODEGEN_INCLUDE) $(INCDIR) $(INCLUDE_EXTERNAL) $(INCLUDE_INTERNAL) $(INCLUDE_TEMP) $(INCLUDE_OPENCL) $(INCLUDE_UIA) # Add prefix "-I" to each of the include paths in INCLUDE_ALL INCLUDES = $(addprefix -I,$(INCLUDE_ALL)) INCLUDES += -I$(vision_sdk_PATH)/links_fw/include/config/$(MAKEAPPNAME)/$(MAKECONFIG) INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/calib3d INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/core INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/flann INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/core/cuda INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/core/hal INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/features2d INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/genericio INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/highgui INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/imgcodecs INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/imgproc INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/ml INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/objdetect INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/photo INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/shape INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/stitching INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/superres INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/video INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/videoio INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/videostab INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2 INCLUDES += -I$(vision_sdk_PATH)/../ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl # Object file creation # The first $(CC) generates the dependency make files for each of the objects # The second $(CC) compiles the source to generate object $(OBJ_PATHS): $(OBJDIR)/%.$(OBJEXT): %.c $(ECHO) \# Compiling $(PLATFORM):$(CORE):$(PROFILE_$(CORE)):$(APP_NAME)$(MODULE_NAME): $< $(CC) -MD -MF $(DEPDIR)/$(basename $(notdir $<)).P $(_CFLAGS) $(INCLUDES) $(CFLAGS_DIROPTS) -o $(OBJDIR)/$(basename $(notdir $<)).$(OBJEXT) $< $(OBJ_PATHS_CPP): $(OBJDIR)/%.$(OBJEXT): %.cpp $(ECHO) \# Compiling $(PLATFORM):$(CORE):$(PROFILE_$(CORE)):$(APP_NAME)$(MODULE_NAME): $< $(CC) -MD -MF $(DEPDIR)/$(basename $(notdir $<)).P $(_CFLAGS) $(CPPFLAGS) -Wno-write-strings $(INCLUDES) $(CFLAGS_DIROPTS) -o $(OBJDIR)/$(basename $(notdir $<)).$(OBJEXT) $< ASMFLAGS = $(ASMFLAGS_INTERNAL) $(ASMFLAGS_GLOBAL_$(CORE)) $(ASMFLAGS_LOCAL_COMMON) $(ASMFLAGS_LOCAL_$(CORE)) $(ASMFLAGS_LOCAL_$(PLATFORM)) $(ASMFLAGS_LOCAL_$(SOCFAMILY)) $(ASMFLAGS_LOCAL_$(SOC)) $(ASMFLAGS_APP_DEFINES) $(ASMFLAGS_COMP_COMMON) $(ASMFLAGS_GLOBAL_$(PLATFORM)) # Object file creation $(OBJ_PATHS_ASM): $(OBJDIR)/%.$(OBJEXT): %.asm $(ECHO) \# Compiling $(PLATFORM):$(CORE):$(PROFILE_$(CORE)):$(APP_NAME)$(MODULE_NAME): $< $(CC) -c -x assembler-with-cpp $(_CFLAGS) $(ASMFLAGS) $(INCLUDES) -o $(OBJDIR)/$(basename $(notdir $<)).$(OBJEXT) $< $(PACKAGE_PATHS): $(PACKAGEDIR)/%: % $(ECHO) \# Copying $(PACKAGE_NAME)/$($(MODULE_NAME)_RELPATH)/$< $(MKDIR) -p $(DEST_ROOT)/package/$(PACKAGE_SELECT)/$(PACKAGE_NAME)/$($(MODULE_NAME)_RELPATH) $(CP) --parents -rf $< $(DEST_ROOT)/package/$(PACKAGE_SELECT)/$(PACKAGE_NAME)/$($(MODULE_NAME)_RELPATH) # Archive flags - normally doesn't change ARFLAGS = cr # Archive/library file creation $(LIBDIR)/$(MODULE_NAME).$(LIBEXT) : $(OBJ_PATHS_ASM) $(OBJ_PATHS) $(OBJ_PATHS_CPP) ifneq "$(or $(OBJ_PATHS),$(OBJ_PATHS_ASM),$(OBJ_PATHS_CPP))""" $(ECHO) \# $(ECHO) \# Archiving $(PLATFORM):$(CORE):$(PROFILE_$(CORE)):$(MODULE_NAME) $(ECHO) \# $(AR) $(ARFLAGS) $@ $(OBJ_PATHS_ASM) $(OBJ_PATHS) $(OBJ_PATHS_CPP) endif # Linker options and rules LNKFLAGS_INTERNAL_COMMON = --gc-sections # Assemble Linker flags from all other LNKFLAGS definitions _LNKFLAGS = $(LNKFLAGS_INTERNAL_COMMON) $(LNKFLAGS_INTERNAL_PROFILE) $(LNKFLAGS_GLOBAL_$(CORE)) $(LNKFLAGS_LOCAL_COMMON) $(LNKFLAGS_LOCAL_$(CORE)) # Path of the RTS library - normally doesn't change for a given tool-chain RTSLIB_PATH = ifdef APP_NAME # The application libs created are read from the file APP_LIB_PATHS = $(shell $(CAT) $(DEST_ROOT)/linksfwLibList_$(CORE)_$(PROFILE_$(CORE)).txt) endif ifeq ($(DUAL_A15_SMP_BIOS),yes) LIB_PATHS += $(pdk_PATH)/packages/ti/drv/vps/lib/$(SOC)/$(ISA)/$(PROFILE_$(CORE))/vps_osal_tirtos_smp.$(LIBEXT) else LIB_PATHS += $(pdk_PATH)/packages/ti/drv/vps/lib/$(SOC)/$(ISA)/$(PROFILE_$(CORE))/vps_osal_tirtos.$(LIBEXT) endif ifdef APP_NAME # The application libs created are read from the file LIB_PATHS += $(shell $(CAT) $(DEST_ROOT)/linksfwLibList_$(CORE)_$(PROFILE_$(CORE)).txt) endif # Application libs LIB_PATHS += $(APP_LIBS_$(CORE)) LIB_PATHS += $(ndk_PATH)/packages/ti/ndk/tools/servers/lib/servers_ipv4.$(LIBEXT) LIB_PATHS += $(ndk_PATH)/packages/ti/ndk/os/lib/os.$(LIBEXT) LIB_PATHS += $(DEST_ROOT)/lib/$(PLATFORM)/$(ISA)/$(PROFILE_$(CORE))/edma3lld_rm.$(LIBEXT) LIB_PATHS += $(DEST_ROOT)/lib/$(PLATFORM)/$(ISA)/$(PROFILE_$(CORE))/edma3lld_drv.$(LIBEXT) LIB_PATHS += $(pdk_PATH)/packages/ti/drv/pm/lib/$(SOC)/$(ISA)/$(PROFILE_$(CORE))/pm_hal.$(LIBEXT) LIB_PATHS += $(pdk_PATH)/packages/ti/drv/pm/lib/$(SOC)/$(ISA)/$(PROFILE_$(CORE))/pm_lib.$(LIBEXT) LIB_PATHS += $(pdk_PATH)/packages/ti/csl/lib/$(SOC)/$(ISA)/$(PROFILE_$(CORE))/ti.csl.$(LIBEXT) LIB_PATHS += $(pdk_PATH)/packages/ti/boot/sbl_auto/qspiflash/lib/$(SOC)/$(ISA)/$(PROFILE_$(CORE))/qspiflash_lib.$(LIBEXT) LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_calib3d.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_core.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_features2d.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_flann.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_genericio.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_highgui.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_imgcodecs.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_imgproc.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_ml.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_objdetect.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_perf_calib3d.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_perf_core.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_perf_features2d.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_perf_imgcodecs.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_perf_imgproc.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_perf_objdetect.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_perf_photo.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_perf_stitching.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_perf_superres.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_perf_video.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_perf_videoio.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_photo.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_shape.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_stitching.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_superres.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_calib3d.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_core.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_features2d.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_flann.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_highgui.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_imgcodecs.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_imgproc.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_objdetect.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_photo.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_shape.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_stitching.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_superres.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_video.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_test_videoio.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_ts.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_video.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_videoio.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libopencv_videostab.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libpng.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencv/opencv-3.1.0/libs_bios/libzlib.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/usr/lib/libOpenCL.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/usr/lib/libocl_util.a LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/package/lib/lib/ti.opencl/configuration.oa15fg LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/lib/ti.opencl.aa15fg LIB_PATHS += $(vision_sdk_PATH)/../ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/package/lib/lib/ti.opencl/package/package_ti.opencl.oa15fg ifeq ($(IPC_LIB_INCLUDE),yes) LIB_PATHS += $(pdk_PATH)/packages/ti/drv/ipc_lite/lib/$(SOC)/$(CORE)/$(PROFILE_$(CORE))/ipc_lib.$(LIBEXT) endif LIB_PATHS += $(pdk_PATH)/packages/ti/drv/stw_lld/platform/lib/$(SOC)/$(ISA)/$(PROFILE_$(CORE))/stw_platform.$(LIBEXT) LIB_PATHS += $(pdk_PATH)/packages/ti/drv/stw_lld/fatlib/lib/$(SOC)/$(ISA)/$(PROFILE_$(CORE))/stw_fatlib.$(LIBEXT) LIB_PATHS += $(RTSLIB_PATH) OPENCLAPP_LIBS_a15_0 = LIB_PATHS_DIR = $(BIOSROOT)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu LIB_PATHS_DIR += $(CODEGEN_PATH_A15)/lib/gcc/arm-none-eabi/4.9.3/fpu LIB_PATHS_DIR += $(CODEGEN_PATH_A15)/arm-none-eabi/lib/fpu LNK_LIBS = $(addprefix -L,$(LIB_PATHS_DIR)) #LNK_LIBS += $(LIB_PATHS) LNK_LIBS += --start-group $(LIB_PATHS) --end-group # Added -lgcc twice to support both "before" and "after" order with -lm and -lc # This is required to satisfy some linking order to support # some Math/Algo kernals on A15 #LNK_LIBS += -lstdc++ -lgcc -lm -lc -lgcc -lnosys LNK_LIBS += --start-group -lstdc++ -lgcc -lc -lm -lnosys --end-group OPENCVAPP_LIBS_a15_0 = --start-group $(_OPENCVAPP_LIBS_a15_0) --end-group # Linker - to create executable file ifeq ($(LOCAL_APP_NAME),) EXE_NAME = $(BINDIR)/$(APP_NAME)_$(CORE)_$(PROFILE_$(CORE)).$(EXEEXT) else ifeq ($(PROFILE_$(CORE)),prod_release) EXE_NAME = $(BINDIR)/$(LOCAL_APP_NAME).$(EXEEXT) else EXE_NAME = $(BINDIR)/$(LOCAL_APP_NAME)_$(PROFILE_$(CORE)).$(EXEEXT) endif endif $(EXE_NAME) : $(OBJ_PATHS_ASM) $(OBJ_PATHS) $(OBJ_PATHS_CPP) $(LIB_PATHS) $(LNKCMD_FILE) $(OBJDIR)/$(CFG_COBJ_XDC) $(ECHO) \# Linking into $(EXE_NAME)... $(ECHO) \# $(CP) $(OBJDIR)/$(CFG_COBJ_XDC) $(CONFIGURO_DIR)/package/cfg $(LNK) $(_LNKFLAGS) --start-group $(OBJ_PATHS_ASM) $(OBJ_PATHS) $(OBJ_PATHS_CPP) $(APP_LIB_PATHS) $(OPENCVAPP_LIBS_a15_0) $(OPENCLAPP_LIBS_a15_0) -T $(LNKCMD_FILE) $(LNK_LIBS) --end-group -Map=$@.map -o $@ $(ECHO) \# $(ECHO) \# $@ created. $(ECHO) \# # XDC specific - assemble XDC-Configuro command ifeq ($(PROFILE_$(CORE)),prod_release) CONFIGURO_PROFILE = release else CONFIGURO_PROFILE = $(PROFILE_$(CORE)) endif CONFIGURO_CMD = $(xdc_PATH)/xs xdc.tools.configuro --generationOnly -o $(CONFIGURO_DIR) -t $(TARGET_XDC) -p $(PLATFORM_XDC) \ -r $(CONFIGURO_PROFILE) -b $(CONFIG_BLD_XDC_$(ISA)) --cfgArgs $(CFGARGS_XDC) $(XDC_CFG_FILE_NAME) _XDC_GREP_STRING = \"$(XDC_GREP_STRING)\" EGREP_CMD = $(EGREP) -ivw $(XDC_GREP_STRING) $(XDCLNKCMD_FILE) ifeq ($(OS),Windows_NT) EVERYONE = $(word 1,$(shell whoami -groups | findstr "S-1-1-0")) endif # Invoke configuro for the rest of the components # NOTE: 1. String handling is having issues with various make versions when the # cammand is directly tried to be given below. Hence, as a work-around, # the command is re-directed to a file (shell or batch file) and then # executed # 2. The linker.cmd file generated, includes the libraries generated by # XDC. An egrep to search for these and omit in the .cmd file is added # after configuro is done xdc_configuro : $(XDC_CFG_FILE) $(ECHO) \# Invoking configuro... $(MKDIR) -p $(DEST_ROOT) $(ECHO) -e $(CONFIGURO_CMD) > $(DEST_ROOT)/maketemp_configuro_cmd_$(CORE).bat ifeq ($(OS),Windows_NT) CACLS $(DEST_ROOT)/maketemp_configuro_cmd_$(CORE).bat /E /P $(EVERYONE):F else $(CHMOD) a+x $(DEST_ROOT)/maketemp_configuro_cmd_$(CORE).bat endif $(DEST_ROOT)/maketemp_configuro_cmd_$(CORE).bat $(CP) $(XDCLNKCMD_FILE) $(LNKCMD_FILE) $(ECHO) \# Configuro done! $(LNKCMD_FILE) : ifndef MODULE_NAME $(OBJDIR)/$(CFG_COBJ_XDC) : $(CFG_C_XDC) $(ECHO) \# Compiling generated $< to $@ ... $(CC) $(_CFLAGS) $(INCLUDES) $(CFLAGS_DIROPTS)-o $@ $(CFG_C_XDC) endif # Include dependency make files that were generated by $(CC) -include $(SRCS:%.c=$(DEPDIR)/%.P) -include $(SRCS_CPP:%.cpp=$(DEPDIR)/%.P) # Nothing beyond this point