diff options
Diffstat (limited to 'go/Makefile')
| -rw-r--r-- | go/Makefile | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/go/Makefile b/go/Makefile new file mode 100644 index 00000000..88c32ebe --- /dev/null +++ b/go/Makefile @@ -0,0 +1,43 @@ +PACKAGES := assets game server client ui + +APPS := server client +OBJS := $(foreach app,$(APPS),$(app)/$(app)) +WASM := client/client.wasm webtools/webtools.wasm + +GOFMT := gofumpt -l -w . + +.PHONY: client server +client: client/client +server: server/server + +.PHONY: all fmt test check $(OBJS) $(WASM) +all: $(OBJS) $(WASM) + + +$(OBJS): + @echo Building $(@F) + @pushd $(@D) >/dev/null && go build && popd >/dev/null + +*/*.wasm: + @echo Building $(@F) ... + @pushd $(@D) >/dev/null && env GOOS=js GOARCH=wasm go build -o $(@F) && popd >/dev/null + +fmt: + @set -e; for package in $(PACKAGES) webtools; do \ + pushd $$package >/dev/null && $(GOFMT); popd >/dev/null; \ + done + +test: + @STATUS=0; \ + for package in $(PACKAGES); do \ + if pushd "$$package" >/dev/null; then \ + go test; \ + status="$$?"; \ + if [ "$$status" -ne 0 ]; then STATUS="$$status"; fi; \ + popd >/dev/null; \ + fi; \ + done; \ + exit "$$STATUS" + +check: + golangci-lint run --skip-dirs webtools |
