config.mk (2860B)
1 VERSION_MAJOR = 0 2 VERSION_MINOR = 10 3 VERSION_PATCH = 0 4 VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH) 5 6 PREFIX = /usr/local 7 LIBPREFIX = $(PREFIX)/lib 8 INCPREFIX = $(PREFIX)/include 9 10 #LIB_TYPE = SHARED 11 LIB_TYPE = STATIC 12 13 BUILD_TYPE = RELEASE 14 #BUILD_TYPE = DEBUG 15 16 ################################################################################ 17 # Defaults 18 ################################################################################ 19 SOLSTICE_ARGS_DEFAULT_NREALISATIONS = 10000 20 SOLSTICE_ARGS_DEFAULT_CAMERA_POS = 0,0,0 21 SOLSTICE_ARGS_DEFAULT_CAMERA_TGT = 0,0,-1 22 SOLSTICE_ARGS_DEFAULT_CAMERA_UP = 0,1,0 23 SOLSTICE_ARGS_DEFAULT_CAMERA_FOV = 70 24 SOLSTICE_ARGS_DEFAULT_IMG_WIDTH = 800 25 SOLSTICE_ARGS_DEFAULT_IMG_HEIGHT = 600 26 SOLSTICE_ARGS_DEFAULT_IMG_SPP = 1 27 28 ################################################################################ 29 # Tools 30 ################################################################################ 31 AR = ar 32 CC = cc 33 LD = ld 34 OBJCOPY = objcopy 35 PKG_CONFIG = pkg-config 36 RANLIB = ranlib 37 38 ################################################################################ 39 # Dependencies 40 ################################################################################ 41 PCFLAGS_SHARED = 42 PCFLAGS_STATIC = --static 43 PCFLAGS = $(PCFLAGS_$(LIB_TYPE)) 44 45 RSYS_VERSION = 0.15 46 S3DUT_VERSION = 0.4 47 SSP_VERSION = 0.15 48 SSTL_VERSION = 0.7 49 YAML_VERSION = 0.2 50 SSOL_VERSION = 0.10 51 SANIM_VERSION = 0.3 52 53 INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys s3dut star-sp sstl yaml-0.1 ssol sanim)\ 54 -fopenmp 55 LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys s3dut star-sp sstl yaml-0.1 ssol sanim)\ 56 -fopenmp -lm 57 58 ################################################################################ 59 # Compilation options 60 ################################################################################ 61 WFLAGS =\ 62 -Wall\ 63 -Wcast-align\ 64 -Wconversion\ 65 -Wextra\ 66 -Wmissing-declarations\ 67 -Wmissing-prototypes\ 68 -Wshadow 69 70 CFLAGS_HARDENED =\ 71 -D_FORTIFY_SOURCES=2\ 72 -fcf-protection=full\ 73 -fstack-clash-protection\ 74 -fstack-protector-strong 75 76 CFLAGS_COMMON =\ 77 -std=c89\ 78 -pedantic\ 79 -fvisibility=hidden\ 80 -fstrict-aliasing\ 81 $(CFLAGS_HARDENED)\ 82 $(WFLAGS) 83 84 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON) 85 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 86 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) 87 88 CFLAGS_SO = $(CFLAGS) -fPIC 89 CFLAGS_EXE = $(CFLAGS) -fPIE 90 91 ################################################################################ 92 # Linker options 93 ################################################################################ 94 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now 95 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED) 96 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED) 97 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE)) 98 99 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined 100 LDFLAGS_EXE = $(LDFLAGS) -pie 101 102 OCPFLAGS_DEBUG = --localize-hidden 103 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded 104 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))