2026-06-04 17:32:11 +07:00

64 lines
1.2 KiB
Makefile

BINARY := acme-reverseproxy
PKG := .
GO := go
GOFLAGS := -mod=vendor
LDFLAGS := -s -w
BIN_DIR := bin
BIN := $(BIN_DIR)/$(BINARY)
.PHONY: all build install run test fmt vet mod tidy clean docker gen-config help
all: build
help:
@echo "Targets:"
@echo " build compile $(BINARY) to $(BIN)"
@echo " install install to \$$GOPATH/bin or \$$GOBIN"
@echo " run run server with example-config.toml"
@echo " test run tests"
@echo " fmt go fmt ./..."
@echo " vet go vet ./..."
@echo " mod download and verify modules"
@echo " tidy go mod tidy"
@echo " gen-config generate sample config to stdout"
@echo " docker build Docker image"
@echo " clean remove build artifacts"
build: $(BIN)
$(BIN):
@mkdir -p $(BIN_DIR)
$(GO) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(BIN) $(PKG)
install:
$(GO) install $(GOFLAGS) -ldflags "$(LDFLAGS)" $(PKG)
run: build
$(BIN) srv --config example-config.toml
test:
$(GO) test $(GOFLAGS) ./...
fmt:
$(GO) fmt ./...
vet:
$(GO) vet $(GOFLAGS) ./...
mod:
$(GO) mod download
$(GO) mod verify
tidy:
$(GO) mod tidy
gen-config: build
$(BIN) gen config
docker:
docker build -t $(BINARY) .
clean:
rm -rf $(BIN_DIR)