star-phor

Radiative transfer solver for photoreactors.
git clone https://www.edstar.cnrs.fr/git/star-phor.git
Log | Files | Refs | README | LICENSE

config.mk (2140B)


      1 VERSION = 0.0
      2 PREFIX = /usr/local
      3 
      4 BUILD_TYPE = RELEASE
      5 #BUILD_TYPE = DEBUG
      6 
      7 BINPREFIX = $(PREFIX)/bin
      8 LIBPREFIX = $(PREFIX)/lib
      9 INCPREFIX = $(PREFIX)/include
     10 MANPREFIX = $(PREFIX)/share/man
     11 
     12 ################################################################################
     13 # Tools
     14 ################################################################################
     15 AR = ar
     16 CC = cc
     17 LD = ld
     18 OBJCOPY = objcopy
     19 PKG_CONFIG = pkg-config
     20 RANLIB = ranlib
     21 
     22 ################################################################################
     23 # Dependencies
     24 ################################################################################
     25 RSYS_VERSION=0.14
     26 S3D_VERSION=0.10
     27 SPHIN_VERSION=0.0
     28 SSP_VERSION=0.14
     29 SUNIQ_VERSION=0.0
     30 SSF_VERSION=0.10
     31 
     32 INCS = $$($(PKG_CONFIG) --cflags rsys s3d sphin star-sp suniq ssf)\
     33        -fopenmp -lm
     34 LIBS = $$($(PKG_CONFIG) --libs rsys s3d sphin star-sp suniq ssf)\
     35        -fopenmp -lm
     36 
     37 ################################################################################
     38 # Compilation options
     39 ################################################################################
     40 WFLAGS =\
     41  -Wall\
     42  -Wcast-align\
     43  -Wconversion\
     44  -Wextra\
     45  -Wmissing-declarations\
     46  -Wmissing-prototypes\
     47  -Wshadow
     48 
     49 CFLAGS_HARDENED =\
     50  -D_FORTIFY_SOURCES=2\
     51  -fcf-protection=full\
     52  -fstack-clash-protection\
     53  -fstack-protector-strong
     54 
     55 CFLAGS_COMMON =\
     56  -pedantic\
     57  -fvisibility=hidden\
     58  -fstrict-aliasing\
     59  $(CFLAGS_HARDENED)\
     60  $(WFLAGS)
     61 
     62 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     63 CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
     64 CFLAGS = $(CFLAGS_$(BUILD_TYPE))
     65 
     66 CFLAGS_SO = $(CFLAGS) -fPIC
     67 CFLAGS_EXE = $(CFLAGS) -fPIE
     68 
     69 ################################################################################
     70 # Linker options
     71 ################################################################################
     72 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
     73 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
     74 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
     75 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
     76 
     77 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
     78 LDFLAGS_EXE = $(LDFLAGS) -pie
     79 
     80 OCPFLAGS_DEBUG = --localize-hidden
     81 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
     82 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))