Another option:
NORMALSTR := $(patsubst "%",%,$(QUOTEDSTR))
Beta's answer will remove every quote in the string. The above solution will ONLY remove quotes that appear at the beginning and end. For example:
QUOTEDSTR := -DTITLE=\"Title\"
Beta's answer will result in a value of -DTITLE=\Title\
while using the patsubst solution this value will not be changed.
It depends on what you want.
EDIT
If you want to handle whitespace and still only match quotes at the beginning/end of the variable as per @stefanct's comment, you'll have to play some tricks. First you need to find a non-whitespace character which you know will never appear in your string. Let's choose ^
but you can choose something else if you want.
The algorithm is: convert all spaces to this character, then remove the quotes from the resulting single "word", then convert all instances of that character back to spaces, like this:
# Get a variable S that contains a single space
E :=
S := $E $E
NORMALSTR := $(subst ^,$S,$(patsubst "%",%,$(subst $S,^,$(QUOTEDSTR))))
Of course there are still complications; this handles only spaces for example, not other whitespace characters like TAB.