VERSION = $(shell git describe --tags)
BUILDTIME = $(shell date +%Y.%m.%d_%H%M)

run: install
	go-mod-clean --version

vet:
	@GO111MODULE=off go vet
	@echo this go binary package builds okay

no-gui: build
	./go-mod-clean --no-gui

build: goimports
	GO111MODULE=off go build -v \
		-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"

build-darwin:
	GOOS=darwin GOARCH=amd64 GO111MODULE=off go build -v -o go-mod-clean-darwin \
		-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
build-windows:
	GOOS=windows GOARCH=amd64 GO111MODULE=off go build -v go-mod-clean.exe \
		-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"

install: goimports
	GO111MODULE=off go install \
		-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"

goimports:
	reset
	goimports -w *.go
	# // to globally reset paths:
	# // gofmt -w -r "go.wit.com/gui -> go.wit.com/gui/gui" .

clean:
	-rm -f go-mod-clean go.*

all: install
	go-mod-clean --all --auto