export DEBUG = routewatch

# Git revision for version embedding
GIT_REVISION := $(shell git rev-parse HEAD 2>/dev/null || echo "unknown")
GIT_REVISION_SHORT := $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")
VERSION_PKG := git.eeqj.de/sneak/routewatch/internal/version
LDFLAGS := -X $(VERSION_PKG).GitRevision=$(GIT_REVISION) -X $(VERSION_PKG).GitRevisionShort=$(GIT_REVISION_SHORT)

.PHONY: test fmt lint build clean run asupdate

all: test

test: lint
	go test -v ./...

fmt:
	go fmt ./...

lint:
	go vet ./...
	golangci-lint run

build:
	CGO_ENABLED=1 go build -ldflags "$(LDFLAGS)" -o bin/routewatch cmd/routewatch/main.go

clean:
	rm -rf bin/

run: build
	DEBUG=routewatch ./bin/routewatch 2>&1 | tee log.txt

asupdate:
	@echo "Updating AS info data..."
	@go run cmd/asinfo-gen/main.go | gzip > pkg/asinfo/asdata.json.gz.tmp && \
		mv pkg/asinfo/asdata.json.gz.tmp pkg/asinfo/asdata.json.gz
