| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- NAME=aliddns
- BASE_BUILDDIR=build
- BUILDNAME=$(GOOS)-$(GOARCH)$(GOARM)
- BUILDDIR=$(BASE_BUILDDIR)/$(BUILDNAME)
- VERSION?=dev
- ifeq ($(GOOS),windows)
- ext=.exe
- archiveCmd=zip -9 -r $(NAME)-$(BUILDNAME)-$(VERSION).zip $(BUILDNAME)
- else
- ext=
- archiveCmd=tar czpvf $(NAME)-$(BUILDNAME)-$(VERSION).tar.gz $(BUILDNAME)
- endif
- .PHONY: default
- default: build
- build: clean test
- go build -mod=vendor
- release: check-env-release
- mkdir -p $(BUILDDIR)
- cp LICENSE $(BUILDDIR)/
- cp README.md $(BUILDDIR)/
- CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) go build -mod=vendor -ldflags "-s -w -X main.VersionString=$(VERSION)" -o $(BUILDDIR)/$(NAME)$(ext)
- cd $(BASE_BUILDDIR) ; $(archiveCmd)
- test:
- go test -race -v -bench=. ./...
- clean:
- go clean
- rm -rf $(BASE_BUILDDIR)
- check-env-release:
- @ if [ "$(GOOS)" = "" ]; then \
- echo "Environment variable GOOS not set"; \
- exit 1; \
- fi
- @ if [ "$(GOARCH)" = "" ]; then \
- echo "Environment variable GOOS not set"; \
- exit 1; \
- fi
|