diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..5bda901aebe3ce8a2da7c9b0fb4cc2b04b941a61
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+git-citool
+git-gui
diff --git a/Makefile b/Makefile
index e3e871f7c4e84d81f4280d40a46c549fa56749e9..606bec640ee4d8b425d6ef9c8b2313a2e9435f84 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,13 @@
-all: git-gui
+all::
+
+SCRIPT_SH = git-gui.sh
+GITGUI_BUILT_INS = git-citool
+ALL_PROGRAMS = $(GITGUI_BUILT_INS) $(patsubst %.sh,%,$(SCRIPT_SH))
+GITGUI_VERSION := $(shell git describe)
+
+ifndef SHELL_PATH
+	SHELL_PATH = /bin/sh
+endif
 
 gitexecdir := $(shell git --exec-path)
 INSTALL = install
@@ -6,9 +15,25 @@ INSTALL = install
 DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
 gitexecdir_SQ = $(subst ','\'',$(gitexecdir))
 
-GITGUI_BUILTIN = git-citool
+SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
+
+$(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh
+	rm -f $@ $@+
+	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+		-e 's/@@GITGUI_VERSION@@/$(GITGUI_VERSION)/g' \
+		$@.sh >$@+
+	chmod +x $@+
+	mv $@+ $@
+
+$(GITGUI_BUILT_INS): git-gui
+	rm -f $@ && ln git-gui $@
+
+all:: $(ALL_PROGRAMS)
 
 install: all
 	$(INSTALL) -d -m755 '$(DESTDIR_SQ)$(gitexecdir_SQ)'
 	$(INSTALL) git-gui '$(DESTDIR_SQ)$(gitexecdir_SQ)'
-	$(foreach p,$(GITGUI_BUILTIN), rm -f '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' && ln '$(DESTDIR_SQ)$(gitexecdir_SQ)/git-gui' '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' ;)
+	$(foreach p,$(GITGUI_BUILT_INS), rm -f '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' && ln '$(DESTDIR_SQ)$(gitexecdir_SQ)/git-gui' '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' ;)
+
+clean::
+	rm -f $(ALL_PROGRAMS)
diff --git a/git-citool b/git-citool
deleted file mode 120000
index b5f620fd097485791ca31267432de0f27ad4c024..0000000000000000000000000000000000000000
--- a/git-citool
+++ /dev/null
@@ -1 +0,0 @@
-git-gui
\ No newline at end of file
diff --git a/git-gui b/git-gui.sh
similarity index 99%
rename from git-gui
rename to git-gui.sh
index b79eb451d2bd3c04669115b75ef5c3159e9382ca..0770ad03f94bcec4602b932afc94d2c03ba27f5c 100755
--- a/git-gui
+++ b/git-gui.sh
@@ -3,7 +3,7 @@
 exec wish "$0" -- "$@"
 
 set copyright {
-Copyright � 2006 Shawn Pearce, Paul Mackerras.
+Copyright � 2006, 2007 Shawn Pearce, Paul Mackerras.
 
 All rights reserved.
 
@@ -11,6 +11,7 @@ This program is free software; it may be used, copied, modified
 and distributed under the terms of the GNU General Public Licence,
 either version 2, or (at your option) any later version.}
 
+set appvers {@@GITGUI_VERSION@@}
 set appname [lindex [file split $argv0] end]
 set gitdir {}