From 0d95a5f7bd607ca65f855258ae9800ea17a077c3 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Mon, 21 Apr 2014 00:22:53 +0200 Subject: makefile: install completion automatically and adjust lib paths --- Makefile | 42 ++++++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 329d8b9..8f9a5db 100644 --- a/Makefile +++ b/Makefile @@ -6,27 +6,39 @@ MANDIR ?= $(PREFIX)/share/man PLATFORMFILE := src/platform/$(shell uname | cut -d _ -f 1 | tr '[:upper:]' '[:lower:]').sh +ifeq ($(FORCE_BASHCOMP),1) +BASHCOMP_SWITCH := "-D" +else +BASHCOMP_SWITCH := +endif +ifeq ($(FORCE_ZSHCOMP),1) +ZSHCOMP_SWITCH := "-D" +else +ZSHCOMP_SWITCH := +endif +ifeq ($(FORCE_FISHCOMP),1) +FISHCOMP_SWITCH := "-D" +else +FISHCOMP_SWITCH := +endif + .PHONY: install uninstall install-common all: @echo "Password store is a shell script, so there is nothing to do. Try \"make install\" instead." install-common: - @mkdir -p "$(DESTDIR)$(BINDIR)" "$(DESTDIR)$(LIBDIR)" "$(DESTDIR)$(MANDIR)/man1" "$(DESTDIR)$(PREFIX)/share/bash-completion/completions/" - @install -m 0644 -v man/pass.1 "$(DESTDIR)$(MANDIR)/man1/pass.1" - @install -m 0644 -v src/completion/pass.bash-completion "$(DESTDIR)$(PREFIX)/share/bash-completion/completions/pass" - -# Uncomment to install the zsh completion file. -# @install -m 0644 -v src/completion/pass.zsh-completion "$(DESTDIR)$(PREFIX)/share/zsh/site-functions/_pass" -# -# Uncomment to install the fish completion file. -# @install -m 0644 -v src/completion/pass.fish-completion "$(DESTDIR)$(PREFIX)/share/fish/completions/pass.fish" + @install -m 0644 -v -D man/pass.1 "$(DESTDIR)$(MANDIR)/man1/pass.1" + + @install -m 0644 -v $(BASHCOMP_SWITCH) src/completion/pass.bash-completion "$(DESTDIR)$(PREFIX)/share/bash-completion/completions/pass" 2>/dev/null || echo "** Bash completion file skipped. **" + @install -m 0644 -v $(ZSHCOMP_SWITCH) src/completion/pass.zsh-completion "$(DESTDIR)$(PREFIX)/share/zsh/site-functions/_pass" 2>/dev/null || echo "** Zsh completion file skipped. **" + @install -m 0644 -v $(FISHCOMP_SWITCH) src/completion/pass.fish-completion "$(DESTDIR)$(PREFIX)/share/fish/completions/pass.fish" 2>/dev/null || echo "** Fish completion file skipped. **" ifneq ($(strip $(wildcard $(PLATFORMFILE))),) install: install-common - @install -m 0644 -v "$(PLATFORMFILE)" "$(DESTDIR)$(LIBDIR)/password-store.platform.sh" + @install -m 0644 -v -D "$(PLATFORMFILE)" "$(DESTDIR)$(LIBDIR)/password-store/platform.sh" @mkdir -p -v "$(DESTDIR)$(BINDIR)/" - sed 's:.*PLATFORM_FUNCTION_FILE.*:source "$(DESTDIR)$(LIBDIR)/password-store.platform.sh":' src/password-store.sh > "$(DESTDIR)$(BINDIR)/pass" + sed 's:.*PLATFORM_FUNCTION_FILE.*:source "$(DESTDIR)$(LIBDIR)/password-store/platform.sh":' src/password-store.sh > "$(DESTDIR)$(BINDIR)/pass" @chmod 0755 "$(DESTDIR)$(BINDIR)/pass" else install: install-common @@ -36,4 +48,10 @@ install: install-common endif uninstall: - @rm -vf "$(DESTDIR)$(BINDIR)/pass" "$(DESTDIR)$(MANDIR)/man1/pass.1" "$(DESTDIR)$(PREFIX)/share/bash-completion/completions/pass" "$(DESTDIR)$(LIBDIR)/password-store.platform.sh" + @rm -vrf \ + "$(DESTDIR)$(BINDIR)/pass" \ + "$(DESTDIR)$(LIBDIR)/password-store/" \ + "$(DESTDIR)$(MANDIR)/man1/pass.1" \ + "$(DESTDIR)$(PREFIX)/share/bash-completion/completions/pass" \ + "$(DESTDIR)$(PREFIX)/share/zsh/site-functions/_pass" \ + "$(DESTDIR)$(PREFIX)/share/fish/completions/pass.fish" -- cgit v1.2.3