"expected primary-expression before '.' token" in debug code
In short: you have your macro backwards.

Macros are not formed as "Take this set of commands and call it X" but "Make this macro X and have it equate to this set of commands".

Where you have:

#define Serial.println(x) DEBUG_PRINT(x)


it should instead read:

#define DEBUG_PRINT(x) Serial.println(x)


When you call it, because the macro doesn't contain a semi-colon in it, you need to specify the semi-colon as if you were calling a function:

DEBUG_PRINT("Aardvark");


You can omit the semi-colon only if you have a semi-colon in your macro:

#define DEBUG_PRINT(x) Serial.println(x);


and then:

DEBUG_PRINT("Aardvark")


By doing it that way your "empty" macro now does become truly empty when used.  Without the semi-colon in the macro you would have to use:

DEBUG_PRINT("Aardvark");


Which for the empty variant would end up as:

;


Not always desirable, and can cause some problems.

So by adding the semi-colon into the macro you can omit it from the usage of the macro, and your empty variant now becomes: