config.mk (3749B)
1 VERSION_MAJOR = 0 2 VERSION_MINOR = 16 3 VERSION_PATCH = 2 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 # Defines whether distributed parallelism is supported. Any value other 14 # than MPI disables its supports. So, simply comment the macro to 15 # deactivate it. 16 DISTRIB_PARALLELISM = MPI 17 18 # MPI pkg-config file 19 MPI_PC = ompi 20 21 ################################################################################ 22 # Tools 23 ################################################################################ 24 AR = ar 25 CC = cc 26 LD = ld 27 OBJCOPY = objcopy 28 PKG_CONFIG = pkg-config 29 RANLIB = ranlib 30 31 ################################################################################ 32 # Dependencies 33 ################################################################################ 34 PCFLAGS_SHARED = 35 PCFLAGS_STATIC = --static 36 PCFLAGS = $(PCFLAGS_$(LIB_TYPE)) 37 38 MPI_VERSION = 2 39 MPI_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags $(MPI_PC)) 40 MPI_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs $(MPI_PC)) 41 42 RSYS_VERSION = 0.14 43 RSYS_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys) 44 RSYS_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys) 45 46 S2D_VERSION = 0.7 47 S2D_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags s2d) 48 S2D_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs s2d) 49 50 S3D_VERSION = 0.10 51 S3D_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags s3d) 52 S3D_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs s3d) 53 54 SENC2D_VERSION = 0.5 55 SENC2D_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags senc2d) 56 SENC2D_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs senc2d) 57 58 SENC3D_VERSION = 0.7.2 59 SENC3D_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags senc3d) 60 SENC3D_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs senc3d) 61 62 SSP_VERSION = 0.14 63 SSP_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags star-sp) 64 SSP_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs star-sp) 65 66 SWF_VERSION = 0.0 67 SWF_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags swf) 68 SWF_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs swf) 69 70 # For tests only 71 S3DUT_VERSION = 0.4 72 S3DUT_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags s3dut) 73 S3DUT_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs s3dut) 74 75 DPDC_CFLAGS =\ 76 $(RSYS_CFLAGS)\ 77 $(S2D_CFLAGS)\ 78 $(S3D_CFLAGS)\ 79 $(SENC2D_CFLAGS)\ 80 $(SENC3D_CFLAGS)\ 81 $(SSP_CFLAGS)\ 82 $(SWF_CFLAGS)\ 83 $($(DISTRIB_PARALLELISM)_CFLAGS)\ 84 -fopenmp 85 DPDC_LIBS =\ 86 $(RSYS_LIBS)\ 87 $(S2D_LIBS)\ 88 $(S3D_LIBS)\ 89 $(SENC2D_LIBS)\ 90 $(SENC3D_LIBS)\ 91 $(SSP_LIBS)\ 92 $(SWF_LIBS)\ 93 $($(DISTRIB_PARALLELISM)_LIBS)\ 94 -lm\ 95 -fopenmp 96 97 ################################################################################ 98 # Compilation options 99 ################################################################################ 100 WFLAGS =\ 101 -Wall\ 102 -Wcast-align\ 103 -Wconversion\ 104 -Wextra\ 105 -Wmissing-declarations\ 106 -Wmissing-prototypes\ 107 -Wshadow 108 109 CFLAGS_HARDENED =\ 110 -D_FORTIFY_SOURCES=2\ 111 -fcf-protection=full\ 112 -fstack-clash-protection\ 113 -fstack-protector-strong 114 115 CFLAGS_COMMON =\ 116 -std=c89\ 117 -pedantic\ 118 -fvisibility=hidden\ 119 -fstrict-aliasing\ 120 $(CFLAGS_HARDENED)\ 121 $(WFLAGS) 122 123 CFLAGS_RELEASE = -O3 -DNDEBUG $(CFLAGS_COMMON) 124 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 125 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) 126 127 CFLAGS_SO = $(CFLAGS) -fPIC 128 CFLAGS_EXE = $(CFLAGS) -fPIE 129 130 ################################################################################ 131 # Linker options 132 ################################################################################ 133 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now 134 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED) 135 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED) 136 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE)) 137 138 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined 139 LDFLAGS_EXE = $(LDFLAGS) -pie 140 141 OCPFLAGS_DEBUG = --localize-hidden 142 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded 143 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))