config.mk (2912B)
1 VERSION_MAJOR = 0 2 VERSION_MINOR = 11 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 SOLSTICE_ARGS_DEFAULT_SUN_DIRECTION_ALGORITHM = psa 28 29 ################################################################################ 30 # Tools 31 ################################################################################ 32 AR = ar 33 CC = cc 34 LD = ld 35 OBJCOPY = objcopy 36 PKG_CONFIG = pkg-config 37 RANLIB = ranlib 38 39 ################################################################################ 40 # Dependencies 41 ################################################################################ 42 PCFLAGS_SHARED = 43 PCFLAGS_STATIC = --static 44 PCFLAGS = $(PCFLAGS_$(LIB_TYPE)) 45 46 RSYS_VERSION = 0.15 47 S3DUT_VERSION = 0.4 48 SSP_VERSION = 0.15 49 SSTL_VERSION = 0.7 50 YAML_VERSION = 0.2 51 SSOL_VERSION = 0.10 52 SANIM_VERSION = 0.3 53 54 INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys s3dut star-sp sstl yaml-0.1 ssol sanim)\ 55 -fopenmp 56 LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys s3dut star-sp sstl yaml-0.1 ssol sanim)\ 57 -fopenmp -lm 58 59 ################################################################################ 60 # Compilation options 61 ################################################################################ 62 WFLAGS =\ 63 -Wall\ 64 -Wcast-align\ 65 -Wconversion\ 66 -Wextra\ 67 -Wmissing-declarations\ 68 -Wmissing-prototypes\ 69 -Wshadow 70 71 CFLAGS_HARDENED =\ 72 -D_FORTIFY_SOURCES=2\ 73 -fcf-protection=full\ 74 -fstack-clash-protection\ 75 -fstack-protector-strong 76 77 CFLAGS_COMMON =\ 78 -std=c89\ 79 -pedantic\ 80 -fvisibility=hidden\ 81 -fstrict-aliasing\ 82 $(CFLAGS_HARDENED)\ 83 $(WFLAGS) 84 85 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON) 86 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 87 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) 88 89 CFLAGS_SO = $(CFLAGS) -fPIC 90 CFLAGS_EXE = $(CFLAGS) -fPIE 91 92 ################################################################################ 93 # Linker options 94 ################################################################################ 95 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now 96 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED) 97 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED) 98 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE)) 99 100 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined 101 LDFLAGS_EXE = $(LDFLAGS) -pie 102 103 OCPFLAGS_DEBUG = --localize-hidden 104 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded 105 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))