star-mc

Parallel estimation of Monte Carlo integrators
git clone git://git.meso-star.fr/star-mc.git
Log | Files | Refs | README | LICENSE

config.mk (2396B)


      1 VERSION = 0.6.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 ################################################################################
     11 # Tools
     12 ################################################################################
     13 AR = ar
     14 CC = cc
     15 LD = ld
     16 OBJCOPY = objcopy
     17 PKG_CONFIG = pkg-config
     18 RANLIB = ranlib
     19 
     20 ################################################################################
     21 # Dependencies
     22 ################################################################################
     23 PCFLAGS_STATIC = --static
     24 PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
     25 
     26 RSYS_VERSION = 0.14
     27 RSYS_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys)
     28 RSYS_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys)
     29 
     30 STAR-SP_VERSION = 0.14
     31 STAR-SP_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags star-sp)
     32 STAR-SP_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs star-sp)
     33 
     34 # Optional (for test only)
     35 S3D_VERSION = 0.10
     36 S3D_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags s3d)
     37 S3D_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs s3d)
     38 
     39 DPDC_CFLAGS = $(RSYS_CFLAGS) $(STAR-SP_CFLAGS) -fopenmp
     40 DPDC_LIBS = $(RSYS_LIBS) $(STAR-SP_LIBS) -fopenmp -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_HARDENED =\
     55  -D_FORTIFY_SOURCES=2\
     56  -fcf-protection=full\
     57  -fstack-clash-protection\
     58  -fstack-protector-strong
     59 
     60 CFLAGS_COMMON =\
     61  -std=c89\
     62  -pedantic\
     63  -fvisibility=hidden\
     64  -fstrict-aliasing\
     65  $(CFLAGS_HARDENED)\
     66  $(WFLAGS)
     67 
     68 CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
     69 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     70 CFLAGS = $(CFLAGS_$(BUILD_TYPE))
     71 
     72 CFLAGS_SO = $(CFLAGS) -fPIC
     73 CFLAGS_EXE = $(CFLAGS) -fPIE
     74 
     75 ################################################################################
     76 # Linker options
     77 ################################################################################
     78 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
     79 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
     80 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
     81 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
     82 
     83 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
     84 LDFLAGS_EXE = $(LDFLAGS) -pie
     85 
     86 OCPFLAGS_DEBUG = --localize-hidden
     87 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
     88 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))