APP_MIN_OS = 10.12

FLAGS += -c -pipe -fPIC -gdwarf-2
FLAGS += -m64 -mmacosx-version-min=$APP_MIN_OS
FLAGS += -funsigned-char
FLAGS += -D'NULL_STR="\uFFFF"'
FLAGS += -DREST_API='"$rest_api"'
FLAGS += -Wall -Wwrite-strings -Wformat -Winit-self -Wmissing-include-dirs -Wno-parentheses -Wno-sign-compare -Wno-switch
FLAGS += -IShared/include
FLAGS += -fcolor-diagnostics

# FLAGS += -D_GLIBCXX_DEBUG
FLAGS += -DNDEBUG -Os
# LINK   = OakDebug
FLAGS    += -DPUBLIC=

CXX_FLAGS    += -fvisibility=hidden -std=c++2a
OBJC_FLAGS   += -fvisibility=hidden -fobjc-arc -std=c99 -fobjc-abi-version=3
OBJCXX_FLAGS += -fvisibility=hidden -std=c++2a -fobjc-abi-version=3
OBJCXX_FLAGS += -fobjc-arc -fobjc-call-cxx-cdtors
LIBS         += c++

FLAGS    += -flto=thin
LN_FLAGS += -flto=thin -Wl,-cache_path_lto,"$builddir/lto-cache"

LN_FLAGS += -m64 -mmacosx-version-min=$APP_MIN_OS
LN_FLAGS += -fvisibility=hidden
LN_FLAGS += -Wl,-dead_strip
LN_FLAGS += -Wl,-dead_strip_dylibs

CODESIGN_FLAGS = --options runtime --timestamp

FLAGS += -I"$libressl_prefix/include"
FLAGS += -I"$capnp_prefix/include"

PRELUDE = Shared/PCH/prelude.*

LN_FLAGS += -fobjc-link-runtime

TARGETS  = vendor/*/target
TARGETS += Frameworks/*/target
TARGETS += Applications/*/target
TARGETS += PlugIns/*/*.target
