rnatm

Load and structure data describing an atmosphere
git clone git://git.meso-star.fr/rnatm.git
Log | Files | Refs | README | LICENSE

config.mk (2448B)


      1 VERSION = 0.2.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_SHARED =
     29 PCFLAGS_STATIC = --static
     30 PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
     31 
     32 RNSF_VERSION = 0.1
     33 RNSL_VERSION = 0.1
     34 RSYS_VERSION = 0.14
     35 SARS_VERSION = 0.1
     36 SBUF_VERSION = 0.1
     37 SCK_VERSION = 0.1
     38 SMSH_VERSION = 0.1
     39 SSF_VERSION = 0.9
     40 SUVM_VERSION = 0.3
     41 SVX_VERSION = 0.3
     42 
     43 INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags\
     44   rnsf rnsl rsys sars sbuf sck smsh ssf suvm svx) -fopenmp
     45 LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs\
     46   rnsf rnsl rsys sars sbuf sck smsh ssf suvm svx) -fopenmp -lm
     47 
     48 ################################################################################
     49 # Compilation options
     50 ################################################################################
     51 WFLAGS =\
     52  -Wall\
     53  -Wcast-align\
     54  -Wconversion\
     55  -Wextra\
     56  -Wmissing-declarations\
     57  -Wmissing-prototypes\
     58  -Wshadow
     59 
     60 # Increase the security and robustness of generated binaries
     61 CFLAGS_HARDENED =\
     62  -D_FORTIFY_SOURCES=2\
     63  -fcf-protection=full\
     64  -fstack-clash-protection\
     65  -fstack-protector-strong
     66 
     67 CFLAGS_COMMON =\
     68  -std=c89\
     69  -pedantic\
     70  -fvisibility=hidden\
     71  -fstrict-aliasing\
     72  $(CFLAGS_HARDENED)\
     73  $(WFLAGS)
     74 
     75 CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
     76 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     77 CFLAGS = $(CFLAGS_$(BUILD_TYPE))
     78 
     79 CFLAGS_SO = $(CFLAGS) -fPIC
     80 CFLAGS_EXE = $(CFLAGS) -fPIE
     81 
     82 ################################################################################
     83 # Linker options
     84 ################################################################################
     85 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
     86 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
     87 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
     88 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
     89 
     90 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
     91 LDFLAGS_EXE = $(LDFLAGS) -pie
     92 
     93 OCPFLAGS_DEBUG = --localize-hidden
     94 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
     95 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))