39 lines
815 B
Makefile
39 lines
815 B
Makefile
APP_NAME := scratchbox
|
|
CMD_DIR := ./cmd/scratchbox
|
|
BIN_DIR := ./bin
|
|
BIN := $(BIN_DIR)/$(APP_NAME)
|
|
CONFIG ?= config.yaml
|
|
|
|
.PHONY: help run dev generate-config build test fmt clean
|
|
|
|
help:
|
|
@echo "Targets:"
|
|
@echo " make run - Alias for make dev"
|
|
@echo " make dev - Build and run server (CONFIG=$(CONFIG))"
|
|
@echo " make generate-config - Write default config to $(CONFIG)"
|
|
@echo " make build - Build binary to $(BIN)"
|
|
@echo " make test - Run all Go tests"
|
|
@echo " make fmt - Format Go code"
|
|
@echo " make clean - Remove built artifacts"
|
|
|
|
run: dev
|
|
|
|
dev: build
|
|
$(BIN) server --config $(CONFIG)
|
|
|
|
generate-config:
|
|
go run $(CMD_DIR) generate-config > $(CONFIG)
|
|
|
|
build: clean
|
|
mkdir -p $(BIN_DIR)
|
|
go build -o $(BIN) $(CMD_DIR)
|
|
|
|
test:
|
|
go test ./...
|
|
|
|
fmt:
|
|
go fmt ./...
|
|
|
|
clean:
|
|
rm -rf $(BIN_DIR)
|