30 lines
573 B
Makefile
30 lines
573 B
Makefile
|
SHELL := bash
|
||
|
.ONESHELL:
|
||
|
.SHELLFLAGS := -eu -o pipefail -c
|
||
|
.DELETE_ON_ERROR:
|
||
|
MAKEFLAGS += --warn-undefined-variables
|
||
|
MAKEFLAGS += --no-builtin-rules
|
||
|
|
||
|
GO ?= go
|
||
|
TEST := $(GO) test
|
||
|
TEST_FLAGS ?= -v
|
||
|
TEST_TARGET ?= .
|
||
|
GO111MODULE = on
|
||
|
PROJECT_NAME := $(shell basename $(PWD))
|
||
|
|
||
|
.PHONY: test coverage clean download
|
||
|
|
||
|
download:
|
||
|
$(GO) mod download all
|
||
|
$(GO) mod tidy
|
||
|
|
||
|
test: download
|
||
|
$(TEST) $(TEST_FLAGS) $(TEST_TARGET)
|
||
|
|
||
|
coverage: TEST_TARGET := .
|
||
|
coverage: TEST_FLAGS += -covermode=count -coverprofile $(PROJECT_NAME).coverprofile
|
||
|
coverage: test
|
||
|
|
||
|
clean:
|
||
|
$(RM) -v *.coverprofile
|