allow building a shader from multiple files