Maintaining the source directory structure

Previously the source directory structure was being flattened. This
commit changes it so that the source directory structure is maintained
and includes happen relative to the `src` directory.