diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..356cd3b --- /dev/null +++ b/Makefile @@ -0,0 +1,28 @@ +NAME = rbheapleak +BINARY = bin/${NAME} +VERSION ?= $(shell cat VERSION) +SOURCES = $(shell find . -name '*.go' -o -name 'Makefile' -o -name 'VERSION') + +$(BINARY): $(SOURCES) + CGO_ENABLED=0 go build -a -o ${BINARY} -ldflags \ "\ + -s -w \ + -X main.version=${VERSION} \ + -X main.commit=$(shell git show --format="%h" --no-patch) \ + -X main.date=$(shell date +%Y-%m-%dT%T%z)" + +.PHONY: build +build: $(BINARY) + +.PHONY: run +run: $(BINARY) + $(BINARY) + +.PHONY: clean +clean: + $(eval BIN_DIR := $(shell dirname ${BINARY})) + if [ -f ${BINARY} ]; then rm ${BINARY}; fi + if [ -d ${BIN_DIR} ]; then rmdir ${BIN_DIR}; fi + +.PHONY: docker +docker: + docker build -t "$(shell whoami)/$(NAME)" .