This is the entry point to actually building the modules in a package. It
doesn't actually do much itself, most of the work is delegated to
compiler-specific actions. It does do some non-compiler specific bits like
running pre-processors.