This repository has been archived on 2019-06-23. You can view files and clone it, but cannot push or open issues or pull requests.
mumbledj/Makefile

38 lines
1.2 KiB
Makefile

dirs = ./interfaces/... ./commands/... ./services/... ./bot/... .
all: mumbledj
mumbledj: ## Default action. Builds MumbleDJ.
@env GO15VENDOREXPERIMENT="1" go build .
.PHONY: test
test: ## Runs unit tests for MumbleDJ.
@env GO15VENDOREXPERIMENT="1" go test $(dirs)
.PHONY: coverage
coverage: ## Runs coverage tests for MumbleDJ.
@env GO15VENDOREXPERIMENT="1" overalls -project=github.com/matthieugrieger/mumbledj -covermode=atomic
@mv overalls.coverprofile coverage.txt
.PHONY: clean
clean: ## Removes compiled MumbleDJ binaries.
@rm -f mumbledj*
.PHONY: install
install: ## Copies MumbleDJ binary to /usr/local/bin for easy execution.
@cp -f mumbledj* /usr/local/bin/mumbledj
.PHONY: dist
dist: ## Performs cross-platform builds via gox for multiple Linux platforms.
@go get -u github.com/mitchellh/gox
@gox -cgo -osarch="linux/amd64 linux/386"
.PHONY: bindata
bindata: ## Regenerates bindata.go with an updated configuration file.
@go get -u github.com/jteeuwen/go-bindata/...
@go-bindata config.yaml
.PHONY: help
help: ## Shows this helptext.
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'