Putting source into a lib directory so it can more easily be used as a library and an executable.
ignoring generated files