PACKAGES := assets game server client webtools ui APPS := server client OBJS := $(foreach app,$(APPS),$(app)/$(app)) WASM := client/client.wasm webtools/webtools.wasm .PHONY: all fmt test $(OBJS) $(WASM) all: $(OBJS) $(WASM) server/server: @echo Building Server ... pushd $(@D) >/dev/null && go build && popd >/dev/null client/client: @echo Building Client ... pushd $(@D) >/dev/null && go build && popd >/dev/null client/client.wasm: @echo Building Client.wasm ... pushd $(@D) >/dev/null && env GOOS=js GOARCH=wasm go build -o $(@F) && popd >/dev/null webtools/webtools.wasm: @echo Building Webtools.wasm ... pushd $(@D) >/dev/null && env GOOS=js GOARCH=wasm go build -o $(@F) && popd >/dev/null fmt: set -e; for package in $(PACKAGES); do pushd $$package >/dev/null && go fmt && popd >/dev/null; done test: for package in $(PACKAGES); do pushd $$package >/dev/null && go test && popd >/dev/null; done