solstice-solver

Solver library of the solstice app
git clone git://git.meso-star.com/solstice-solver.git
Log | Files | Refs | README | LICENSE

config.mk (2354B)


      1 VERSION_MAJOR = 0
      2 VERSION_MINOR = 11
      3 VERSION_PATCH = 0
      4 VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)
      5 
      6 PREFIX = /usr/local
      7 LIBPREFIX = $(PREFIX)/lib
      8 INCPREFIX = $(PREFIX)/include
      9 
     10 LIB_TYPE = SHARED
     11 #LIB_TYPE = STATIC
     12 
     13 BUILD_TYPE = RELEASE
     14 #BUILD_TYPE = DEBUG
     15 
     16 ################################################################################
     17 # Tools
     18 ################################################################################
     19 AR = ar
     20 CC = cc
     21 LD = ld
     22 OBJCOPY = objcopy
     23 PKG_CONFIG = pkg-config
     24 RANLIB = ranlib
     25 
     26 ################################################################################
     27 # Dependencies
     28 ################################################################################
     29 PCFLAGS_SHARED =
     30 PCFLAGS_STATIC = --static
     31 PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
     32 
     33 RSYS_VERSION = 0.15
     34 S3D_VERSION = 0.10
     35 S3DUT_VERSION = 0.4
     36 SCPR_VERSION = 0.5
     37 SSF_VERSION = 0.10
     38 SSP_VERSION = 0.15
     39 SCEM_VERSION = 0.1
     40 
     41 INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys s3d s3dut scpr ssf star-sp scem)\
     42  -fopenmp
     43 LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys s3d s3dut scpr ssf star-sp scem)\
     44  -fopenmp -lm
     45 
     46 ################################################################################
     47 # Compilation options
     48 ################################################################################
     49 WFLAGS =\
     50  -Wall\
     51  -Wcast-align\
     52  -Wconversion\
     53  -Wextra\
     54  -Wmissing-declarations\
     55  -Wmissing-prototypes\
     56  -Wshadow
     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_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     73 CFLAGS_DEBUG = -g $(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))