diff --git a/Makefile.rules b/Makefile.rules index 6cc4bd3cf3b..48cb690be28 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -313,6 +313,13 @@ ifeq ($(ENABLE_OPTIMIZED),1) CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer) C.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer) LD.Flags += $(OPTIMIZE_OPTION) + ifdef DEBUG_RUNTIME + BuildMode := $(BuildMode)+Debug + CXX.Flags += -g + C.Flags += -g + LD.Flags += -g + KEEP_SYMBOLS := 1 + endif else BuildMode := Debug CXX.Flags += -g diff --git a/docs/MakefileGuide.html b/docs/MakefileGuide.html index f996144e145..8e552484abe 100644 --- a/docs/MakefileGuide.html +++ b/docs/MakefileGuide.html @@ -626,6 +626,11 @@
If set to any value, causes a bitcode library (.bc) to be built.
CONFIG_FILES
Specifies a set of configuration files to be installed.
+
DEBUG_RUNTIME
+
If set to any value, causes the build to include debugging + symbols even in optimized objects, libraries and executables. This + alters the flags specified to the compilers and linkers. Debugging + isn't fun in an optimized build, but it is possible.
DIRS
Specifies a set of directories, usually children of the current directory, that should also be made using the same goal. These directories