.PHONY: build run dev css test lint build-all clean

BINARY ?= polar
TAILWIND_CLI ?= tailwindcss

build:
	CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o $(BINARY) ./cmd/polar

run: build
	./$(BINARY)

dev:
	CGO_ENABLED=0 go run ./cmd/polar

css:
	$(TAILWIND_CLI) -i ./assets/input.css -o ./internal/web/static/css/app.css --minify

test:
	CGO_ENABLED=0 go test -v -race=false ./...

lint:
	go vet ./...

build-all:
	CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o dist/polar-linux-amd64 ./cmd/polar
	CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -trimpath -ldflags="-s -w" -o dist/polar-linux-arm64 ./cmd/polar
	CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o dist/polar-darwin-amd64 ./cmd/polar
	CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -trimpath -ldflags="-s -w" -o dist/polar-darwin-arm64 ./cmd/polar
	CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o dist/polar-windows-amd64.exe ./cmd/polar

clean:
	rm -rf $(BINARY) $(BINARY).exe dist/
