rsimd

Make SIMD instruction sets easier to use
git clone git://git.meso-star.fr/rsimd.git
Log | Files | Refs | README | LICENSE

config.mk (2209B)


      1 VERSION = 0.6.1 # Library version
      2 PREFIX = /usr/local
      3 
      4 LIB_TYPE = SHARED
      5 #LIB_TYPE = STATIC
      6 
      7 BUILD_TYPE = RELEASE
      8 #BUILD_TYPE = DEBUG
      9 
     10 # Instruction sets to be used
     11 # SIMD_WIDTH = 128
     12 SIMD_WIDTH = 256
     13 
     14 LIBPREFIX = $(PREFIX)/lib
     15 INCPREFIX = $(PREFIX)/include
     16 
     17 ################################################################################
     18 # Tools
     19 ################################################################################
     20 AR = ar
     21 CC = cc
     22 LD = ld
     23 PKG_CONFIG = pkg-config
     24 OBJCOPY = objcopy
     25 RANLIB = ranlib
     26 
     27 ################################################################################
     28 # Dependencies
     29 ################################################################################
     30 PCFLAGS_SHARED =
     31 PCFLAGS_STATIC = --static
     32 PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
     33 
     34 RSYS_VERSION = 0.14
     35 SLEEF_VERSION = 3.6
     36 
     37 INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys sleef)
     38 LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys sleef)
     39 
     40 ################################################################################
     41 # Compilation options
     42 ################################################################################
     43 WFLAGS =\
     44  -Wall\
     45  -Wcast-align\
     46  -Wconversion\
     47  -Wextra\
     48  -Wmissing-declarations\
     49  -Wmissing-prototypes\
     50  -Wshadow
     51 
     52 CFLAGS_HARDENED =\
     53  -D_FORTIFY_SOURCES=2\
     54  -fcf-protection=full\
     55  -fstack-clash-protection\
     56  -fstack-protector-strong
     57 
     58 CFLAGS_SIMD = -march=native
     59 
     60 CFLAGS_COMMON =\
     61  -pedantic\
     62  -fPIC\
     63  -fvisibility=hidden\
     64  -fstrict-aliasing\
     65  $(WFLAGS)\
     66  $(CFLAGS_HARDENED)\
     67  $(CFLAGS_SIMD)
     68 
     69 CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
     70 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     71 CFLAGS = $(CFLAGS_$(BUILD_TYPE))
     72 
     73 CFLAGS_SO = $(CFLAGS) -fPIC
     74 CFLAGS_EXE = $(CFLAGS) -fPIE
     75 
     76 ################################################################################
     77 # Linker options
     78 ################################################################################
     79 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
     80 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
     81 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
     82 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
     83 
     84 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
     85 LDFLAGS_EXE = $(LDFLAGS) -pie
     86 
     87 OCPFLAGS_DEBUG = --localize-hidden
     88 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
     89 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))