split out LibraryMake code into separate module