Separate source, test code and build