.PHONY: build test vet lint proto-lint clean docker all devserver metacrypt metacrypt-web proto binaries LDFLAGS := -trimpath -ldflags="-s -w -X main.version=$(shell git describe --tags --always --dirty 2>/dev/null || echo dev)" binaries: metacrypt metacrypt-web proto: protoc --go_out=. --go_opt=module=git.wntrmute.dev/kyle/metacrypt \ --go-grpc_out=. --go-grpc_opt=module=git.wntrmute.dev/kyle/metacrypt \ proto/metacrypt/v1/*.proto metacrypt: go build $(LDFLAGS) -o metacrypt ./cmd/metacrypt metacrypt-web: go build $(LDFLAGS) -o metacrypt-web ./cmd/metacrypt-web build: go build ./... test: go test ./... vet: go vet ./... lint: golangci-lint run ./... proto-lint: buf lint buf breaking --against '.git#branch=master,subdir=proto' clean: rm -f metacrypt metacrypt-web docker: docker build -t metacrypt -f Dockerfile.api . docker build -t metacrypt-web -f Dockerfile.web . docker-compose: docker compose -f deploy/docker/docker-compose.yml up --build devserver: metacrypt metacrypt-web ./metacrypt server --config srv/metacrypt.toml & ./metacrypt-web --config srv/metacrypt.toml all: vet lint test metacrypt metacrypt-web