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