Oh, so you want all of this done pre-compile. . . I doubt that is possible.
I've heard of API based systems that would probably work better than what you are trying to do with pre-compile integration.
In an API style system, you would have a plugin for each race. Each plugin would then "register" with the main API giving all the relevant information (including race name, race functions, etc.)