compile to output dir