star-schiff

Library for estimating radiative properties
git clone git://git.meso-star.com/star-schiff.git
Log | Files | Refs | README | LICENSE

config.mk (2142B)


      1 VERSION = 0.5
      2 
      3 PREFIX = /usr/local
      4 LIBPREFIX = $(PREFIX)/lib
      5 INCPREFIX = $(PREFIX)/include
      6 
      7 LIB_TYPE = SHARED
      8 #LIB_TYPE = STATIC
      9 
     10 BUILD_TYPE = RELEASE
     11 #BUILD_TYPE = DEBUG
     12 
     13 ################################################################################
     14 # Tools
     15 ################################################################################
     16 AR = ar
     17 CC = cc
     18 LD = ld
     19 OBJCOPY = objcopy
     20 PKG_CONFIG = pkg-config
     21 RANLIB = ranlib
     22 
     23 ################################################################################
     24 # Dependencies
     25 ################################################################################
     26 PCFLAGS_SHARED =
     27 PCFLAGS_STATIC = --static
     28 PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
     29 
     30 GSL_VERSION = 2.4
     31 RSYS_VERSION = 0.8
     32 S3D_VERSION = 0.8
     33 SSP_VERSION = 0.12
     34 
     35 INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags gsl rsys s3d star-sp) -fopenmp
     36 LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs gsl rsys s3d star-sp) -fopenmp -lm
     37 
     38 ################################################################################
     39 # Compilation options
     40 ################################################################################
     41 WFLAGS =\
     42  -Wall\
     43  -Wcast-align\
     44  -Wconversion\
     45  -Wextra\
     46  -Wmissing-declarations\
     47  -Wmissing-prototypes\
     48  -Wshadow
     49 
     50 CFLAGS_HARDENED =\
     51  -D_FORTIFY_SOURCES=2\
     52  -fcf-protection=full\
     53  -fstack-clash-protection\
     54  -fstack-protector-strong
     55 
     56 CFLAGS_COMMON =\
     57  -std=c89\
     58  -pedantic\
     59  -fvisibility=hidden\
     60  -fstrict-aliasing\
     61  $(CFLAGS_HARDENED)\
     62  $(WFLAGS)
     63 
     64 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     65 CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
     66 CFLAGS_SO = $(CFLAGS_$(BUILD_TYPE)) -fPIC
     67 CFLAGS_EXE = $(CFLAGS_$(BUILD_TYPE)) -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 
     76 LDFLAGS_SO = $(LDFLAGS_$(BUILD_TYPE)) -shared -Wl,--no-undefined
     77 LDFLAGS_EXE = $(LDFLAGS_$(BUILD_TYPE)) -pie
     78 
     79 OCPFLAGS_DEBUG = --localize-hidden
     80 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
     81 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))