62 lines
836 B
Makefile
62 lines
836 B
Makefile
VERSION ?= $(shell git describe --tags --dirty --match 'v*.*.*')
|
|
|
|
.PHONY: build
|
|
build:
|
|
mkdir -p dist
|
|
go build \
|
|
-v \
|
|
-race \
|
|
-mod vendor \
|
|
-o dist \
|
|
-ldflags "-X main.version=$(VERSION)" \
|
|
./cmd/...
|
|
|
|
.PHONY: install
|
|
install:
|
|
go install \
|
|
-v \
|
|
-race \
|
|
-mod vendor \
|
|
-ldflags "-X main.version=$(VERSION)" \
|
|
./cmd/...
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -rf dist
|
|
rm -rf cover
|
|
rm -rf prof
|
|
rm -rf passgen.test
|
|
|
|
.PHONY: test
|
|
test:
|
|
mkdir -p cover
|
|
go test \
|
|
-v \
|
|
-race \
|
|
-coverprofile cover/cover.out \
|
|
./...
|
|
|
|
.PHONY: cover
|
|
cover:
|
|
go tool cover \
|
|
-html \
|
|
cover/cover.out
|
|
|
|
.PHONY: vet
|
|
vet:
|
|
go vet -v ./...
|
|
|
|
.PHONY: lint
|
|
lint:
|
|
golangci-lint run -v ./...
|
|
|
|
.PHONY: benchmark
|
|
benchmark:
|
|
mkdir -p prof
|
|
go test \
|
|
-v \
|
|
-run Benchmark \
|
|
-cpuprofile prof/cpu.prof \
|
|
-memprofile prof/mem.prof \
|
|
-bench ./...
|