
In my ghc.mk I have declared:
$(eval $(call build-prog,driver/ghc-split,dist,0)) $(eval $(call bindist,driver/ghc-split,ghc.mk))
That second line isn't needed. I think you are trying to follow https://ghc.haskell.org/trac/ghc/wiki/Building/Modifying#Addingaprogram, but that information is outdated. Take a look at some ghc.mk files in the utils directory, for example `utils/hpc/ghc.mk`. Now it's perfectly fine to build this at stage 1 or 2
Use stage1 to build it, or stage2 if you need access to the ghc api. , but when I change it to either of those building fails telling me that
ghc-stage1 or ghc-stage2 cannot be found...
You are probably missing an entry like the following in the toplevel ghc.mk: utils/hpc/dist-install/package-data.mk: compiler/stage2/package-data.mk