use new mlmake preprocessor

- collect information on all targets before build
- performs the language detection (should probably not do this)