config.mk (2140B)
1 VERSION = 0.0 2 PREFIX = /usr/local 3 4 BUILD_TYPE = RELEASE 5 #BUILD_TYPE = DEBUG 6 7 BINPREFIX = $(PREFIX)/bin 8 LIBPREFIX = $(PREFIX)/lib 9 INCPREFIX = $(PREFIX)/include 10 MANPREFIX = $(PREFIX)/share/man 11 12 ################################################################################ 13 # Tools 14 ################################################################################ 15 AR = ar 16 CC = cc 17 LD = ld 18 OBJCOPY = objcopy 19 PKG_CONFIG = pkg-config 20 RANLIB = ranlib 21 22 ################################################################################ 23 # Dependencies 24 ################################################################################ 25 RSYS_VERSION=0.14 26 S3D_VERSION=0.10 27 SPHIN_VERSION=0.0 28 SSP_VERSION=0.14 29 SUNIQ_VERSION=0.0 30 SSF_VERSION=0.10 31 32 INCS = $$($(PKG_CONFIG) --cflags rsys s3d sphin star-sp suniq ssf)\ 33 -fopenmp -lm 34 LIBS = $$($(PKG_CONFIG) --libs rsys s3d sphin star-sp suniq ssf)\ 35 -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 -pedantic\ 57 -fvisibility=hidden\ 58 -fstrict-aliasing\ 59 $(CFLAGS_HARDENED)\ 60 $(WFLAGS) 61 62 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON) 63 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 64 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) 65 66 CFLAGS_SO = $(CFLAGS) -fPIC 67 CFLAGS_EXE = $(CFLAGS) -fPIE 68 69 ################################################################################ 70 # Linker options 71 ################################################################################ 72 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now 73 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED) 74 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED) 75 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE)) 76 77 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined 78 LDFLAGS_EXE = $(LDFLAGS) -pie 79 80 OCPFLAGS_DEBUG = --localize-hidden 81 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded 82 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))