Noah Petherbridge
f473609bb5
Add urfave/cli to the doodle.exe binary to add a --version command. Both
doodle.exe and doodad.exe will now print their git commit hash and build
date along with their version number when asked.
% ./bin/doodle --version
doodle version 0.0.7-alpha build a316baf
. Built on 2018-12-30T14:44:43-08:00
42 lines
974 B
Makefile
42 lines
974 B
Makefile
SHELL := /bin/bash
|
|
|
|
VERSION=$(shell grep -e 'Version' doodle.go | head -n 1 | cut -d '"' -f 2)
|
|
BUILD=$(shell git describe --always)
|
|
BUILD_DATE=$(shell date -Iseconds)
|
|
CURDIR=$(shell curdir)
|
|
|
|
# Inject the build version (commit hash) into the executable.
|
|
LDFLAGS := -ldflags "-X main.Build=$(BUILD) -X main.BuildDate=$(BUILD_DATE)"
|
|
|
|
# `make setup` to set up a new environment, pull dependencies, etc.
|
|
.PHONY: setup
|
|
setup: clean
|
|
go get -u ./...
|
|
|
|
# `make build` to build the binary.
|
|
.PHONY: build
|
|
build:
|
|
gofmt -w .
|
|
go build $(LDFLAGS) -i -o bin/doodle cmd/doodle/main.go
|
|
go build $(LDFLAGS) -i -o bin/doodad cmd/doodad/main.go
|
|
|
|
# `make run` to run it in debug mode.
|
|
.PHONY: run
|
|
run:
|
|
go run cmd/doodle/main.go -debug
|
|
|
|
# `make guitest` to run it in guitest mode.
|
|
.PHONY: guitest
|
|
guitest:
|
|
go run cmd/doodle/main.go -debug -guitest
|
|
|
|
# `make test` to run unit tests.
|
|
.PHONY: test
|
|
test:
|
|
go test ./...
|
|
|
|
# `make clean` cleans everything up.
|
|
.PHONY: clean
|
|
clean:
|
|
rm -rf bin dist
|