m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2014-04-21 00:22:53 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2014-04-21 00:30:51 +0200
commit0d95a5f7bd607ca65f855258ae9800ea17a077c3 (patch)
tree259aefcb07d30838c6ea9a8172f996b77439bb59 /Makefile
parent6d1771c4700f6e4757524d13255cfe74aabc6610 (diff)
makefile: install completion automatically and adjust lib paths
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile42
1 files 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"