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>
This commit is contained in:
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
git-citool
|
||||||
|
git-gui
|
31
Makefile
31
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)
|
gitexecdir := $(shell git --exec-path)
|
||||||
INSTALL = install
|
INSTALL = install
|
||||||
@ -6,9 +15,25 @@ INSTALL = install
|
|||||||
DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
|
DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
|
||||||
gitexecdir_SQ = $(subst ','\'',$(gitexecdir))
|
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: all
|
||||||
$(INSTALL) -d -m755 '$(DESTDIR_SQ)$(gitexecdir_SQ)'
|
$(INSTALL) -d -m755 '$(DESTDIR_SQ)$(gitexecdir_SQ)'
|
||||||
$(INSTALL) git-gui '$(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)
|
||||||
|
@ -1 +0,0 @@
|
|||||||
git-gui
|
|
@ -3,7 +3,7 @@
|
|||||||
exec wish "$0" -- "$@"
|
exec wish "$0" -- "$@"
|
||||||
|
|
||||||
set copyright {
|
set copyright {
|
||||||
Copyright Š 2006 Shawn Pearce, Paul Mackerras.
|
Copyright © 2006, 2007 Shawn Pearce, Paul Mackerras.
|
||||||
|
|
||||||
All rights reserved.
|
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,
|
and distributed under the terms of the GNU General Public Licence,
|
||||||
either version 2, or (at your option) any later version.}
|
either version 2, or (at your option) any later version.}
|
||||||
|
|
||||||
|
set appvers {@@GITGUI_VERSION@@}
|
||||||
set appname [lindex [file split $argv0] end]
|
set appname [lindex [file split $argv0] end]
|
||||||
set gitdir {}
|
set gitdir {}
|
||||||
|
|
Reference in New Issue
Block a user