diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e115709 --- /dev/null +++ b/Makefile @@ -0,0 +1,26 @@ +NAME=ctop +VERSION=$(shell cat VERSION) +BUILD=$(shell git rev-parse --short HEAD) +LD_FLAGS="-w -X main.version=$(VERSION) -X main.build=$(BUILD)" + +clean: + rm -rf build/ release/ + +build: + glide install + CGO_ENABLED=0 go build -tags release -ldflags $(LD_FLAGS) -o ctop + +build-all: + mkdir -p build + GOOS=darwin GOARCH=amd64 go build -tags release -ldflags $(LD_FLAGS) -o build/ctop-$(VERSION)-darwin-amd64 + GOOS=linux GOARCH=amd64 go build -tags release -ldflags $(LD_FLAGS) -o build/ctop-$(VERSION)-linux-amd64 + GOOS=linux GOARCH=arm go build -tags release -ldflags $(LD_FLAGS) -o build/ctop-$(VERSION)-linux-arm + +release: + mkdir release + go get github.com/progrium/gh-release/... + cp build/* release + gh-release create bcicen/$(NAME) $(VERSION) \ + $(shell git rev-parse --abbrev-ref HEAD) $(VERSION) + +.PHONY: build diff --git a/README.md b/README.md index 2199211..8f6c49d 100644 --- a/README.md +++ b/README.md @@ -49,8 +49,7 @@ To build `ctop` from source, ensure you have a recent version of [glide](http:// ```bash git clone https://github.com/bcicen/ctop.git $GOPATH/src/github.com/bcicen/ctop && \ cd $GOPATH/src/github.com/bcicen/ctop && \ -glide install && \ -go build +make build ``` To build a minimal Docker image containing only `ctop`, follow the build instructions above up through `glide install`, then: