PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin
MANDIR ?= $(PREFIX)/share/man
DOCDIR ?= $(PREFIX)/share/doc/goosedump
CARGO ?= cargo
INSTALL ?= install
.PHONY: all check clippy notices install uninstall clean
all:
$(CARGO) build
check:
$(CARGO) build
$(CARGO) clippy --all-targets --all-features
clippy:
$(CARGO) clippy --all-targets --all-features
notices:
$(CARGO) about generate --locked about.hbs --output-file THIRD_PARTY_NOTICES.txt
install:
$(CARGO) build --release
$(INSTALL) -d "$(DESTDIR)$(BINDIR)" "$(DESTDIR)$(MANDIR)/man1" "$(DESTDIR)$(DOCDIR)"
$(INSTALL) -m 755 target/release/goosedump "$(DESTDIR)$(BINDIR)/goosedump"
$(INSTALL) -m 644 man/man1/goosedump.1 "$(DESTDIR)$(MANDIR)/man1/goosedump.1"
$(INSTALL) -m 644 THIRD_PARTY_NOTICES.txt "$(DESTDIR)$(DOCDIR)/THIRD_PARTY_NOTICES.txt"
uninstall:
$(RM) "$(DESTDIR)$(BINDIR)/goosedump"
$(RM) "$(DESTDIR)$(MANDIR)/man1/goosedump.1"
$(RM) "$(DESTDIR)$(DOCDIR)/THIRD_PARTY_NOTICES.txt"
clean:
$(CARGO) clean