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 .