X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/08d8ed6ac288e1b2c1c186eea9c33ff38edd0ac3..aef309d6d15a29109d9172e6da151e5491370d3d:/Makefile?ds=inline

diff --git a/Makefile b/Makefile
index cb112c7..b9154e7 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,8 @@
-PREFIX=/usr
+PREFIX?=/usr
+DOCDIR_PREFIX=$(PREFIX)/share/doc
+DOCDIR=$(DOCDIR_PREFIX)/$(self)
+ZSHDIR=$(PREFIX)/share/zsh/vendor-completions
+RONN ?= ronn
 
 self=vcsh
 manpages=$(self).1
@@ -11,16 +15,16 @@ install: all
 	install -m 0755 $(self) $(DESTDIR)$(PREFIX)/bin
 	install -d $(DESTDIR)$(PREFIX)/share/man/man1
 	install -m 0644 $(manpages) $(DESTDIR)$(PREFIX)/share/man/man1
-	install -d $(DESTDIR)$(PREFIX)/share/doc/$(self)
-	install -m 0644 README.md $(DESTDIR)$(PREFIX)/share/doc/$(self)
-	install -m 0644 doc/hooks $(DESTDIR)$(PREFIX)/share/doc/$(self)
-	install -d $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions
-	install -m 0644 _$(self) $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions
+	install -d $(DESTDIR)$(DOCDIR)
+	install -m 0644 README.md $(DESTDIR)$(DOCDIR)
+	install -m 0644 doc/hooks $(DESTDIR)$(DOCDIR)
+	install -d $(DESTDIR)$(ZSHDIR)
+	install -m 0644 _$(self) $(DESTDIR)$(ZSHDIR)
 
 manpages: $(manpages)
 
 $(self).1: doc/$(self).1.ronn
-	ronn < doc/$(self).1.ronn > $(self).1
+	$(RONN) < doc/$(self).1.ronn > $(self).1 || rm $(self).1
 
 clean:
 	rm -rf $(self).1
@@ -28,19 +32,20 @@ clean:
 uninstall:
 	rm -rf $(DESTDIR)$(PREFIX)/bin/$(self)
 	rm -rf $(DESTDIR)$(PREFIX)/share/man/man1/$(self).1
-	rm -rf $(DESTDIR)$(PREFIX)/share/doc/$(self)
-	rm -rf $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions/_$(self)
+	rm -rf $(DESTDIR)$(DOCDIR)
+	rm -rf $(DESTDIR)$(ZSHDIR)/_$(self)
 
 # Potentially harmful, used a non-standard option on purpose.
 # If PREFIX=/usr/local and that's empty...
 purge: uninstall
 	rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/bin/
 	rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/man/man1/
-	rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/doc/
-	rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions/
+	rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(DOCDIR)
+	rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(ZSHDIR)
 
 test:
-	if which git > /dev/null ; then :; else echo "'git' not found, exiting..."; exit 1; fi
+	@if which git   > /dev/null; then :    ; else echo "'git' not found, exiting..."         ; exit 1; fi
+	@if which prove > /dev/null; then prove; else echo "'prove' not found; not running tests";         fi
 
 moo:
-	@if [ -x /usr/games/cowsay ]; then /usr/games/cowsay "I hope you're happy now..."; fi
+	@which cowsay >/dev/null 2>&1 && cowsay "I hope you're happy now..."