config.mk (2101B)
1 VERSION = 0.10.1 2 3 # Default install paths 4 PREFIX = /tmp/local 5 LIBPREFIX = $(PREFIX)/lib 6 INCPREFIX = $(PREFIX)/include 7 8 9 LIB_TYPE = SHARED 10 #LIB_TYPE = STATIC 11 12 BUILD_TYPE = RELEASE 13 #BUILD_TYPE = DEBUG 14 15 ################################################################################ 16 # Tools 17 ################################################################################ 18 AR = ar 19 CC = cc 20 LD = ld 21 OBJCOPY = objcopy 22 PKG_CONFIG = pkg-config 23 RANLIB = ranlib 24 25 ################################################################################ 26 # Dependencies 27 ################################################################################ 28 PCFLAGS_SHARED = 29 PCFLAGS_STATIC = --static 30 PCFLAGS = $(PCFLAGS_$(LIB_TYPE)) 31 32 RSYS_VERSION=0.14 33 EMBREE_VERSION=4.0 34 35 INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys embree4) 36 LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys embree4) -lm 37 38 ################################################################################ 39 # Compilation options 40 ################################################################################ 41 WFLAGS =\ 42 -Wall\ 43 -Wcast-align\ 44 -Wconversion\ 45 -Wextra\ 46 -Wmissing-declarations\ 47 -Wmissing-prototypes\ 48 -Wshadow 49 50 CFLAGS_HARDENED =\ 51 -D_FORTIFY_SOURCES=2\ 52 -fcf-protection=full\ 53 -fstack-clash-protection\ 54 -fstack-protector-strong 55 56 CFLAGS_COMMON =\ 57 -pedantic\ 58 -fvisibility=hidden\ 59 -fstrict-aliasing\ 60 $(CFLAGS_HARDENED)\ 61 $(WFLAGS) 62 63 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 64 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON) 65 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) 66 67 CFLAGS_SO = $(CFLAGS) -fPIC 68 CFLAGS_EXE = $(CFLAGS) -fPIE 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)) 77 78 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined 79 LDFLAGS_EXE = $(LDFLAGS) -pie 80 81 OCPFLAGS_DEBUG = --localize-hidden 82 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded 83 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))