config.mk (4255B)
1 VERSION_MAJOR = 0 2 VERSION_MINOR = 4 3 VERSION_PATCH = 0 4 VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH) 5 PREFIX = /usr/local 6 7 LIB_TYPE = SHARED 8 #LIB_TYPE = STATIC 9 10 BUILD_TYPE = RELEASE 11 #BUILD_TYPE = DEBUG 12 13 ################################################################################ 14 # Configuration values 15 ################################################################################ 16 # Default verbosity when running city_generator2 (can be changed from the command line) 17 CG2_ARGS_DEFAULT_VERBOSITY_LEVEL = 1 18 # Default format of the output STL files (can be changed from the command line) 19 CG2_STL_OUTPUT_DEFAULT_IS_BINARY = 0 20 # Distance up to which neighbor buildings prevent windows' creation (in m) 21 CG2_CLOSE_NEIGHBOR_DISTANCE = 2 22 # Minimum allowed distance beetween a building and map's limits (in m) 23 CG2_MIN_DISTANCE_TO_MAP_LIMITS = 2 24 # Minimum width for windows or they are not created (in m) 25 CG2_MIN_WINDOWS_WIDTH = 0.1 26 # Glazing thickness 27 CG2_GLAZING_THICKNESS = 0.024 28 # Default base name for the stardis files 29 CG2_ARGS_DEFAULT_STARDIS_FILES_BASENAME = stardis_model 30 31 ################################################################################ 32 # Tools 33 ################################################################################ 34 AR = ar 35 CC = cc 36 LD = ld 37 OBJCOPY = objcopy 38 PKG_CONFIG = pkg-config 39 RANLIB = ranlib 40 41 ################################################################################ 42 # Dependencies 43 ################################################################################ 44 PCFLAGS_SHARED = 45 PCFLAGS_STATIC = --static 46 PCFLAGS = $(PCFLAGS_$(LIB_TYPE)) 47 48 RSYS_VERSION = 0.14 49 RSYS_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys) 50 RSYS_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys) 51 52 SCAD_VERSION = 0.5 53 SCAD_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags scad) 54 SCAD_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs scad) 55 56 SCPR_VERSION = 0.5.1 57 SCPR_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags scpr) 58 SCPR_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs scpr) 59 60 LIBCYAML_VERSION = 1.4.1 61 LIBCYAML_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags libcyaml) 62 LIBCYAML_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs libcyaml) 63 64 DPDC_CFLAGS =\ 65 $(RSYS_CFLAGS)\ 66 $(SCAD_CFLAGS)\ 67 $(SCPR_CFLAGS)\ 68 $(LIBCYAML_CFLAGS) 69 DPDC_LIBS =\ 70 $(RSYS_LIBS)\ 71 $(SCAD_LIBS)\ 72 $(SCPR_LIBS)\ 73 $(LIBCYAML_LIBS)\ 74 -lm 75 76 ################################################################################ 77 # Compilation options 78 ################################################################################ 79 WFLAGS =\ 80 -Wall\ 81 -Wcast-align\ 82 -Wconversion\ 83 -Wextra\ 84 -Wmissing-declarations\ 85 -Wmissing-prototypes\ 86 -Wshadow 87 88 CFLAGS_HARDENED =\ 89 -D_FORTIFY_SOURCES=2\ 90 -fcf-protection=full\ 91 -fstack-clash-protection\ 92 -fstack-protector-strong 93 94 CFLAGS_COMMON =\ 95 -std=c99\ 96 -pedantic\ 97 -fvisibility=hidden\ 98 -fstrict-aliasing\ 99 $(CFLAGS_HARDENED)\ 100 $(WFLAGS) 101 102 CFLAGS_RELEASE = -O3 -DNDEBUG $(CFLAGS_COMMON) 103 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 104 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) -fPIE 105 106 ################################################################################ 107 # Linker options 108 ################################################################################ 109 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now 110 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED) 111 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED) 112 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE)) -pie 113 114 OCPFLAGS_DEBUG = --localize-hidden 115 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded 116 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE)) 117 118 ################################################################################ 119 # Other Values deduced from configuration values 120 ################################################################################ 121 CG2_ARGS_STL_DEFAULT_STR_0 = ascii 122 CG2_ARGS_STL_DEFAULT_STR_1 = binary 123 CG2_ARGS_STL_NON_DEFAULT_STR_0 = binary 124 CG2_ARGS_STL_NON_DEFAULT_STR_1 = ascii 125 CG2_ARGS_CHANGE_BINARY_DEFAULT_OPTION_0 = b 126 CG2_ARGS_CHANGE_BINARY_DEFAULT_OPTION_1 = a 127 CG2_ARGS_BINARY_STL_DEFAULT = $(CG2_STL_OUTPUT_DEFAULT_IS_BINARY) 128 CG2_ARGS_STL_DEFAULT_STR = $(CG2_ARGS_STL_DEFAULT_STR_$(CG2_STL_OUTPUT_DEFAULT_IS_BINARY)) 129 CG2_ARGS_STL_NON_DEFAULT_STR = $(CG2_ARGS_STL_NON_DEFAULT_STR_$(CG2_STL_OUTPUT_DEFAULT_IS_BINARY)) 130 CG2_ARGS_CHANGE_BINARY_DEFAULT_OPTION = $(CG2_ARGS_CHANGE_BINARY_DEFAULT_OPTION_$(CG2_STL_OUTPUT_DEFAULT_IS_BINARY))