build:
	clear
	go fmt ./...
	go build -o ./bin/server ./cmd/server/main.go
	strip -s ./bin/server
	upx -f ./bin/server
pwa.build:
	clear
	go fmt ./...
	go build -o ./bin/pwa ./cmd/pwa/main.go
	strip -s ./bin/pwa
	upx -f ./bin/pwa
	GOARCH=wasm GOOS=js go build -o ./bin/web/app.wasm ./cmd/pwa/main.go
runner.build:
	clear
	go fmt ./...
	go build -o ./bin/serv_run ./cmd/serv_run/main.go
	strip -s ./bin/serv_run
	upx -f ./bin/serv_run
dev.run:
	clear
	go fmt ./...
	go build -o ./bin/dev_serv ./cmd/server/main.go
	./dev_serv.sh
desktop.run:
	clear
	go fmt ./...
	go build -o ./bin/dev_desktop ./cmd/desktop/main.go
	./dev_desk.sh
pwa.run:
	clear
	go fmt ./...
	go build -race -o ./bin/pwa-race ./cmd/pwa/main.go
	GOARCH=wasm GOOS=js go build -o ./bin/web/app.wasm ./cmd/pwa/main.go
	cd ./bin && \
	./pwa-race
test.run:
	clear
	go fmt ./...
	go test --cover -coverprofile=coverage.txt ./cmd/... ./internal/... ./pkg/...
	go tool cover -func=coverage.txt
mod:
	clear
	go get -u ./...
	go mod tidy -compat=1.20
	go mod vendor
	go fmt ./...
lint:
	clear
	go fmt ./...
	golangci-lint run ./cmd/serv_old/...
	golangci-lint run ./cmd/client_pwa/...
	golangci-lint run ./internal/...
