build:
	clear
	mkdir -p ./bin/web/static
	mkdir -p ./bin/web/tmpl
	cp -r ./web ./bin
	go fmt ./...
	go build -o ./bin/server ./cmd/server/main.go
	strip -s ./bin/server
	upx -f ./bin/server
prod2:
	clear
	mkdir -p ./bin2/web/static
	mkdir -p ./bin2/web/tmpl
	cp -r ./web ./bin2
	go fmt ./...
	go build -o ./bin2/server2 ./cmd/server/main.go
	strip -s ./bin2/server2
	upx -f ./bin2/server2
dev.run:
	clear
	rm -rdf ./bin_dev
	mkdir -p ./bin_dev/web/static
	mkdir -p ./bin_dev/web/tmpl
	cp -r ./web ./bin_dev
	go fmt ./...
	go build -race -o ./bin_dev/wartank_dev ./cmd/server/main.go
	./run_dev.sh
prod.run:
	clear
	go fmt ./...
	go build -o ./bin/wartank ./cmd/server/main.go
	./run_prod.sh
view.run:
	clear
	python3 -m main
test.run:
	clear
	go fmt ./...
	go test -vet=all -race -timeout 30s -coverprofile cover.out ./...
	go tool cover -func=cover.out
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/...
