Radiation-resistantCamera/Vimba_6_0/VimbaCPP/Build/Make/Common.mk

101 lines
1.8 KiB
Makefile
Raw Normal View History

2025-04-30 01:26:04 +00:00
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