forked from mirror/ledisdb
57 lines
1.9 KiB
Makefile
57 lines
1.9 KiB
Makefile
INSTALL_PATH ?= $(CURDIR)
|
|
|
|
$(shell ./tools/build_config.sh build_config.mk $INSTALL_PATH)
|
|
|
|
include build_config.mk
|
|
|
|
export CGO_CFLAGS
|
|
export CGO_CXXFLAGS
|
|
export CGO_LDFLAGS
|
|
export LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH
|
|
export GO_BUILD_TAGS
|
|
export GO111MODULE=on
|
|
|
|
PACKAGES ?= $(shell GO111MODULE=on go list -mod=vendor ./... | grep -v /vendor/)
|
|
DIST := bin
|
|
VERSION ?= $(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//')
|
|
LDFLAGS := $(LDFLAGS) -X "main.version=$(VERSION)" -X "main.buildTags=$(GO_BUILD_TAGS)"
|
|
|
|
all: build
|
|
|
|
build: build-ledis
|
|
|
|
build-ledis:
|
|
go build -mod=vendor -o $(DIST)/ledis -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis/*.go
|
|
|
|
build-commands:
|
|
go build -mod=vendor -o $(DIST)/ledis-server -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis-server/*.go
|
|
go build -mod=vendor -o $(DIST)/ledis-cli -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis-cli/*.go
|
|
go build -mod=vendor -o $(DIST)/ledis-benchmark -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis-benchmark/*.go
|
|
go build -mod=vendor -o $(DIST)/ledis-dump -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis-dump/*.go
|
|
go build -mod=vendor -o $(DIST)/ledis-load -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis-load/*.go
|
|
go build -mod=vendor -o $(DIST)/ledis-repair -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis-repair/*.go
|
|
|
|
.PHONY: lint
|
|
lint:
|
|
@hash golint > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
|
cd /tmp && GO111MODULE=on go get -u -v golang.org/x/lint/golint; \
|
|
fi
|
|
golint $(PACKAGES)
|
|
|
|
vet:
|
|
go vet -mod=vendor -tags '$(GO_BUILD_TAGS)' ./...
|
|
|
|
test:
|
|
go test -mod=vendor --race -tags '$(GO_BUILD_TAGS)' -cover -coverprofile coverage.out -timeout 10m $(PACKAGES)
|
|
|
|
clean:
|
|
go clean -i $(PACKAGES)
|
|
|
|
fmt:
|
|
gofmt -w -s . 2>&1 | grep -vE 'vendor' | awk '{print} END{if(NR>0) {exit 1}}'
|
|
|
|
sync_vendor:
|
|
go mod tidy -v && go mod vendor
|
|
|
|
update_vendor: sync_vendor |