Within the Makefile, the dispatch build is generated as a binary and does not have .exe as the file extension. Windows does not require .exe for it to run, but it does require some kind of file extension. A simple solution would be to add GOEXE ?= $(shell go env GOEXE) and edit DISPATCH = $(BUILD)/dispatch into DISPATCH = $(BUILD)/dispatch$(GOEXE). GOEXE is definied as GOEXE=<executable file suffix: .exe on Windows, empty on other systems> so this change should not cause any issues for other systems. This will also fix an issue where most tests that try to run the dispatch binary fails to run because it can't execute the built version of dispatch.
While Makefiles aren't usable by default on windows, there are ways to get make to work on it. Some users might end up reading the Makefile and running the commands directly in their terminal and this will help make sure windows users can compile and test correctly.
Within the Makefile, the dispatch build is generated as a binary and does not have
.exe
as the file extension. Windows does not require.exe
for it to run, but it does require some kind of file extension. A simple solution would be to addGOEXE ?= $(shell go env GOEXE)
and editDISPATCH = $(BUILD)/dispatch
intoDISPATCH = $(BUILD)/dispatch$(GOEXE)
.GOEXE
is definied asGOEXE=<executable file suffix: .exe on Windows, empty on other systems>
so this change should not cause any issues for other systems. This will also fix an issue where most tests that try to run the dispatch binary fails to run because it can't execute the built version of dispatch.While Makefiles aren't usable by default on windows, there are ways to get make to work on it. Some users might end up reading the Makefile and running the commands directly in their terminal and this will help make sure windows users can compile and test correctly.