## Compiler flags
##
-CFLAGS := -O2 -pipe -W -Wall -std=c99 -Iinclude/
+CFLAGS := -pipe -W -Wall -std=c99 -Iinclude/
+
+ifndef DEBUG
+CFLAGS += -O2
+else
+CFLAGS += -DDEBUG -g -ggdb
+
+ifeq ($(DEBUG),2)
+CFLAGS += -fsanitize=address -fno-omit-frame-pointer
+endif
-ifeq ($(DEBUG),1)
-CFLAGS += -DDEBUG -g -ggdb -fsanitize=address -fno-omit-frame-pointer
endif
##
ifeq ($(UNAME),Linux)
CFLAGS_NATIVE := -D_POSIX -DLINUX
-CFLAGS_NATIVE += -s $(CFLAGS)
+
+ifndef DEBUG
+CFLAGS_NATIVE += -s
+endif
+
+CFLAGS_NATIVE += $(CFLAGS)
LFLAGS_NATIVE := -lpthread -ldl
##
CFLAGS_CROSS_LINUX := -D_POSIX -DLINUX
-CFLAGS_CROSS_LINUX += -s $(CFLAGS)
+
+ifndef DEBUG
+CFLAGS_CROSS_LINUX += -s
+endif
+
+CFLAGS_CROSS_LINUX += $(CFLAGS)
CFLAGS_CROSS_LINUX += -I$(OPENCL_HEADERS_KHRONOS)/
ifneq (,$(filter 1,$(WITH_ADL) $(WITH_NVML)))
endif
CFLAGS_CROSS_WIN := -D_WIN -DWIN -D__MSVCRT__ -D__USE_MINGW_ANSI_STDIO=1
-CFLAGS_CROSS_WIN += -s $(filter-out -fsanitize=address,$(CFLAGS))
+
+ifndef DEBUG
+CFLAGS_CROSS_WIN += -s
+endif
+
+CFLAGS_CROSS_WIN += $(filter-out -fsanitize=address,$(CFLAGS))
CFLAGS_CROSS_WIN += -I$(OPENCL_HEADERS_KHRONOS)/
ifneq (,$(filter 1,$(WITH_ADL) $(WITH_NVAPI)))