github.com/lino-network/lino@v0.6.11/Makefile (about)

     1  NAME=lino
     2  GOPATH ?= $(shell $(GO) env GOPATH)
     3  COMMIT := $(shell git --no-pager describe --tags --always --dirty)
     4  PACKAGES=$(shell go list ./... | grep -v '/vendor/')
     5  LD_FLAGS := "-X github.com/lino-network/lino/app.Version=$(COMMIT) -X github.com/cosmos/cosmos-sdk/types.DBBackend=cleveldb"
     6  GO_TAGS := "tendermint cgo cleveldb"
     7  CGO_LDFLAGS := "-lsnappy"
     8  GO111MODULE = on
     9  
    10  all: get_tools install build test
    11  
    12  get_tools:
    13  	cd scripts && ./install_cleveldb.sh
    14  
    15  update_mocks:
    16  	GO111MODULE=$(GO111MODULE) go generate ./...
    17  
    18  _raw_build_cmd:
    19  	GO111MODULE=$(GO111MODULE) CGO_LDFLAGS=$(CGO_LDFLAGS) CGO_ENABLED=1 go build -ldflags $(LD_FLAGS) -tags $(GO_TAGS) -o bin/linod   cmd/lino/main.go
    20  	GO111MODULE=$(GO111MODULE) CGO_ENABLED=0 go build -ldflags $(LD_FLAGS) -o bin/linocli cmd/linocli/main.go
    21  
    22  _raw_install_cmd:
    23  	cd cmd/lino    && GO111MODULE=$(GO111MODULE) CGO_LDFLAGS=$(CGO_LDFLAGS) CGO_ENABLED=1 go install -ldflags $(LD_FLAGS) -tags $(GO_TAGS)
    24  	cd cmd/linocli && GO111MODULE=$(GO111MODULE) CGO_ENABLED=0 go install -ldflags $(LD_FLAGS)
    25  
    26  build:
    27  	make _raw_build_cmd
    28  
    29  install:
    30  	make _raw_install_cmd
    31  
    32  install_cli:
    33  	cd cmd/linocli && GO111MODULE=$(GO111MODULE) CGO_ENABLED=0 go install -ldflags $(LD_FLAGS)
    34  
    35  build_cli:
    36  	GO111MODULE=$(GO111MODULE) CGO_ENABLED=0 go build -ldflags $(LD_FLAGS) -o bin/linocli cmd/linocli/main.go
    37  
    38  test:
    39  	GO111MODULE=$(GO111MODULE) CGO_LDFLAGS=$(CGO_LDFLAGS) CGO_ENABLED=1 go test -ldflags $(LD_FLAGS) -tags $(GO_TAGS) ./... -timeout 600s
    40  
    41  benchmark:
    42  	@go test -bench=. $(PACKAGES)
    43  
    44  docker-build:
    45  	docker build -t $(NAME) .
    46  
    47  docker-build-nc:
    48  	docker build --no-cache -t $(NAME) .
    49  
    50  docker-run:
    51  	docker run --name=$(NAME) -it $(NAME)
    52  
    53  docker-up: docker-build docker-run
    54  
    55  docker-clean:
    56  	docker stop $(NAME)
    57  	docker rm $(NAME)
    58  
    59  # lint
    60  GOLANGCI_LINT_VERSION := v1.17.1
    61  GOLANGCI_LINT_HASHSUM := f5fa647a12f658924d9f7d6b9628d505ab118e8e049e43272de6526053ebe08d
    62  
    63  get_golangci_lint:
    64  	cd scripts && bash install-golangci-lint.sh $(GOPATH)/bin $(GOLANGCI_LINT_VERSION) $(GOLANGCI_LINT_HASHSUM)
    65  
    66  lint:
    67  	GO111MODULE=$(GO111MODULE) golangci-lint run
    68  	GO111MODULE=$(GO111MODULE) go mod verify
    69  	GO111MODULE=$(GO111MODULE) go mod tidy
    70  
    71  lint-fix:
    72  	@echo "--> Running linter auto fix"
    73  	GO111MODULE=$(GO111MODULE) golangci-lint run --fix
    74  	GO111MODULE=$(GO111MODULE) find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" | xargs gofmt -d -s
    75  	GO111MODULE=$(GO111MODULE) go mod verify
    76  	GO111MODULE=$(GO111MODULE) go mod tidy
    77  
    78  .PHONY: lint lint-fix
    79  
    80  
    81  .PHONY: all get_tools install build test