Make the macro generate a special markup, say __CR__, then pipe the result of CPP into a script which translates the macro to a true newline, for example, sed 's/__CR__/\n/g'.
I just found this useful to generate a code pattern to be filled by hand. It is quite easier when the code is readable.