github.com/grafana/tanka@v0.26.1-0.20240506093700-c22cfc35c21a/Makefile (about) 1 .PHONY: lint test static install uninstall cross 2 GOPATH := $(shell go env GOPATH) 3 VERSION := $(shell git describe --tags --dirty --always) 4 BIN_DIR := $(GOPATH)/bin 5 GOX := $(BIN_DIR)/gox 6 GOLINTER := $(GOPATH)/bin/golangci-lint 7 8 $(GOLINTER): 9 go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.52.2 10 11 lint: $(GOLINTER) 12 $(GOLINTER) run 13 14 test: 15 go test ./... -bench=. -benchmem 16 17 # Compilation 18 dev: 19 go build -ldflags "-X main.Version=dev-${VERSION}" ./cmd/tk 20 21 LDFLAGS := '-s -w -extldflags "-static" -X github.com/grafana/tanka/pkg/tanka.CurrentVersion=${VERSION}' 22 static: 23 CGO_ENABLED=0 go build -ldflags=${LDFLAGS} ./cmd/tk 24 25 install: 26 CGO_ENABLED=0 go install -ldflags=${LDFLAGS} ./cmd/tk 27 28 uninstall: 29 go clean -i ./cmd/tk 30 31 $(GOX): 32 go get -u github.com/mitchellh/gox 33 go install github.com/mitchellh/gox 34 35 cross: $(GOX) 36 CGO_ENABLED=0 $(BIN_DIR)/gox -output="dist/{{.Dir}}-{{.OS}}-{{.Arch}}" -ldflags=${LDFLAGS} -arch="amd64 arm64 arm" -os="linux" -osarch="darwin/amd64" -osarch="darwin/arm64" -osarch="windows/amd64" ./cmd/tk 37 38 # Docker container 39 container: static 40 docker build -t grafana/tanka .