config.mk (2039B)
1 VERSION_MAJOR = 0 2 VERSION_MINOR = 3 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 MANPREFIX = $(PREFIX)/share/man 16 17 ################################################################################ 18 # Tools 19 ################################################################################ 20 AR = ar 21 CC = cc 22 LD = ld 23 OBJCOPY = objcopy 24 PKG_CONFIG = pkg-config 25 RANLIB = ranlib 26 27 ################################################################################ 28 # Dependencies 29 ################################################################################ 30 PCFLAGS_STATIC = --static 31 PCFLAGS = $(PCFLAGS_$(LIB_TYPE)) 32 33 RSYS_VERSION = 0.14 34 SSTL_VERSION = 0.7 35 36 INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys sstl) 37 LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys sstl) -lm 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 CFLAGS_HARDENED =\ 52 -D_FORTIFY_SOURCES=2\ 53 -fcf-protection=full\ 54 -fstack-clash-protection\ 55 -fstack-protector-strong 56 57 CFLAGS_COMMON=\ 58 -std=c89\ 59 -pedantic\ 60 -fvisibility=hidden\ 61 -fstrict-aliasing\ 62 -fPIE\ 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 ################################################################################ 71 # Linker options 72 ################################################################################ 73 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now 74 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED) 75 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED) 76 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE)) -pie 77 78 OCPFLAGS_DEBUG = --localize-hidden 79 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded 80 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))