you want "normal" unix tool.
:
awk:
awk -F' -' -v OFS='\n-' '$1=$1'
test
kent$ echo '-DFOO -DBAR="1 2 3" -DTEST="\"asdf asdf\""'|awk -F' -' -v OFS='\n-' '$1=$1'
-DFOO
-DBAR="1 2 3"
-DTEST="\"asdf asdf\""
sed
kent$ sed 's/ -/\n-/g' <<< '-DFOO -DBAR="1 2 3" -DTEST="\"asdf asdf\""'
-DFOO
-DBAR="1 2 3"
-DTEST="\"asdf asdf\""
or grep
kent$ echo '-DFOO -DBAR="1 2 3" -DTEST="\"asdf asdf\""'|grep -oP -e'-[^-]*'
-DFOO
-DBAR="1 2 3"
-DTEST="\"asdf asdf\""