# all - shortcut for all of the above
# asan - enable address sanitizer compiler feature
# ubsan - undefined behaviour sanitizer compiler feature
+# bcheck - extended build checks
# W=123 build with warnings (default: off)
# DEBUG_CFLAGS additional compiler flags for debugging build
# EXTRA_CFLAGS additional compiler flags
DEBUG_CFLAGS_INTERNAL += -fsanitize=undefined
endif
+ifneq (,$(findstring bcheck,$(D)))
+ DEBUG_CFLAGS_INTERNAL += -DDEBUG_BUILD_CHECKS
+endif
+
MAKEOPTS = --no-print-directory Q=$(Q)
# build all by default
#define __token_glue(a,b,c) ___token_glue(a,b,c)
#define ___token_glue(a,b,c) a ## b ## c
+#ifdef DEBUG_BUILD_CHECKS
#define BUILD_ASSERT(x) extern int __token_glue(compile_time_assert_,__LINE__,__COUNTER__)[1-2*!(x)] __attribute__((unused))
+#else
+#define BUILD_ASSERT(x)
+#endif
#ifndef BTRFS_DISABLE_BACKTRACE
#define MAX_BACKTRACE 16