rsys

Basic data structures and low-level features
git clone git://git.meso-star.fr/rsys.git
Log | Files | Refs | README | LICENSE

config.mk (1783B)


      1 VERSION = 0.15.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 LIBPREFIX = $(PREFIX)/lib
     11 INCPREFIX = $(PREFIX)/include
     12 
     13 ################################################################################
     14 # Tools
     15 ################################################################################
     16 CC = cc
     17 AR = ar
     18 LD = ld
     19 OBJCOPY = objcopy
     20 PKG_CONFIG = pkg-config
     21 RANLIB = ranlib
     22 
     23 # pkg-config flags
     24 PCFLAGS_SHARED =
     25 PCFLAGS_STATIC = --static
     26 PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
     27 
     28 ################################################################################
     29 # Compilation options
     30 ################################################################################
     31 WFLAGS =\
     32  -Wall\
     33  -Wextra\
     34  -Wmissing-declarations\
     35  -Wmissing-prototypes\
     36  -Wconversion\
     37  -Wshadow
     38 
     39 CFLAGS_HARDENED =\
     40  -D_FORTIFY_SOURCES=2\
     41  -fcf-protection=full\
     42  -fstack-clash-protection\
     43  -fstack-protector-strong
     44 
     45 CFLAGS_COMMON =\
     46  -std=c89\
     47  -pedantic\
     48  -fvisibility=hidden\
     49  -fstrict-aliasing\
     50  $(CFLAGS_HARDENED)\
     51  $(WFLAGS)
     52 
     53 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     54 CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
     55 CFLAGS = $(CFLAGS_$(BUILD_TYPE))
     56 CFLAGS_SO = $(CFLAGS) -fPIC
     57 CFLAGS_EXE = $(CFLAGS) -fPIE
     58 
     59 ################################################################################
     60 # Linker options
     61 ################################################################################
     62 LIBS = -ldl -lpthread -lm
     63 
     64 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
     65 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
     66 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
     67 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
     68 
     69 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
     70 LDFLAGS_EXE = $(LDFLAGS) -pie
     71 
     72 OCPFLAGS_DEBUG = --localize-hidden
     73 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
     74 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))