htcp

Properties of water suspended in clouds
git clone git://git.meso-star.fr/htcp.git
Log | Files | Refs | README | LICENSE

config.mk (2188B)


      1 VERSION_MAJOR = 0
      2 VERSION_MINOR = 2
      3 VERSION_PATCH = 0
      4 VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)
      5 
      6 PREFIX = /usr/local
      7 
      8 LIB_TYPE = SHARED
      9 #LIB_TYPE = STATIC
     10 
     11 BUILD_TYPE = RELEASE
     12 #BUILD_TYPE = DEBUG
     13 
     14 BINPREFIX = $(PREFIX)/bin
     15 LIBPREFIX = $(PREFIX)/lib
     16 INCPREFIX = $(PREFIX)/include
     17 MANPREFIX = $(PREFIX)/share/man
     18 
     19 ################################################################################
     20 # Tools
     21 ################################################################################
     22 AR = ar
     23 CC = cc
     24 LD = ld
     25 OBJCOPY = objcopy
     26 PKG_CONFIG = pkg-config
     27 RANLIB = ranlib
     28 
     29 ################################################################################
     30 # Dependencies
     31 ################################################################################
     32 PCFLAGS_SHARED =
     33 PCFLAGS_STATIC = --static
     34 PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
     35 
     36 RSYS_VERSION = 0.14
     37 NETCDF_VERSION = 4
     38 
     39 ################################################################################
     40 # Compilation options
     41 ################################################################################
     42 WFLAGS =\
     43  -Wall\
     44  -Wcast-align\
     45  -Wconversion\
     46  -Wextra\
     47  -Wmissing-declarations\
     48  -Wmissing-prototypes\
     49  -Wshadow
     50 
     51 # Increase the security and robustness of generated binaries
     52 CFLAGS_HARDENED =\
     53  -D_FORTIFY_SOURCES=2\
     54  -fcf-protection=full\
     55  -fstack-clash-protection\
     56  -fstack-protector-strong
     57 
     58 CFLAGS_COMMON =\
     59  -std=c89\
     60  -pedantic\
     61  -fvisibility=hidden\
     62  -fstrict-aliasing\
     63  $(CFLAGS_HARDENED)\
     64  $(WFLAGS)
     65 
     66 CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
     67 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     68 CFLAGS = $(CFLAGS_$(BUILD_TYPE))
     69 
     70 CFLAGS_SO = $(CFLAGS) -fPIC
     71 CFLAGS_EXE = $(CFLAGS) -fPIE
     72 
     73 ################################################################################
     74 # Linker options
     75 ################################################################################
     76 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
     77 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
     78 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
     79 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
     80 
     81 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
     82 LDFLAGS_EXE = $(LDFLAGS) -pie
     83 
     84 OCPFLAGS_DEBUG = --localize-hidden
     85 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
     86 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))