ifndef GOPATH
  GOPATH:=$(shell go env GOPATH)
endif

ifndef GOBIN
  GOBIN:=$(GOPATH)/bin
endif

ifndef GOARCH
  GOARCH:=$(shell go env GOARCH)
endif

ifndef GOOS
  GOOS:=$(shell go env GOOS)
endif

ifndef GOARM
  GOARM:=$(shell go env GOARM)
endif

ifndef TARGET_FILE
  TARGET_FILE:=bin/mqtt2prometheus.$(GOOS)_$(GOARCH)$(GOARM)
endif

all: build

GO111MODULE=on


lint:
	golangci-lint run

test:
	go test ./...
	go vet ./...

build:
	GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o $(TARGET_FILE) ./cmd

static_build:
	CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o $(TARGET_FILE) -a -tags netgo -ldflags '-w -extldflags "-static"' ./cmd

container:
	docker build -t mqtt2prometheus:latest .

test_release:
	goreleaser --rm-dist --skip-validate --skip-publish
