31 lines
778 B
Makefile
31 lines
778 B
Makefile
|
VERSION ?= $$(git describe --always --tags)
|
||
|
COMMIT ?= $$(git rev-parse --short=8 HEAD)
|
||
|
BRANCH ?= $$(git rev-parse --abbrev-ref HEAD | tr / _)
|
||
|
BUILD_TIME ?= $$(date +%FT%T%z)
|
||
|
|
||
|
SOURCES := $(shell find . -name '*.go')
|
||
|
|
||
|
LDFLAGS=-ldflags "-s -X main.Version=${VERSION} -X main.Commit=${COMMIT} -X main.BuildTime=${BUILD_TIME} -X main.Branch=${BRANCH}"
|
||
|
BINARY=mrfusion
|
||
|
|
||
|
default: prepare ${BINARY}
|
||
|
|
||
|
${BINARY}: $(SOURCES)
|
||
|
go build -o ${BINARY} ${LDFLAGS} ./cmd/mr-fusion-server/main.go
|
||
|
|
||
|
docker-${BINARY}: $(SOURCES)
|
||
|
CGO_ENABLED=0 GOOS=linux go build -installsuffix cgo -o ${BINARY} ${LDFLAGS} \
|
||
|
./cmd/mr-fusion-server/main.go
|
||
|
|
||
|
prepare:
|
||
|
go get github.com/sparrc/gdm
|
||
|
gdm restore
|
||
|
|
||
|
clean:
|
||
|
if [ -f ${BINARY} ] ; then rm ${BINARY} ; fi
|
||
|
|
||
|
test:
|
||
|
go test -race ./...
|
||
|
|
||
|
.PHONY: clean test
|