mirror of
https://github.com/git/git.git
synced 2024-11-18 01:54:19 +01:00
41bdcda373
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>
40 lines
985 B
Makefile
40 lines
985 B
Makefile
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
|
|
|
|
DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
|
|
gitexecdir_SQ = $(subst ','\'',$(gitexecdir))
|
|
|
|
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_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)
|