64 lines
1.2 KiB
Makefile
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)
|