summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2007-01-21 01:00:07 (GMT)
committerShawn O. Pearce <spearce@spearce.org>2007-01-21 07:54:18 (GMT)
commit41bdcda37376a5faa63028f01260890723c3fcfa (patch)
tree528acec397c402d61615b58ad79c498664ef5534
parentc25623321d52642fe8fb80c64904a53363f91b12 (diff)
downloadgit-41bdcda37376a5faa63028f01260890723c3fcfa.zip
git-41bdcda37376a5faa63028f01260890723c3fcfa.tar.gz
git-41bdcda37376a5faa63028f01260890723c3fcfa.tar.bz2
git-gui: Modified makefile to embed version into git-gui script.
We want to embed the version of git-gui directly into the script file, so that we can display it properly in the about dialog. Consequently I've refactored the Makefile process to act like the one in core git.git with regards to shell scripts, allowing git-gui to be constructed by a sed replacement performed on git-gui.sh. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
-rw-r--r--.gitignore2
-rw-r--r--Makefile31
l---------git-citool1
-rwxr-xr-xgit-gui.sh (renamed from git-gui)3
4 files changed, 32 insertions, 5 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5bda901
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+git-citool
+git-gui
diff --git a/Makefile b/Makefile
index e3e871f..606bec6 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 b5f620f..0000000
--- 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
index b79eb45..0770ad0 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 {}