GOPATH ?= /tmp/go
GOCACHE ?= /tmp/go-build
GOMODCACHE ?= /tmp/go-mod-cache
CGO_ENABLED ?= 0
BUILD_FLAGS ?= -buildvcs=false

.PHONY: build
build:
	CGO_ENABLED=$(CGO_ENABLED) GOPATH=$(GOPATH) GOCACHE=$(GOCACHE) GOMODCACHE=$(GOMODCACHE) go build $(BUILD_FLAGS) ./cmd/pdns-admin

.PHONY: test
test:
	CGO_ENABLED=$(CGO_ENABLED) GOPATH=$(GOPATH) GOCACHE=$(GOCACHE) GOMODCACHE=$(GOMODCACHE) go test ./...

.PHONY: fmt
fmt:
	gofmt -w cmd/pdns-admin/main.go internal/config/config.go internal/config/config_test.go internal/dnsrecord/validator.go internal/dnsrecord/validator_test.go internal/pdns/client.go internal/pdns/client_test.go internal/server/server.go internal/server/server_test.go

.PHONY: run
run:
	CGO_ENABLED=$(CGO_ENABLED) GOPATH=$(GOPATH) GOCACHE=$(GOCACHE) GOMODCACHE=$(GOMODCACHE) go run $(BUILD_FLAGS) ./cmd/pdns-admin
