config.mk (2481B)
1 VERSION_MAJOR = 0 2 VERSION_MINOR = 5 3 VERSION_PATCH = 0 4 VERSION = $(VERSION).$(MINOR).$(PATCH) 5 6 PREFIX = /usr/local 7 BINPREFIX = $(PREFIX)/bin 8 MANPREFIX = $(PREFIX)/share/man 9 10 LIB_TYPE = SHARED 11 #LIB_TYPE = STATIC 12 13 BUILD_TYPE = RELEASE 14 #BUILD_TYPE = DEBUG 15 16 ################################################################################ 17 # Default argument values 18 ################################################################################ 19 SCHIFF_ARGS_DEFAULT_NINSAMPLES = 100 20 SCHIFF_ARGS_DEFAULT_NREALISATIONS = 10000 21 SCHIFF_ARGS_DEFAULT_NANGLES = 1000 22 SCHIFF_ARGS_DEFAULT_NANGLES_INV = 2000 23 24 ################################################################################ 25 # Tools 26 ################################################################################ 27 AR = ar 28 CC = cc 29 LD = ld 30 OBJCOPY = objcopy 31 PKG_CONFIG = pkg-config 32 RANLIB = ranlib 33 34 ################################################################################ 35 # Dependencies 36 ################################################################################ 37 PCFLAGS_SHARED = 38 PCFLAGS_STATIC = --static 39 PCFLAGS = $(PCFLAGS_$(LIB_TYPE)) 40 41 RSYS_VERSION = 0.8 42 S3D_VERSION = 0.8 43 SSP_VERSION = 0.12 44 SSCHIFF_VERSION = 0.5 45 YAML_VERSION = 0.1 46 47 INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys s3d star-sp sschiff yaml-0.1) 48 LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys s3d star-sp sschiff yaml-0.1) -lm 49 50 ################################################################################ 51 # Compilation options 52 ################################################################################ 53 WFLAGS =\ 54 -Wall\ 55 -Wcast-align\ 56 -Wconversion\ 57 -Wextra\ 58 -Wmissing-declarations\ 59 -Wmissing-prototypes\ 60 -Wshadow 61 62 CFLAGS_HARDENED =\ 63 -D_FORTIFY_SOURCES=2\ 64 -fcf-protection=full\ 65 -fstack-clash-protection\ 66 -fstack-protector-strong 67 68 CFLAGS_COMMON =\ 69 -std=c89\ 70 -pedantic\ 71 -fvisibility=hidden\ 72 -fstrict-aliasing\ 73 $(CFLAGS_HARDENED)\ 74 $(WFLAGS) 75 76 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON) 77 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 78 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) -fPIE 79 80 ################################################################################ 81 # Linker options 82 ################################################################################ 83 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now 84 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED) 85 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED) 86 87 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE)) -pie 88 89 OCPFLAGS_DEBUG = --localize-hidden 90 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded 91 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))