Files
scratchbox/Makefile
T

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)