add makefile support for nested src dirs; move source files around