unpoller_unpoller/Makefile

70 lines
1.7 KiB
Makefile

BINARY:=unifi-poller
PACKAGE:=./cmd/$(BINARY)
VERSION:=$(shell git tag -l --merged | tail -n1 | tr -d v)
ITERATION:=$(shell git rev-list --all --count)
all: man build
# Prepare a release. Called in Travis CI.
release: clean test man linux macos rpm deb osxpkg
mkdir -p release
gzip -9 $(BINARY).linux
gzip -9 $(BINARY).macos
mv $(BINARY).macos.gz $(BINARY).linux.gz release/
mv *.rpm *.deb *.pkg release/
# Delete all build assets.
clean:
rm -f $(BINARY){.macos,.linux,.1,}{,.gz}
rm -f $(BINARY){_,-}*.{deb,rpm,pkg}
rm -rf package_build release
# Build a man page from a markdown file using ronn.
man: $(BINARY).1.gz
$(BINARY).1.gz:
scripts/build_manpages.sh ./
# Binaries
build: $(BINARY)
$(BINARY):
go build -o $(BINARY) -ldflags "-w -s -X main.Version=$(VERSION)" $(PACKAGE)
linux: $(BINARY).linux
$(BINARY).linux:
GOOS=linux go build -o $(BINARY).linux -ldflags "-w -s -X main.Version=$(VERSION)" $(PACKAGE)
macos: $(BINARY).macos
$(BINARY).macos:
GOOS=darwin go build -o $(BINARY).macos -ldflags "-w -s -X main.Version=$(VERSION)" $(PACKAGE)
# Packages
rpm: man linux $(BINARY)-$(VERSION)-$(ITERATION).x86_64.rpm
$(BINARY)-$(VERSION)-$(ITERATION).x86_64.rpm:
scripts/build_packages.sh rpm "$(VERSION)" "$(ITERATION)"
deb: man linux $(BINARY)_$(VERSION)-$(ITERATION)_amd64.deb
$(BINARY)_$(VERSION)-$(ITERATION)_amd64.deb:
scripts/build_packages.sh deb "$(VERSION)" "$(ITERATION)"
osxpkg: man macos $(BINARY)-$(VERSION).pkg
$(BINARY)-$(VERSION).pkg:
scripts/build_packages.sh osxpkg "$(VERSION)" "$(ITERATION)"
# Extras
test: lint
go test -race -covermode=atomic $(PACKAGE)
lint:
golangci-lint run --enable-all -D gochecknoglobals
install: man
scripts/local_install.sh
uninstall:
scripts/local_uninstall.sh
deps:
dep ensure -update