# d: show subdirectory tree
# t: show added targets
# l: show legacy targets
+# r: show autorebuild messages
# v: verbose (no .SILENCE for common targets)
-ifeq ($(DEBUG),all)
- build_debug:=dltv
-else
- build_debug:=$(DEBUG)
+ifeq ($(DUMP),)
+ ifeq ($(DEBUG),all)
+ build_debug:=dltvr
+ else
+ build_debug:=$(DEBUG)
+ endif
endif
+ifneq ($(DEBUG),)
+
define debug
-$$(findstring $(2),$$(if $$(DEBUG_DIR),$$(if $$(filter $$(DEBUG_DIR)%,$(1)),$(build_debug)),$(build_debug)))
+$$(findstring $(2),$$(if $$(DEBUG_SCOPE_DIR),$$(if $$(filter $$(DEBUG_SCOPE_DIR)%,$(1)),$(build_debug)),$(build_debug)))
endef
define warn
$$(if $(call debug,$(1),$(2)),$$(warning $(3)))
endef
+define debug_eval
+$$(if $(call debug,$(1),$(2)),$(3))
+endef
+
define warn_eval
$(call warn,$(1),$(2),$(3) $(4))
$(4)
endef
+else
+
+debug:=
+warn:=
+debug_eval:=
+warn_eval = $(4)
+
+endif