star-sf

Set of surface and volume scattering functions
git clone git://git.meso-star.fr/star-sf.git
Log | Files | Refs | README | LICENSE

config.mk (2379B)


      1 VERSION = 0.10.0
      2 PREFIX = /usr/local
      3 
      4 LIB_TYPE = SHARED
      5 #LIB_TYPE = STATIC
      6 
      7 BUILD_TYPE = RELEASE
      8 #BUILD_TYPE = DEBUG
      9 
     10 SIMD_WIDTH = NONE
     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 OBJCOPY = objcopy
     24 PKG_CONFIG = pkg-config
     25 RANLIB = ranlib
     26 
     27 ################################################################################
     28 # Dependencies
     29 ################################################################################
     30 PCFLAGS_STATIC = --static
     31 PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
     32 
     33 RSIMD_VERSION = 0.5
     34 RSYS_VERSION = 0.14
     35 SSP_VERSION = 0.14
     36 RSIMD_PC_128 = rsimd
     37 RSIMD_PC_256 = rsimd
     38 
     39 INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys star-sp $(RSIMD_PC_$(SIMD_WIDTH)))
     40 LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys star-sp $(RSIMD_PC_$(SIMD_WIDTH))) -lm
     41 
     42 ################################################################################
     43 # Compilation options
     44 ################################################################################
     45 WFLAGS =\
     46  -Wall\
     47  -Wcast-align\
     48  -Wconversion\
     49  -Wextra\
     50  -Wmissing-declarations\
     51  -Wmissing-prototypes\
     52  -Wshadow
     53 
     54 CFLAGS_SIMD_128 = -DSSF_USE_SIMD_128
     55 CFLAGS_SIMD_256 = $(CFLAGS_SIMD_128) -DSSF_USE_SIMD_256
     56 CFLAGS_SIMD = $(CFLAGS_SIMD_$(SIMD_WIDTH))
     57 
     58 CFLAGS_HARDENED =\
     59  -D_FORTIFY_SOURCES=2\
     60  -fcf-protection=full\
     61  -fstack-clash-protection\
     62  -fstack-protector-strong
     63 
     64 CFLAGS_COMMON =\
     65  -std=c89\
     66  -pedantic\
     67  -fvisibility=hidden\
     68  -fstrict-aliasing\
     69  $(CFLAGS_HARDENED)\
     70  $(WFLAGS)\
     71 
     72 CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
     73 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     74 CFLAGS = $(CFLAGS_$(BUILD_TYPE))
     75 
     76 CFLAGS_SO = $(CFLAGS) -fPIC
     77 CFLAGS_EXE = $(CFLAGS) -fPIE
     78 
     79 ################################################################################
     80 # Linker options
     81 ################################################################################
     82 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
     83 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
     84 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
     85 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
     86 
     87 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
     88 LDFLAGS_EXE = $(LDFLAGS) -pie
     89 
     90 OCPFLAGS_DEBUG = --localize-hidden
     91 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
     92 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))