config.mk (2078B)
1 VERSION_MAJOR = 0 2 VERSION_MINOR = 5 3 VERSION_PATCH = 0 4 VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH) 5 PREFIX = /usr/local 6 7 LIB_TYPE = SHARED 8 #LIB_TYPE = STATIC 9 10 BUILD_TYPE = RELEASE 11 #BUILD_TYPE = DEBUG 12 13 ################################################################################ 14 # Tools 15 ################################################################################ 16 CC = cc 17 PKG_CONFIG = pkg-config 18 19 ################################################################################ 20 # Dependencies 21 ################################################################################ 22 PCFLAGS_SHARED = 23 PCFLAGS_STATIC = --static 24 PCFLAGS = $(PCFLAGS_$(LIB_TYPE)) 25 26 SCMAP_VERSION = 0.1 27 SCMAP_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags scmap) 28 SCMAP_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs scmap) 29 30 RSYS_VERSION = 0.14 31 RSYS_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys) 32 RSYS_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys) 33 34 DPDC_CFLAGS = $(SCMAP_CFLAGS) $(RSYS_CFLAGS) -fopenmp 35 DPDC_LIBS = $(SCMAP_LIBS) $(RSYS_LIBS) -fopenmp -lm 36 37 ################################################################################ 38 # Compilation options 39 ################################################################################ 40 WFLAGS =\ 41 -Wall\ 42 -Wcast-align\ 43 -Wconversion\ 44 -Wextra\ 45 -Wmissing-declarations\ 46 -Wmissing-prototypes\ 47 -Wshadow 48 49 # Increase security/robustness of the generated binaries 50 CFLAGS_HARDENED =\ 51 -D_FORTIFY_SOURCES=2\ 52 -fcf-protection=full\ 53 -fPIE\ 54 -fstack-clash-protection\ 55 -fstack-protector-strong 56 57 CFLAGS_COMMON =\ 58 -std=c89\ 59 -pedantic\ 60 -fvisibility=hidden\ 61 -fstrict-aliasing\ 62 $(CFLAGS_HARDENED)\ 63 $(WFLAGS) 64 65 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON) 66 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 67 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) 68 69 ################################################################################ 70 # Linker options 71 ################################################################################ 72 LDFLAGS_HARDENED = -pie -Wl,-z,relro,-z,now 73 74 LDFLAGS_DEBUG = 75 LDFLAGS_RELEASE = -s 76 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE)) $(LDFLAGS_HARDENED)