Just out of curiosity.. this doesn't break anything, right?
It is completely backwards compatible. (of course ;-)
By that, I mean, you can use this bmk with any modules/apps.
However, if you build a module to use specific functionality with this bmk, it's not going to do much if you try to build it elsewhere.
Can this be used to act in with the bmx code? Like a C preprocessor?
Not specifically, It's more of a build tool than something which "modifies" code.
Since bcc actually compiles the .bmx files, you'd have to generate intermediate .bmx files for bcc to compile instead. Which is a bit messy - although I think someone has done something along those lines.
This system is essentially a custom build environment. You get some basic functionality which you can expand upon. You may want to use it to automate your build process - build/copy/compress/package - or whatever.
I'm sure there are lots of other uses for it. I'm mostly interested in giving *me* more options at compile time - since I need to compile filetypes that bcc doesn't like.