38 lines
1.2 KiB
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}'
|