From 2ba85daddf46422aa510a8c03ff75ba59761c190 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 17 Apr 2014 17:42:28 +0200 Subject: makefile: allow platform files with gnu sed Signed-off-by: Jason A. Donenfeld --- Makefile | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 32c2d6a..bee69e1 100644 --- a/Makefile +++ b/Makefile @@ -6,14 +6,13 @@ MANDIR ?= $(PREFIX)/share/man PLATFORMFILE := src/platform/$(shell uname | cut -d _ -f 1 | tr '[:upper:]' '[:lower:]').sh -.PHONY: install uninstall install-pass +.PHONY: install uninstall install-common all: @echo "Password store is a shell script, so there is nothing to do. Try \"make install\" instead." -install-pass: +install-common: @mkdir -p "$(DESTDIR)$(BINDIR)" "$(DESTDIR)$(LIBDIR)" "$(DESTDIR)$(MANDIR)/man1" "$(DESTDIR)$(PREFIX)/share/bash-completion/completions/" - @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 src/completion/pass.bash-completion "$(DESTDIR)$(PREFIX)/share/bash-completion/completions/pass" @@ -24,12 +23,14 @@ install-pass: # @install -m 0644 -v src/completion/pass.fish-completion "$(DESTDIR)$(PREFIX)/share/fish/completions/pass.fish" ifneq ($(strip $(wildcard $(PLATFORMFILE))),) -install: install-pass +install: install-common @install -m 0644 -v "$(PLATFORMFILE)" "$(DESTDIR)$(LIBDIR)/password-store.platform.sh" -# The -i "" doesn't work on GNU, where the extra argument isn't needed. Fortuantely, platform file is for non-GNU only. - sed -i "" 's:.*platform-defined-functions.*:source $(DESTDIR)$(LIBDIR)/password-store.platform.sh:' "$(DESTDIR)$(BINDIR)/pass" + @mkdir -p -v "$(DESTDIR)$(BINDIR)/" + sed 's:.*platform-defined-functions.*:source $(DESTDIR)$(LIBDIR)/password-store.platform.sh:' src/password-store.sh > "$(DESTDIR)$(BINDIR)/pass" + @chmod 0755 "$(DESTDIR)$(BINDIR)/pass" else -install: install-pass +install: install-common + @install -m 0755 -v src/password-store.sh "$(DESTDIR)$(BINDIR)/pass" endif uninstall: -- cgit v1.2.3