blob: 88c32ebe4aaddcb64e966186a6ec7c40836dc83c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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
|