@@ -5,8 +5,15 @@ DIST := dist
55VERSION ?= dev
66# Platforms built by `make release`.
77RELEASE_PLATFORMS ?= darwin/amd64 darwin/arm64 linux/amd64 linux/arm64 linux/386 linux/arm
8+ # Man page and its install location (override with `make install-man MANPREFIX=...`).
9+ MANPAGE := docs/exex.1
10+ MANPREFIX ?= /usr/local/share/man
11+ # Shell-completion install dirs (override per platform, e.g. with brew --prefix).
12+ BASHCOMPDIR ?= /usr/local/etc/bash_completion.d
13+ ZSHCOMPDIR ?= /usr/local/share/zsh/site-functions
14+ FISHCOMPDIR ?= /usr/local/share/fish/vendor_completions.d
815
9- .PHONY : build lite install test clean release
16+ .PHONY : build lite install install-man install-completions test clean release
1017
1118# Full build: includes Chroma syntax highlighting (source pane + asm colours).
1219build :
2027install :
2128 go install -trimpath -ldflags=" $( LDFLAGS) " .
2229
30+ # Install the man page into $(MANPREFIX)/man1 (use sudo for a system prefix).
31+ install-man :
32+ install -d " $( MANPREFIX) /man1"
33+ install -m 0644 " $( MANPAGE) " " $( MANPREFIX) /man1/exex.1"
34+
35+ # Install shell completions (override *COMPDIR vars for your platform).
36+ install-completions :
37+ install -d " $( BASHCOMPDIR) " " $( ZSHCOMPDIR) " " $( FISHCOMPDIR) "
38+ install -m 0644 completions/exex.bash " $( BASHCOMPDIR) /exex"
39+ install -m 0644 completions/_exex " $( ZSHCOMPDIR) /_exex"
40+ install -m 0644 completions/exex.fish " $( FISHCOMPDIR) /exex.fish"
41+
2342test :
2443 go test ./...
2544 go vet -tags lite ./...
@@ -40,7 +59,8 @@ release:
4059 if [ " $$ variant" = lite ]; then tags=" -tags lite" ; suffix=" -lite" ; fi ; \
4160 bin=$(BINARY ) ; [ " $$ os" = windows ] && bin=$(BINARY ) .exe; \
4261 stage=$$(mktemp -d ) ; \
43- cp docs/config.example.yaml README.md " $$ stage/" 2> /dev/null || true ; \
62+ cp docs/config.example.yaml README.md LICENSE $(MANPAGE ) " $$ stage/" 2> /dev/null || true ; \
63+ cp -r completions " $$ stage/" 2> /dev/null || true ; \
4464 echo " building $$ os/$$ arch ($$ variant)" ; \
4565 CGO_ENABLED=0 GOOS=$$ os GOARCH=$$ arch \
4666 go build $$ tags -trimpath -ldflags=" $( LDFLAGS) " -o " $$ stage/$$ bin" . || exit 1; \
0 commit comments