VERSION ?= $(shell git describe --tags `git rev-list --tags --max-count=1`) GITREV = $(shell git rev-parse --short HEAD) BUILDTIME = $(shell date +'%FT%TZ%z') PACKAGE_NAME := github.com/grmrgecko/virtual-vxlan GO_BUILDER_VERSION ?= 1.23 .PHONY: default default: build ; .PHONY: build-sysroot build-sysroot: ./sysroot/build.sh .PHONY: build-docker-image build-docker-image: docker build -t goreleaser-cross --build-arg GO_BUILDER_VERSION=$(GO_BUILDER_VERSION) . .PHONY: deps deps: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest go install golang.org/x/tools/cmd/goimports@latest go install google.golang.org/protobuf/cmd/protoc-gen-go@latest go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest .PHONY: build build: go build .PHONY: generate generate: go mod tidy go get golang.org/x/tools/cmd/stringer@latest go generate .PHONY: clean clean: rm -rf virtual-vxlan* dist CHANGELOG.md .PHONY: snapshot snapshot: mkdir -p .cache/go docker run \ --rm --privileged \ --user 1000:1000 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(CURDIR):/go/src/$(PACKAGE_NAME) \ -v $(CURDIR)/sysroot:/sysroot \ -v $(CURDIR)/.cache:/.cache \ -v $(CURDIR)/.cache/go:/go \ -w /go/src/$(PACKAGE_NAME) \ goreleaser-cross:latest \ --clean --skip=publish --snapshot --verbose .PHONY: release release: mkdir -p .cache/go docker run \ --rm --privileged \ --user 1000:1000 \ --env-file .release-env \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(CURDIR):/go/src/$(PACKAGE_NAME) \ -v $(CURDIR)/sysroot:/sysroot \ -v $(CURDIR)/.cache:/.cache \ -v $(CURDIR)/.cache/go:/go \ -w /go/src/$(PACKAGE_NAME) \ goreleaser-cross:latest \ --clean --skip=validate .PHONY: lint lint: golangci-lint run --fix