diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2007-01-20 20:00:07 -0500 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2007-01-21 02:54:18 -0500 |
commit | 41bdcda37376a5faa63028f01260890723c3fcfa (patch) | |
tree | 528acec397c402d61615b58ad79c498664ef5534 /Makefile | |
parent | c25623321d52642fe8fb80c64904a53363f91b12 (diff) | |
download | git-41bdcda37376a5faa63028f01260890723c3fcfa.tar.gz git-41bdcda37376a5faa63028f01260890723c3fcfa.tar.xz |
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>
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 31 |
1 files changed, 28 insertions, 3 deletions
@@ -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) |