config.mk (2395B)
1 VERSION = 0.3.1 2 PREFIX = /usr/local 3 4 LIB_TYPE = SHARED 5 #LIB_TYPE = STATIC 6 7 BUILD_TYPE = RELEASE 8 #BUILD_TYPE = DEBUG 9 10 ################################################################################ 11 # Tools 12 ################################################################################ 13 AR = ar 14 CC = cc 15 LD = ld 16 OBJCOPY = objcopy 17 PKG_CONFIG = pkg-config 18 RANLIB = ranlib 19 20 ################################################################################ 21 # Dependencies 22 ################################################################################ 23 PCFLAGS_STATIC = --static 24 PCFLAGS = $(PCFLAGS_$(LIB_TYPE)) 25 26 EMBREE_VERSION = 4.0 27 EMBREE_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags embree4) 28 EMBREE_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs embree4) 29 30 RSYS_VERSION = 0.14 31 RSYS_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys) 32 RSYS_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys) 33 34 # Optional (required only by suvm_voxelize tool) 35 SMSH_VERSION = 0.1 36 SMSH_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags smsh) 37 SMSH_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs smsh) 38 39 DPDC_CFLAGS = $(EMBREE_CFLAGS) $(RSYS_CFLAGS) 40 DPDC_LIBS = $(EMBREE_LIBS) $(RSYS_LIBS) -lm 41 42 ################################################################################ 43 # Compilation options 44 ################################################################################ 45 WFLAGS =\ 46 -Wall\ 47 -Wcast-align\ 48 -Wconversion\ 49 -Wextra\ 50 -Wmissing-declarations\ 51 -Wmissing-prototypes\ 52 -Wshadow 53 54 CFLAGS_HARDENED =\ 55 -D_FORTIFY_SOURCES=2\ 56 -fcf-protection=full\ 57 -fstack-clash-protection\ 58 -fstack-protector-strong 59 60 CFLAGS_COMMON =\ 61 -pedantic\ 62 -fPIC\ 63 -fvisibility=hidden\ 64 -fstrict-aliasing\ 65 $(CFLAGS_HARDENED)\ 66 $(WFLAGS) 67 68 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 69 CFLAGS_RELEASE = -O3 -DNDEBUG $(CFLAGS_COMMON) 70 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) 71 72 CFLAGS_SO = $(CFLAGS) -fPIC 73 CFLAGS_EXE = $(CFLAGS) -fPIE 74 75 ################################################################################ 76 # Linker options 77 ################################################################################ 78 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now 79 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED) 80 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED) 81 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE)) 82 83 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined 84 LDFLAGS_EXE = $(LDFLAGS) -pie 85 86 OCPFLAGS_DEBUG = --localize-hidden 87 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded 88 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))