Previously, compound assignment operators were replaced in preprocessor.
This only worked for simple cases where we only had 1-token variable.
This commit switches to proper implementation in the parser.
Something weird happens if one tries to clean and test at the same time
with a command like:
make clean test -j2
See https://lists.gnu.org/archive/html/help-make/2021-01/msg00000.html
To be safe until further investigation, we breakup the makefile into 2
files and serialize the first where M2-Planet is built.