config.mk (2557B)
1 VERSION = 0.5 # Library version 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 AW_VERSION = 2.1 28 AW_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags aw) 29 AW_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs aw) 30 31 POLYGON_VERSION = 0.2 32 POLYGON_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags polygon) 33 POLYGON_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs polygon) 34 35 RSYS_VERSION = 0.14 36 RSYS_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys) 37 RSYS_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys) 38 39 S3D_VERSION = 0.10 40 S3D_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags s3d) 41 S3D_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs s3d) 42 43 DPDC_CFLAGS = $(AW_CFLAGS) $(POLYGON_CFLAGS) $(RSYS_CFLAGS) $(S3D_CFLAGS) 44 DPDC_LIBS = $(AW_LIBS) $(POLYGON_LIBS) $(RSYS_LIBS) $(S3D_LIBS) 45 46 ################################################################################ 47 # Compilation options 48 ################################################################################ 49 WFLAGS =\ 50 -Wall\ 51 -Wcast-align\ 52 -Wconversion\ 53 -Wextra\ 54 -Wmissing-declarations\ 55 -Wmissing-prototypes\ 56 -Wshadow 57 58 CFLAGS_HARDENED =\ 59 -D_FORTIFY_SOURCES=2\ 60 -fcf-protection=full\ 61 -fstack-clash-protection\ 62 -fstack-protector-strong 63 64 CFLAGS_COMMON =\ 65 -std=c89\ 66 -pedantic\ 67 -fPIC\ 68 -fvisibility=hidden\ 69 -fstrict-aliasing\ 70 $(CFLAGS_HARDENED)\ 71 $(WFLAGS) 72 73 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 74 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON) 75 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) 76 77 CFLAGS_SO = $(CFLAGS) -fPIC 78 CFLAGS_EXE = $(CFLAGS) -fPIE 79 80 ################################################################################ 81 # Linker options 82 ################################################################################ 83 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now 84 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED) 85 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED) 86 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE)) 87 88 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined 89 LDFLAGS_EXE = $(LDFLAGS) -pie 90 91 OCPFLAGS_DEBUG = --localize-hidden 92 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded 93 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))