
# Build mode. The DEFAULT is an optimized -O3 build (what installs and releases
# use). Opt into other modes explicitly:
#     DEBUG=1     -> debug build: -O0 -g + AddressSanitizer (development)
#     NOPYTHON=1  -> -O0 -g -DNOPYTHON, no ASan (build without the interpreter)
# `override` is used throughout so that a stray command-line or environment
# `OPTIMIZE=...` cannot leak into CXXFLAGS: OPTIMIZE is an internal flag string
# here, no longer a trigger. (A legacy `make OPTIMIZE=1` still yields -O3, since
# it falls through to the optimized default below.)
ifdef DEBUG
override OPTIMIZE := -O0 -g
SANITIZE := -fsanitize=address -fno-omit-frame-pointer
else ifdef NOPYTHON
override OPTIMIZE := -O0 -g -DNOPYTHON
SANITIZE :=
else
# Performance build (default).
override OPTIMIZE := -O3
SANITIZE :=
endif
