config.mk (2001B)
1 VERSION_MAJOR = 0 2 VERSION_MINOR = 5 3 VERSION_PATCH = 1 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 GREEN_ARGS_DEFAULT_VERBOSE_LEVEL = 1 14 15 ################################################################################ 16 # Tools 17 ################################################################################ 18 CC = cc 19 PKG_CONFIG = pkg-config 20 21 ################################################################################ 22 # Dependencies 23 ################################################################################ 24 PCFLAGS_STATIC = --static 25 PCFLAGS = $(PCFLAGS_$(LIB_TYPE)) 26 27 RSYS_VERSION = 0.14 28 RSYS_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys) 29 RSYS_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys) 30 31 STARDIS_VERSION = 0.10 32 STARDIS_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags stardis) 33 34 DPDC_CFLAGS = $(RSYS_CFLAGS) $(STARDIS_CFLAGS) -fopenmp 35 DPDC_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 CFLAGS_HARDENED =\ 50 -D_FORTIFY_SOURCES=2\ 51 -fcf-protection=full\ 52 -fstack-clash-protection\ 53 -fstack-protector-strong 54 55 CFLAGS_COMMON =\ 56 -std=c89\ 57 -pedantic\ 58 -fPIE\ 59 -fvisibility=hidden\ 60 -fstrict-aliasing\ 61 $(CFLAGS_HARDENED)\ 62 $(WFLAGS) 63 64 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 65 CFLAGS_RELEASE = -O3 -DNDEBUG $(CFLAGS_COMMON) 66 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) 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)) -pie