Alternatively, you could use Bazel[1], and automatically generate most of your build rules with Gazelle[2].
This would allow you to extend your build system beyond what's available via "go build", while avoiding the well-known pitfalls of Makefiles (config complexity, reproducibility, etc.)