2019-09-12 13:44:26 +00:00
|
|
|
.PHONY: dev build generate install image release profile bench test clean setup
|
2019-03-09 12:41:59 +00:00
|
|
|
|
|
|
|
CGO_ENABLED=0
|
2019-03-13 11:31:21 +00:00
|
|
|
VERSION=$(shell git describe --abbrev=0 --tags)
|
2019-03-09 12:41:59 +00:00
|
|
|
COMMIT=$(shell git rev-parse --short HEAD)
|
|
|
|
|
|
|
|
all: dev
|
|
|
|
|
|
|
|
dev: build
|
|
|
|
@./bitcask --version
|
2019-03-13 11:17:35 +00:00
|
|
|
@./bitcaskd --version
|
2019-03-09 12:41:59 +00:00
|
|
|
|
|
|
|
build: clean generate
|
|
|
|
@go build \
|
|
|
|
-tags "netgo static_build" -installsuffix netgo \
|
2019-03-18 07:22:55 +00:00
|
|
|
-ldflags "-w -X $(shell go list)/internal.Version=$(VERSION) -X $(shell go list)/internal.Commit=$(COMMIT)" \
|
2019-03-09 12:41:59 +00:00
|
|
|
./cmd/bitcask/...
|
2019-03-13 11:17:35 +00:00
|
|
|
@go build \
|
|
|
|
-tags "netgo static_build" -installsuffix netgo \
|
2019-03-18 07:22:55 +00:00
|
|
|
-ldflags "-w -X $(shell go list)/internal.Version=$(VERSION) -X $(shell go list)/internal.Commit=$(COMMIT)" \
|
2019-03-13 11:17:35 +00:00
|
|
|
./cmd/bitcaskd/...
|
2019-03-09 12:41:59 +00:00
|
|
|
|
|
|
|
generate:
|
|
|
|
@go generate $(shell go list)/...
|
|
|
|
|
|
|
|
install: build
|
|
|
|
@go install ./cmd/bitcask/...
|
2019-03-19 21:00:46 +00:00
|
|
|
@go install ./cmd/bitcaskd/...
|
2019-03-09 12:41:59 +00:00
|
|
|
|
2021-09-16 21:49:07 +00:00
|
|
|
ifeq ($(PUBLISH), 1)
|
2019-03-09 12:41:59 +00:00
|
|
|
image:
|
2021-09-16 21:49:07 +00:00
|
|
|
@docker build --build-arg VERSION="$(VERSION)" --build-arg COMMIT="$(COMMIT)" -t prologic/bitcask .
|
|
|
|
@docker push prologic/bitcask
|
|
|
|
else
|
|
|
|
image:
|
|
|
|
@docker build --build-arg VERSION="$(VERSION)" --build-arg COMMIT="$(COMMIT)" -t prologic/bitcask .
|
|
|
|
endif
|
2019-03-09 12:41:59 +00:00
|
|
|
|
|
|
|
release:
|
|
|
|
@./tools/release.sh
|
|
|
|
|
|
|
|
profile: build
|
2019-03-23 02:14:15 +00:00
|
|
|
@go test -cpuprofile cpu.prof -memprofile mem.prof -v -bench .
|
2019-03-09 12:41:59 +00:00
|
|
|
|
|
|
|
bench: build
|
2020-12-29 09:27:45 +00:00
|
|
|
@go test -v -run=XXX -benchmem -bench=. .
|
2019-03-09 12:41:59 +00:00
|
|
|
|
2019-09-08 21:18:38 +00:00
|
|
|
mocks:
|
|
|
|
@mockery -all -case underscore -output ./internal/mocks -recursive
|
|
|
|
|
2019-03-09 12:41:59 +00:00
|
|
|
test: build
|
2019-03-23 02:14:15 +00:00
|
|
|
@go test -v \
|
|
|
|
-cover -coverprofile=coverage.txt -covermode=atomic \
|
|
|
|
-coverpkg=$(shell go list) \
|
|
|
|
-race \
|
|
|
|
.
|
2019-03-09 12:41:59 +00:00
|
|
|
|
2019-09-12 13:44:26 +00:00
|
|
|
setup:
|
2019-10-17 03:59:00 +00:00
|
|
|
@go get github.com/vektra/mockery/...
|
2019-09-12 13:44:26 +00:00
|
|
|
|
2019-03-09 12:41:59 +00:00
|
|
|
clean:
|
|
|
|
@git clean -f -d -X
|