star-line

Structure for accelerating line importance sampling
git clone git://git.meso-star.fr/star-line.git
Log | Files | Refs | README | LICENSE

config.mk (2213B)


      1 VERSION = 0.0
      2 
      3 PREFIX = /usr/local
      4 BINPREFIX = $(PREFIX)/bin
      5 LIBPREFIX = $(PREFIX)/lib
      6 INCPREFIX = $(PREFIX)/include
      7 MANPREFIX = $(PREFIX)/share/man
      8 
      9 LIB_TYPE = SHARED
     10 #LIB_TYPE = STATIC
     11 
     12 BUILD_TYPE = RELEASE
     13 #BUILD_TYPE = DEBUG
     14 
     15 ################################################################################
     16 # Tools
     17 ################################################################################
     18 AR = ar
     19 CC = cc
     20 LD = ld
     21 OBJCOPY = objcopy
     22 PKG_CONFIG = pkg-config
     23 RANLIB = ranlib
     24 
     25 ################################################################################
     26 # Dependencies
     27 ################################################################################
     28 PCFLAGS_STATIC = --static
     29 PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
     30 
     31 LBLU_VERSION = 0.0.1
     32 RSYS_VERSION = 0.14
     33 SHTR_VERSION = 0
     34 
     35 # Dependencies for the sln-slab util
     36 SSP_VERSION = 0.15
     37 SBB_VERSION = 0.0
     38 
     39 INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags lblu rsys shtr)
     40 LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs lblu rsys shtr) -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  -pedantic\
     62  -fvisibility=hidden\
     63  -fstrict-aliasing\
     64  $(CFLAGS_HARDENED)\
     65  $(WFLAGS)
     66 
     67 CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
     68 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     69 CFLAGS = $(CFLAGS_$(BUILD_TYPE))
     70 
     71 CFLAGS_SO = $(CFLAGS) -fPIC
     72 CFLAGS_EXE = $(CFLAGS) -fPIE
     73 
     74 ################################################################################
     75 # Linker options
     76 ################################################################################
     77 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
     78 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
     79 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
     80 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
     81 
     82 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
     83 LDFLAGS_EXE = $(LDFLAGS) -pie
     84 
     85 OCPFLAGS_DEBUG = --localize-hidden
     86 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
     87 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))