htmie

Optical properties of water droplets
git clone git://git.meso-star.fr/htmie.git
Log | Files | Refs | README | LICENSE

config.mk (2228B)


      1 VERSION = 0.1.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_SHARED =
     24 PCFLAGS_STATIC = --static
     25 PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
     26 
     27 NETCDF_VERSION = 4
     28 NETCDF_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags netcdf)
     29 NETCDF_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs netcdf)
     30 
     31 RSYS_VERSION = 0.14
     32 RSYS_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys)
     33 RSYS_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys)
     34 
     35 DPDC_CFLAGS = $(NETCDF_CFLAGS) $(RSYS_CFLAGS)
     36 DPDC_LIBS = $(NETCDF_LIBS) $(RSYS_LIBS)
     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_DEBUG = -g $(CFLAGS_COMMON)
     65 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     66 CFLAGS = $(CFLAGS_$(BUILD_TYPE))
     67 
     68 CFLAGS_SO = $(CFLAGS) -fPIC
     69 CFLAGS_EXE = $(CFLAGS) -fPIE
     70 
     71 ################################################################################
     72 # Linker options
     73 ################################################################################
     74 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
     75 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
     76 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
     77 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
     78 
     79 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
     80 LDFLAGS_EXE = $(LDFLAGS) -pie
     81 
     82 OCPFLAGS_DEBUG = --localize-hidden
     83 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
     84 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))