config.mk (1800B)
1 VERSION = 0.6.0 2 3 PREFIX = /usr/local 4 BINDIR = $(PREFIX)/bin 5 MANDIR = $(PREFIX)/share/man 6 7 BUILD_TYPE = RELEASE 8 #BUILD_TYPE = DEBUG 9 10 LIB_TYPE = SHARED 11 #LIB_TYPE = STATIC 12 13 ################################################################################ 14 # Tools 15 ################################################################################ 16 CC = cc 17 LD = ld 18 PKG_CONFIG = pkg-config 19 20 ################################################################################ 21 # Dependencies 22 ################################################################################ 23 PCFLAGS_SHARED = 24 PCFLAGS_STATIC = --static 25 PCFLAGS = $(PCFLAGS_$(LIB_TYPE)) 26 27 RSYS_VERSION = 0.14 28 S3D_VERSION = 0.10 29 S3DAW_VERSION = 0.5 30 SSP_VERSION = 0.14 31 SMC_VERSION = 0.6 32 33 INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys s3d s3daw star-sp smc) 34 LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys s3d s3daw star-sp smc) -lm 35 36 ################################################################################ 37 # Compilation options 38 ################################################################################ 39 WFLAGS = -Wall -Wcast-align -Wconversion -Wextra -Wmissing-declarations\ 40 -Wmissing-prototypes -Wshadow 41 42 CFLAGS_HARDENED = -D_FORTIFY_SOURCES=2 -fstack-protector-strong 43 44 CFLAGS_COMMON = -std=c89 -pedantic -fvisibility=hidden -fstrict-aliasing\ 45 -fPIE $(CFLAGS_HARDENED) $(WFLAGS) 46 47 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 48 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON) 49 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) 50 51 ################################################################################ 52 # Linker options 53 ################################################################################ 54 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now 55 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED) -pie 56 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED) -pie 57 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))