config.mk (3207B)
1 VERSION = 0.1.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_SHARED = 24 PCFLAGS_STATIC = --static 25 PCFLAGS = $(PCFLAGS_$(LIB_TYPE)) 26 27 ATRRI_VERSION = 0.1 28 ATRRI_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags atrri) 29 ATRRI_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs atrri) 30 31 ATRTP_VERSION = 0.1 32 ATRTP_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags atrtp) 33 ATRTP_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs atrtp) 34 35 RSIMD_VERSION = 0.5 36 RSIMD_EXISTS = $(PKG_CONFIG) --exists rsimd 37 RSIMD_CFLAGS = $$($(RSIMD_EXISTS) && $(PKG_CONFIG) $(PCFLAGS) --cflags rsimd) 38 RSIMD_LIBS = $$($(RSIMD_EXISTS) && $(PKG_CONFIG) $(PCFLAGS) --libs rsimd) 39 40 RSYS_VERSION = 0.14 41 RSYS_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys) 42 RSYS_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys) 43 44 SMSH_VERSION = 0.1 45 SMSH_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags smsh) 46 SMSH_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs smsh) 47 48 SUVM_VERSION = 0.3 49 SUVM_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags suvm) 50 SUVM_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs suvm) 51 52 SVX_VERSION = 0.3 53 SVX_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags svx) 54 SVX_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs svx) 55 56 DPDC_CFLAGS =\ 57 $(ATRRI_CFLAGS)\ 58 $(ATRTP_CFLAGS)\ 59 $(RSIMD_CFLAGS)\ 60 $(RSYS_CFLAGS)\ 61 $(SMSH_CFLAGS)\ 62 $(SUVM_CFLAGS)\ 63 $(SVX_CFLAGS)\ 64 -fopenmp 65 DPDC_LIBS=\ 66 $(ATRRI_LIBS)\ 67 $(ATRTP_LIBS)\ 68 $(RSIMD_LIBS)\ 69 $(RSYS_LIBS)\ 70 $(SMSH_LIBS)\ 71 $(SUVM_LIBS)\ 72 $(SVX_LIBS)\ 73 -fopenmp\ 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=c89\ 96 -pedantic\ 97 -fvisibility=hidden\ 98 -fstrict-aliasing\ 99 $$($(RSIMD_EXISTS) && echo "-DATRSTM_USE_SIMD")\ 100 $(CFLAGS_HARDENED)\ 101 $(WFLAGS) 102 103 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 104 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON) 105 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) 106 107 CFLAGS_SO = $(CFLAGS) -fPIC 108 CFLAGS_EXE = $(CFLAGS) -fPIE 109 110 ################################################################################ 111 # Linker options 112 ################################################################################ 113 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now 114 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED) 115 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED) 116 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE)) 117 118 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined 119 LDFLAGS_EXE = $(LDFLAGS) -pie 120 121 OCPFLAGS_DEBUG = --localize-hidden 122 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded 123 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))