diff --git a/Makefile b/Makefile
index 8b7723d5900a0b0548c3cbb684a293b305edbb80..a52e9edf49b4996a99dad1658c93c9c19a12b1b7 100644
--- a/Makefile
+++ b/Makefile
@@ -1,34 +1,35 @@
 PREFIX=/usr
 
-manpages=vcsh.1
+self=vcsh
+manpages=$(self).1
 all=test manpages
 
 all: $(all)
 
 install: all
 	install -d $(DESTDIR)$(PREFIX)/bin
-	install -m 0755 vcsh $(DESTDIR)$(PREFIX)/bin
+	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/vcsh
-	install -m 0644 README.md $(DESTDIR)$(PREFIX)/share/doc/vcsh
-	install -m 0644 doc/hooks $(DESTDIR)$(PREFIX)/share/doc/vcsh
+	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 _vcsh $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions
+	install -m 0644 _$(self) $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions
 
 manpages: $(manpages)
 
-vcsh.1: doc/vcsh.1.ronn
-	ronn < doc/vcsh.1.ronn > vcsh.1
+$(self).1: doc/$(self).1.ronn
+	ronn < doc/$(self).1.ronn > $(self).1
 
 clean:
-	rm -rf vcsh.1
+	rm -rf $(self).1
 
 uninstall:
-	rm -rf $(DESTDIR)$(PREFIX)/bin/vcsh
-	rm -rf $(DESTDIR)$(PREFIX)/share/man/man1/vcsh.1
-	rm -rf $(DESTDIR)$(PREFIX)/share/doc/vcsh
-	rm -rf $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions/_vcsh
+	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)
 
 # Potentially harmful, used a non-standard option on purpose.
 # If PREFIX=/usr/local and that's empty...