diff --git a/make/component_wrapper.mk b/make/component_wrapper.mk index 31e3c27654..87c05479ad 100644 --- a/make/component_wrapper.mk +++ b/make/component_wrapper.mk @@ -165,7 +165,7 @@ $(1)/%.o: $$(COMPONENT_PATH)/$(1)/%.cpp $(COMMON_MAKEFILES) $(COMPONENT_MAKEFILE $(1)/%.o: $$(COMPONENT_PATH)/$(1)/%.S $(COMMON_MAKEFILES) $(COMPONENT_MAKEFILE) | $(1) $$(summary) AS $$@ - $$(CC) $$(CPPFLAGS) $$(addprefix -I ,$$(COMPONENT_INCLUDES)) $$(addprefix -I ,$$(COMPONENT_EXTRA_INCLUDES)) -I$(1) -c $$< -o $$@ + $$(CC) $$(CPPFLAGS) $$(DEBUG_FLAGS) $$(addprefix -I ,$$(COMPONENT_INCLUDES)) $$(addprefix -I ,$$(COMPONENT_EXTRA_INCLUDES)) -I$(1) -c $$< -o $$@ # CWD is build dir, create the build subdirectory if it doesn't exist $(1): diff --git a/make/project.mk b/make/project.mk index e1a23e96e9..617e8aedd0 100644 --- a/make/project.mk +++ b/make/project.mk @@ -241,13 +241,14 @@ OPTIMIZATION_FLAGS = -Og endif # Enable generation of debugging symbols -OPTIMIZATION_FLAGS += -ggdb +# (we generate even in Release mode, as this has no impact on final binary size.) +DEBUG_FLAGS ?= -ggdb # List of flags to pass to C compiler # If any flags are defined in application Makefile, add them at the end. CFLAGS := $(strip \ -std=gnu99 \ - $(OPTIMIZATION_FLAGS) \ + $(OPTIMIZATION_FLAGS) $(DEBUG_FLAGS) \ $(COMMON_FLAGS) \ $(COMMON_WARNING_FLAGS) -Wno-old-style-declaration \ $(CFLAGS) \ @@ -259,7 +260,7 @@ CXXFLAGS := $(strip \ -std=gnu++11 \ -fno-exceptions \ -fno-rtti \ - $(OPTIMIZATION_FLAGS) \ + $(OPTIMIZATION_FLAGS) $(DEBUG_FLAGS) \ $(COMMON_FLAGS) \ $(COMMON_WARNING_FLAGS) \ $(CXXFLAGS) \