From 41bdcda37376a5faa63028f01260890723c3fcfa Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sat, 20 Jan 2007 20:00:07 -0500 Subject: [PATCH] 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 --- .gitignore | 2 ++ Makefile | 31 ++++++++++++++++++++++++++++--- git-citool | 1 - git-gui => git-gui.sh | 3 ++- 4 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 .gitignore delete mode 120000 git-citool rename git-gui => git-gui.sh (99%) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..5bda901aeb --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +git-citool +git-gui diff --git a/Makefile b/Makefile index e3e871f7c4..606bec640e 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 b5f620fd09..0000000000 --- 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 b79eb451d2..0770ad03f9 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 {}