It turns out people have even mapped individual greens, fairways, bunkers, etc on OpenStreetMap! So you can use that data to generate a yardage book for each course: https://npilk.github.io/openyardage-web/