ABRA := ./cmd/abra KADABRA := ./cmd/kadabra COMMIT := $(shell git rev-list -1 HEAD) GOPATH := $(shell go env GOPATH) GOVERSION := 1.21 LDFLAGS := "-X 'main.Commit=$(COMMIT)'" DIST_LDFLAGS := $(LDFLAGS)" -s -w" export GOPRIVATE=coopcloud.tech # NOTE(d1): default `make` optimised for Abra hacking all: format check build-abra test run-abra: @go run -ldflags=$(LDFLAGS) $(ABRA) run-kadabra: @go run -ldflags=$(LDFLAGS) $(KADABRA) install-abra: @go install -ldflags=$(LDFLAGS) $(ABRA) install-kadabra: @go install -ldflags=$(LDFLAGS) $(KADABRA) build-abra: @go build -v -ldflags=$(DIST_LDFLAGS) $(ABRA) build-kadabra: @go build -v -ldflags=$(DIST_LDFLAGS) $(KADABRA) build: build-abra build-kadabra build-docker-abra: @docker run -it -v $(PWD):/abra golang:$(GOVERSION) \ bash -c 'cd /abra; ./scripts/docker/build.sh' build-docker: build-docker-abra clean: @rm '$(GOPATH)/bin/abra' @rm '$(GOPATH)/bin/kadabra' format: @gofmt -s -w . check: @test -z $$(gofmt -l .) || \ (echo "gofmt: formatting issue - run 'make format' to resolve" && exit 1) test: @go test ./... -cover -v loc: @find . -name "*.go" | xargs wc -l