2020-05-03 12:41:09 -05:00
|
|
|
PROGNM ?= sbctl
|
|
|
|
PREFIX ?= /usr/local
|
|
|
|
BINDIR ?= $(PREFIX)/bin
|
|
|
|
SHRDIR ?= $(PREFIX)/share
|
|
|
|
DOCDIR ?= $(PREFIX)/share/doc
|
|
|
|
MANDIR ?= $(PREFIX)/share/man
|
|
|
|
MANS = $(basename $(wildcard docs/*.txt))
|
|
|
|
|
2020-05-03 15:57:33 -05:00
|
|
|
GOFLAGS ?= -buildmode=pie -trimpath
|
|
|
|
|
|
|
|
SOURCES = $(shell go list -f '{{range .GoFiles}}{{$$.Dir}}/{{.}} {{end}}' ./...)
|
|
|
|
|
2021-02-28 07:08:36 -06:00
|
|
|
TAG = $(shell git describe --abbrev=0 --tags)
|
|
|
|
|
2020-05-03 15:57:33 -05:00
|
|
|
all: man build
|
|
|
|
build: sbctl
|
2020-05-03 12:41:09 -05:00
|
|
|
man: $(MANS)
|
|
|
|
$(MANS):
|
|
|
|
|
|
|
|
docs/sbctl.%: docs/sbctl.%.txt docs/asciidoc.conf
|
|
|
|
a2x --no-xmllint --asciidoc-opts="-f docs/asciidoc.conf" -d manpage -f manpage -D docs $<
|
|
|
|
|
2020-05-03 15:57:33 -05:00
|
|
|
sbctl: $(SOURCES)
|
2020-06-21 14:21:56 -05:00
|
|
|
go build ./cmd/$@
|
2020-05-03 15:57:33 -05:00
|
|
|
|
2021-09-05 07:41:59 -05:00
|
|
|
.PHONY: completion
|
|
|
|
completion:
|
|
|
|
./sbctl completion bash | install -Dm644 /dev/stdin "$(DESTDIR)$(SHRDIR)/bash-completion/completions/sbctl"
|
|
|
|
./sbctl completion zsh | install -Dm644 /dev/stdin "$(DESTDIR)$(SHRDIR)/usr/share/zsh/site-functions/_sbctl"
|
|
|
|
./sbctl completion fish | install -Dm644 /dev/stdin "$(DESTDIR)$(SHRDIR)/usr/share/fish/vendor_completions.d/sbctl.fish"
|
|
|
|
|
|
|
|
install: man completion
|
2020-05-03 12:41:09 -05:00
|
|
|
install -Dm755 sbctl -t $(DESTDIR)$(BINDIR)
|
|
|
|
for manfile in $(MANS); do \
|
|
|
|
install -Dm644 $$manfile -t $(DESTDIR)$(MANDIR)/man$${manfile##*.}; \
|
|
|
|
done;
|
|
|
|
install -Dm644 LICENSE -t $(DESTDIR)$(SHRDIR)/licenses/$(PROGNM)
|
|
|
|
|
2020-05-03 15:57:33 -05:00
|
|
|
.PHONY: release
|
|
|
|
release:
|
|
|
|
mkdir -p releases
|
|
|
|
git archive --prefix=${PROGNM}-${TAG}/ -o releases/${PROGNM}-${TAG}.tar.gz ${TAG};
|
|
|
|
gpg --detach-sign -o releases/${PROGNM}-${TAG}.tar.gz.sig releases/${PROGNM}-${TAG}.tar.gz
|
|
|
|
hub release create -m "Release: ${TAG}" -a releases/${PROGNM}-${TAG}.tar.gz.sig -a releases/${PROGNM}-${TAG}.tar.gz ${TAG}
|
2020-06-14 08:39:55 -05:00
|
|
|
|
|
|
|
.PHONY: push-aur
|
|
|
|
push-aur:
|
2020-05-17 06:52:07 -05:00
|
|
|
git subtree push -P "contrib/aur/sbctl-git" aur:sbctl-git.git master
|
2020-05-03 15:57:33 -05:00
|
|
|
|
2020-05-03 12:41:09 -05:00
|
|
|
clean:
|
|
|
|
rm -f $(MANS)
|
2020-05-03 15:57:33 -05:00
|
|
|
rm -f sbctl
|
2020-11-08 04:20:56 -06:00
|
|
|
|
|
|
|
.PHONY: deps
|
|
|
|
deps:
|
|
|
|
go get honnef.co/go/tools/cmd/staticcheck@2020.1.6
|
|
|
|
|
|
|
|
.PHONY: lint
|
|
|
|
lint:
|
|
|
|
go vet ./...
|
|
|
|
staticcheck ./...
|
|
|
|
|
|
|
|
.PHONY: test
|
|
|
|
test:
|
|
|
|
go test -v ./...
|
2021-05-29 15:43:11 -05:00
|
|
|
|
|
|
|
.PHONY: integration
|
|
|
|
integration:
|
|
|
|
go test -v tests/integration_test.go
|