C ouput pass or native binary

Recently I've been working on putting a little language together using the llvm toolset. I think I've wrapped my head around some of the beginner bits (and a big "thank you" for the kaleidoscope tutorial). What I'd like to do now is to take my Module* and output either a C file for native compilation, or just directly output a native binary.

I saw that llc can output C files, but looking at the source code I couldn't tell how to setup a similar output pass in my own program.

I also saw llvmc at http://www.llvm.org/docs/CompilerDriver.html, but it looked like it might require end users to have the full llvm suite installed.

Assuming C output is the way to go, does anyone happen to have an example for doing a C output pass? Or might there be a better way of getting a binary without going through the C output step?