prologic-msgbus/Makefile

51 lines
1.1 KiB
Makefile

.PHONY: dev build image test deps clean
CGO_ENABLED=0
COMMIT=`git rev-parse --short HEAD`
LIBRARY=msgbus
SERVER=msgbusd
CLIENT=msgbus
REPO?=prologic/$(LIBRARY)
TAG?=latest
BUILD?=-dev
BUILD_TAGS="netgo static_build"
BUILD_LDFLAGS="-w -X github.com/$(REPO).GitCommit=$(COMMIT) -X github.com/$(REPO)/Build=$(BUILD)"
all: dev
dev: build
@./cmd/$(SERVER)/$(SERVER)
deps:
@go get ./...
build: clean deps
@echo " -> Building $(SERVER) $(TAG)$(BUILD) ..."
@cd cmd/$(SERVER) && \
go build -tags $(BUILD_TAGS) -installsuffix netgo \
-ldflags $(BUILD_LDFLAGS) .
@echo "Built $$(./cmd/$(SERVER)/$(SERVER) -v)"
@echo
@echo " -> Building $(CLIENT) $(TAG)$(BUILD) ..."
@cd cmd/$(CLIENT) && \
go build -tags $(BUILD_TAGS) -installsuffix netgo \
-ldflags $(BUILD_LDFLAGS) .
@echo "Built $$(./cmd/$(CLIENT)/$(CLIENT) --version)"
image:
@docker build --build-arg TAG=$(TAG) --build-arg BUILD=$(BUILD) -t $(REPO):$(TAG) .
@echo "Image created: $(REPO):$(TAG)"
profile:
@go test -cpuprofile cpu.prof -memprofile mem.prof -v -bench ./...
bench:
@go test -v -bench ./...
test:
@go test -v -cover -race ./...
clean:
@rm -rf $(APP)