AVT相机arm版本SDK
This commit is contained in:
100
Vimba_6_0/VimbaCPP/Build/Make/Common.mk
Normal file
100
Vimba_6_0/VimbaCPP/Build/Make/Common.mk
Normal file
@@ -0,0 +1,100 @@
|
||||
UNAME = $(shell uname -m)
|
||||
|
||||
ifeq ($(UNAME),i386)
|
||||
ARCH = x86
|
||||
AUTOWORDSIZE = 32
|
||||
AUTOFLOATABI = ignore
|
||||
endif
|
||||
ifeq ($(UNAME),i486)
|
||||
ARCH = x86
|
||||
AUTOWORDSIZE = 32
|
||||
AUTOFLOATABI = ignore
|
||||
endif
|
||||
ifeq ($(UNAME),i586)
|
||||
ARCH = x86
|
||||
AUTOWORDSIZE = 32
|
||||
AUTOFLOATABI = ignore
|
||||
endif
|
||||
ifeq ($(UNAME),i686)
|
||||
ARCH = x86
|
||||
AUTOWORDSIZE = 32
|
||||
AUTOFLOATABI = ignore
|
||||
endif
|
||||
ifeq ($(UNAME),x86_64)
|
||||
ARCH = x86
|
||||
AUTOWORDSIZE = 64
|
||||
AUTOFLOATABI = ignore
|
||||
endif
|
||||
ifeq ($(UNAME),amd64)
|
||||
ARCH = x86
|
||||
AUTOWORDSIZE = 64
|
||||
AUTOFLOATABI = ignore
|
||||
endif
|
||||
ifeq ($(UNAME),armv6l)
|
||||
ARCH = arm
|
||||
AUTOWORDSIZE = 32
|
||||
AUTOFLOATABI = soft
|
||||
endif
|
||||
ifeq ($(UNAME),armv7l)
|
||||
ARCH = arm
|
||||
AUTOWORDSIZE = 32
|
||||
AUTOFLOATABI = soft
|
||||
endif
|
||||
ifeq ($(UNAME),aarch64)
|
||||
ARCH = arm
|
||||
AUTOWORDSIZE = 64
|
||||
AUTOFLOATABI = hard
|
||||
endif
|
||||
|
||||
#Possible word sizes: 32, 64
|
||||
WORDSIZE = $(AUTOWORDSIZE)
|
||||
#Possible float abis: soft, hard
|
||||
FLOATABI = $(AUTOFLOATABI)
|
||||
|
||||
ifneq ($(WORDSIZE),32)
|
||||
ifneq ($(WORDSIZE),64)
|
||||
$(error Invalid word size set)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(FLOATABI),soft)
|
||||
ifneq ($(FLOATABI),hard)
|
||||
ifneq ($(FLOATABI),ignore)
|
||||
$(error Invalid float abi set)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#Common tools
|
||||
PKGCFG = pkg-config
|
||||
MKDIR = mkdir
|
||||
RM = rm
|
||||
CXX = g++
|
||||
MAKE = make
|
||||
CP = cp
|
||||
|
||||
#Set word size on x86
|
||||
ifeq ($(ARCH),x86)
|
||||
ARCH_CFLAGS = -m$(WORDSIZE)
|
||||
endif
|
||||
|
||||
#Configure compiler and linker for soft or hard-float build on ARM
|
||||
ifeq ($(ARCH),arm)
|
||||
ifeq ($(FLOATABI),soft)
|
||||
ARCH_CFLAGS = -marm -mfloat-abi=soft -march=armv4t
|
||||
else ifeq ($(FLOATABI),hard)
|
||||
ifeq ($(WORDSIZE),32)
|
||||
ARCH_CFLAGS = -mthumb -mfloat-abi=hard -march=armv7
|
||||
else ifeq ($(WORDSIZE),64)
|
||||
ARCH_CFLAGS = -march=armv8-a
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG),Debug)
|
||||
CONFIG_CFLAGS = -O0 -g
|
||||
else
|
||||
CONFIG_CFLAGS = -O3
|
||||
endif
|
||||
|
||||
COMMON_CFLAGS = $(CONFIG_CFLAGS) $(ARCH_CFLAGS) -fPIC
|
||||
73
Vimba_6_0/VimbaCPP/Build/Make/Makefile
Normal file
73
Vimba_6_0/VimbaCPP/Build/Make/Makefile
Normal file
@@ -0,0 +1,73 @@
|
||||
PROJECT_NAME = VimbaCPP
|
||||
|
||||
PROJECT_DIR = ../..
|
||||
VIMBASDK_DIR = $(PROJECT_DIR)/..
|
||||
MAKE_INCLUDE_DIR = $(CURDIR)
|
||||
|
||||
include $(MAKE_INCLUDE_DIR)/Common.mk
|
||||
|
||||
CONFIG_DIR = $(ARCH)_$(WORDSIZE)bit
|
||||
BIN_FILE = lib$(PROJECT_NAME).so
|
||||
BIN_DIR = dynamic/$(CONFIG_DIR)
|
||||
OBJ_DIR = object/$(CONFIG_DIR)
|
||||
BIN_PATH = $(BIN_DIR)/$(BIN_FILE)
|
||||
|
||||
all: $(BIN_PATH)
|
||||
|
||||
include $(MAKE_INCLUDE_DIR)/VimbaC.mk
|
||||
|
||||
SOURCE_DIR = $(PROJECT_DIR)/Source
|
||||
INCLUDE_DIRS = -I$(PROJECT_DIR)/..
|
||||
|
||||
LIBS = $(VIMBAC_LIBS) \
|
||||
-lpthread
|
||||
|
||||
DEFINES =
|
||||
|
||||
CFLAGS = $(COMMON_CFLAGS) \
|
||||
$(VIMBAC_CFLAGS)
|
||||
|
||||
OBJ_FILES = $(OBJ_DIR)/AncillaryData.o \
|
||||
$(OBJ_DIR)/BaseFeature.o \
|
||||
$(OBJ_DIR)/BasicLockable.o \
|
||||
$(OBJ_DIR)/BoolFeature.o \
|
||||
$(OBJ_DIR)/Camera.o \
|
||||
$(OBJ_DIR)/Clock.o \
|
||||
$(OBJ_DIR)/CommandFeature.o \
|
||||
$(OBJ_DIR)/Condition.o \
|
||||
$(OBJ_DIR)/ConditionHelper.o \
|
||||
$(OBJ_DIR)/DefaultCameraFactory.o \
|
||||
$(OBJ_DIR)/EnumEntry.o \
|
||||
$(OBJ_DIR)/EnumFeature.o \
|
||||
$(OBJ_DIR)/FeatureContainer.o \
|
||||
$(OBJ_DIR)/Feature.o \
|
||||
$(OBJ_DIR)/FileLogger.o \
|
||||
$(OBJ_DIR)/FloatFeature.o \
|
||||
$(OBJ_DIR)/Frame.o \
|
||||
$(OBJ_DIR)/FrameHandler.o \
|
||||
$(OBJ_DIR)/Interface.o \
|
||||
$(OBJ_DIR)/IntFeature.o \
|
||||
$(OBJ_DIR)/Mutex.o \
|
||||
$(OBJ_DIR)/MutexGuard.o \
|
||||
$(OBJ_DIR)/RawFeature.o \
|
||||
$(OBJ_DIR)/Semaphore.o \
|
||||
$(OBJ_DIR)/StringFeature.o \
|
||||
$(OBJ_DIR)/VimbaSystem.o
|
||||
|
||||
DEPENDENCIES = VimbaC
|
||||
|
||||
$(OBJ_DIR)/%.o: $(SOURCE_DIR)/%.cpp $(OBJ_DIR)
|
||||
$(CXX) -c $(INCLUDE_DIRS) $(DEFINES) $(CFLAGS) -o $@ $<
|
||||
|
||||
$(BIN_PATH): $(DEPENDENCIES) $(OBJ_FILES) $(BIN_DIR)
|
||||
$(CXX) -shared $(ARCH_CFLAGS) -o $(BIN_PATH) $(OBJ_FILES) $(LIBS) -Wl,-rpath,'$$ORIGIN'
|
||||
|
||||
clean:
|
||||
$(RM) dynamic -r -f
|
||||
$(RM) object -r -f
|
||||
|
||||
$(OBJ_DIR):
|
||||
$(MKDIR) -p $(OBJ_DIR)
|
||||
|
||||
$(BIN_DIR):
|
||||
$(MKDIR) -p $(BIN_DIR)
|
||||
14
Vimba_6_0/VimbaCPP/Build/Make/VimbaC.mk
Normal file
14
Vimba_6_0/VimbaCPP/Build/Make/VimbaC.mk
Normal file
@@ -0,0 +1,14 @@
|
||||
include $(MAKE_INCLUDE_DIR)/Common.mk
|
||||
|
||||
#Compile options needed for VimbaC
|
||||
VIMBAC_CFLAGS = -I$(VIMBASDK_DIR)
|
||||
|
||||
#Linker options needed for VimbaC
|
||||
VIMBAC_LIBS = -L$(BIN_DIR) -lVimbaC
|
||||
|
||||
#By default we copy libVimbaC.so next to the binary
|
||||
$(BIN_DIR)/libVimbaC.so: $(BIN_DIR)
|
||||
$(CP) $(VIMBASDK_DIR)/VimbaC/DynamicLib/$(ARCH)_$(WORDSIZE)bit/libVimbaC.so $(BIN_DIR)/
|
||||
|
||||
#Operations we have to do in order to prepare VimbaC
|
||||
VimbaC: $(BIN_DIR)/libVimbaC.so
|
||||
Reference in New Issue
Block a user