diff --git a/Makefile b/Makefile index 104e34c..450bcbb 100644 --- a/Makefile +++ b/Makefile @@ -1,2 +1,40 @@ -go-build: - go build ./cmd/q3rcon-proxy/ \ No newline at end of file +program = q3rcon-proxy + +GO = @go +BIN_DIR := bin + +WINDOWS=$(BIN_DIR)/$(program)_windows_amd64.exe +LINUX=$(BIN_DIR)/$(program)_linux_amd64 +VERSION=$(shell git describe --tags --always --long --dirty) + +.DEFAULT_GOAL := build + +.PHONY: fmt vet build windows linux test clean +fmt: + $(GO) fmt ./... + +vet: fmt + $(GO) vet ./... + +build: vet windows linux | $(BIN_DIR) + @echo version: $(VERSION) + +windows: $(WINDOWS) + +linux: $(LINUX) + + +$(WINDOWS): + env GOOS=windows GOARCH=amd64 go build -v -o $(WINDOWS) -ldflags="-s -w -X main.version=$(VERSION)" ./cmd/q3rcon-proxy/ + +$(LINUX): + env GOOS=linux GOARCH=amd64 go build -v -o $(LINUX) -ldflags="-s -w -X main.version=$(VERSION)" ./cmd/q3rcon-proxy/ + +test: + $(GO) test ./... + +$(BIN_DIR): + @mkdir -p $@ + +clean: + @rm -rv $(BIN_DIR) \ No newline at end of file