From 7ea239e376bbdf88e2a2c9eb2f77363eafa7a612 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Mon, 17 Sep 2012 18:24:06 +0200 Subject: Abstract potentially platform specific commands into their own commands. --- Makefile | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 8910450..7b0074e 100644 --- a/Makefile +++ b/Makefile @@ -1,21 +1,33 @@ PREFIX ?= /usr DESTDIR ?= BINDIR ?= $(PREFIX)/bin +LIBDIR ?= $(PREFIX)/lib MANDIR ?= $(PREFIX)/share/man SYSCONFDIR ?= /etc -.PHONY: install uninstall +PLATFORMFILE := src/platform/$(shell uname | tr '[:upper:]' '[:lower:]').sh + +.PHONY: install uninstall install-platform all: @echo "Password store is a shell script, so there is nothing to do. Try \"make install\" instead." install: - @mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1 $(DESTDIR)$(SYSCONFDIR)/bash_completion.d + @mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(MANDIR)/man1 $(DESTDIR)$(SYSCONFDIR)/bash_completion.d @install -m 0755 -v src/password-store.sh $(DESTDIR)$(BINDIR)/pass @install -m 0644 -v man/pass.1 $(DESTDIR)$(MANDIR)/man1/pass.1 @install -m 0644 -v contrib/pass.bash-completion $(DESTDIR)$(SYSCONFDIR)/bash_completion.d/password-store # Uncomment to install the zsh completion file too. # @install -m 0644 -v contrib/pass.zsh-completion $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_pass + @$(MAKE) install-platform + +ifneq ($(strip $(wildcard $(PLATFORMFILE))),) +install-platform: + @install -m 0644 -v $(PLATFORMFILE) $(DESTDIR)$(LIBDIR)/password-store.platform.sh + sed -i "" 's:.*platform-defined-functions.*:source $(DESTDIR)$(LIBDIR)/password-store.platform.sh:' $(DESTDIR)$(BINDIR)/pass +else +install-platform: +endif uninstall: - @rm -vf $(DESTDIR)$(BINDIR)/pass $(DESTDIR)$(MANDIR)/man1/pass.1 $(DESTDIR)$(SYSCONFDIR)/bash_completion.d/password-store + @rm -vf $(DESTDIR)$(BINDIR)/pass $(DESTDIR)$(MANDIR)/man1/pass.1 $(DESTDIR)$(SYSCONFDIR)/bash_completion.d/password-store $(DESTDIR)$(LIBDIR)/password-store.platform.sh -- cgit v1.2.3