star-phor-input

File format for describing photoreactor configurations
git clone https://www.edstar.cnrs.fr/git/star-phor-input.git
Log | Files | Refs | README | LICENSE

config.mk (2141B)


      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 RSYS_INCS = $$($(PKG_CONFIG) --cflags rsys)
     27 RSYS_LIBS = $$($(PKG_CONFIG) --libs rsys)
     28 
     29 SSTL_VERSION=0.5.1
     30 SSTL_INCS = $$($(PKG_CONFIG) --cflags sstl)
     31 SSTL_LIBS = $$($(PKG_CONFIG) --libs sstl)
     32 
     33 INCS = $(RSYS_INCS) $(SSTL_INCS)
     34 LIBS = $(RSYS_LIBS) $(SSTL_LIBS) -lm
     35 
     36 ################################################################################
     37 # Compilation options
     38 ################################################################################
     39 WFLAGS =\
     40  -Wall\
     41  -Wcast-align\
     42  -Wconversion\
     43  -Wextra\
     44  -Wmissing-declarations\
     45  -Wmissing-prototypes\
     46  -Wshadow
     47 
     48 CFLAGS_HARDENED =\
     49  -D_FORTIFY_SOURCES=2\
     50  -fcf-protection=full\
     51  -fstack-clash-protection\
     52  -fstack-protector-strong
     53 
     54 CFLAGS_COMMON =\
     55  -pedantic\
     56  -fvisibility=hidden\
     57  -fstrict-aliasing\
     58  $(CFLAGS_HARDENED)\
     59  $(WFLAGS)
     60 
     61 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     62 CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
     63 CFLAGS = $(CFLAGS_$(BUILD_TYPE))
     64 
     65 CFLAGS_SO = $(CFLAGS) -fPIC
     66 CFLAGS_EXE = $(CFLAGS) -fPIE
     67 
     68 ################################################################################
     69 # Linker options
     70 ################################################################################
     71 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
     72 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
     73 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
     74 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
     75 
     76 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
     77 LDFLAGS_EXE = $(LDFLAGS) -pie
     78 
     79 OCPFLAGS_DEBUG = --localize-hidden
     80 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
     81 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))