config.mk (1755B)
1 # Copyright (C) 2017-2018 |Meso|Star> 2 # 3 # This program is free software: you can redistribute it and/or modify 4 # it under the terms of the GNU General Public License as published by 5 # the Free Software Foundation, either version 3 of the License, or 6 # (at your option) any later version. 7 # 8 # This program is distributed in the hope that it will be useful, 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 # GNU General Public License for more details. 12 # 13 # You should have received a copy of the GNU General Public License 14 # along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16 VERSION_MAJOR = 0 17 VERSION_MINOR = 5 18 VERSION_PATCH = 0 19 VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH) 20 21 PREFIX = /usr/local 22 23 BUILD_TYPE = RELEASE 24 #BUILD_TYPE = DEBUG 25 26 ################################################################################ 27 # Tools 28 ################################################################################ 29 AR = ar 30 CC = cc 31 LD = ld 32 OBJCOPY = objcopy 33 PKG_CONFIG = pkg-config 34 RANLIB = ranlib 35 36 ################################################################################ 37 # Compilation options 38 ################################################################################ 39 WFLAGS =\ 40 -Wall\ 41 -Wcast-align\ 42 -Wconversion\ 43 -Wextra\ 44 -Wmissing-declarations\ 45 -Wmissing-prototypes\ 46 -Wshadow 47 48 CFLAGS_HARDENED =\ 49 -D_FORTIFY_SOURCES=2\ 50 -fcf-protection=full\ 51 -fstack-clash-protection\ 52 -fstack-protector-strong 53 54 CFLAGS_COMMON =\ 55 -std=c99\ 56 -pedantic\ 57 -fvisibility=hidden\ 58 -fstrict-aliasing\ 59 $(CFLAGS_HARDENED)\ 60 $(WFLAGS) 61 62 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON) 63 CFLAGS_DEBUG = -g $(CFLAGS_COMMON) 64 CFLAGS = $(CFLAGS_$(BUILD_TYPE))