rpi-relay/Makefile
2021-09-16 10:19:48 +08:00

45 lines
1.1 KiB
Makefile

.PHONY: all
BIN_NAME := rpi-relay
BUILD_DATE ?= $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
ifneq ($(DRONE_TAG),)
VERSION ?= $(subst v,,$(DRONE_TAG))
else
VERSION ?= $(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//')
endif
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
current_dir := $(dir $(mkfile_path))
LDFLAGS ?= -X rpirelay/internal/version.Version=$(VERSION) -X rpirelay/internal/version.BuildDate=$(BUILD_DATE)
all: clean generate-spec unpack-swagger build
dev: clean generate-spec unpack-swagger
build:
go build -o $(BIN_NAME) -ldflags "-s -w $(LDFLAGS)" ./cmd/server/main.go
clean:
rm -rf $(BIN_NAME)
rm -rf *.so
go clean
generate-spec:
swagger generate spec -m --compact -o spec.json
test-code: clean generate-spec unpack-swagger
go test -cover=true ./...
test-code-coverage: clean generate-spec unpack-swagger
go test -cover -coverprofile cover.out ./...
show-coverage:
go tool cover -html=cover.out
install-dep:
go get github.com/go-swagger/go-swagger/...
unpack-swagger:
mkdir -p public/swagger && tar xvf swagger.tar -C public/swagger