Add source file generation