summaryrefslogtreecommitdiff
path: root/contrib/subtree
diff options
context:
space:
mode:
authorDavid A. Greene <greened@obbligato.org>2012-04-10 02:13:03 (GMT)
committerDavid A. Greene <greened@obbligato.org>2012-04-10 03:26:10 (GMT)
commit7ff8463dba0d74fc07a766bed457ae7afcc902b5 (patch)
tree21b87f6b15d75df86123bb50ce1927db8588cf2c /contrib/subtree
parent187bc2da5bc2172a7cc8a0da3b4c0994e7a0d9fc (diff)
downloadgit-7ff8463dba0d74fc07a766bed457ae7afcc902b5.zip
git-7ff8463dba0d74fc07a766bed457ae7afcc902b5.tar.gz
git-7ff8463dba0d74fc07a766bed457ae7afcc902b5.tar.bz2
Install git-subtree from contrib
Build git-subtree in its contrib directory and install from there. The main Makefile no longer discovers subcommands build in the main build area so we cannot count on it to install git-subtree. The user should make && make install in contrib/subtree to install git-subtree. Change the rule to install the git-subtree manpage. The main Documentation area doesn't directly support installing documentation from other directories so the user will have to do that from within contrib/subtree for now. Signed-off-by: David A. Greene <greened@obbligato.org>
Diffstat (limited to 'contrib/subtree')
-rw-r--r--contrib/subtree/Makefile41
1 files changed, 21 insertions, 20 deletions
diff --git a/contrib/subtree/Makefile b/contrib/subtree/Makefile
index da80522..c80260e 100644
--- a/contrib/subtree/Makefile
+++ b/contrib/subtree/Makefile
@@ -3,43 +3,44 @@
prefix ?= /usr/local
mandir ?= $(prefix)/share/man
+libexecdir ?= $(prefix)/libexec/git-core
gitdir ?= $(shell git --exec-path)
+man1dir ?= $(mandir)/man1
gitver ?= $(word 3,$(shell git --version))
# this should be set to a 'standard' bsd-type install program
INSTALL ?= install
-INSTALL_DATA = $(INSTALL) -c -m 0644
-INSTALL_EXE = $(INSTALL) -c -m 0755
-INSTALL_DIR = $(INSTALL) -c -d -m 0755
ASCIIDOC_CONF = ../../Documentation/asciidoc.conf
MANPAGE_NORMAL_XSL = ../../Documentation/manpage-normal.xsl
-default:
- @echo "git-subtree doesn't need to be built."
- @echo "Just copy it somewhere on your PATH, like /usr/local/bin."
- @echo
- @echo "Try: make doc"
- @echo " or: make test"
- @false
+GIT_SUBTREE_SH := git-subtree.sh
+GIT_SUBTREE := git-subtree
-install: install-exe install-doc
+GIT_SUBTREE_DOC := git-subtree.1
+GIT_SUBTREE_XML := git-subtree.xml
+GIT_SUBTREE_TXT := git-subtree.txt
-install-exe: git-subtree.sh
- $(INSTALL_DIR) $(DESTDIR)/$(gitdir)
- $(INSTALL_EXE) $< $(DESTDIR)/$(gitdir)/git-subtree
+all: $(GIT_SUBTREE)
-install-doc: git-subtree.1
- $(INSTALL_DIR) $(DESTDIR)/$(mandir)/man1/
- $(INSTALL_DATA) $< $(DESTDIR)/$(mandir)/man1/
+$(GIT_SUBTREE): $(GIT_SUBTREE_SH)
+ cp $< $@ && chmod +x $@
-doc: git-subtree.1
+doc: $(GIT_SUBTREE_DOC)
-%.1: %.xml
+install: $(GIT_SUBTREE)
+ $(INSTALL) -m 755 $(GIT_SUBTREE) $(libexecdir)
+
+install-doc: install-man
+
+install-man: $(GIT_SUBTREE_DOC)
+ $(INSTALL) -m 644 $^ $(man1dir)
+
+$(GIT_SUBTREE_DOC): $(GIT_SUBTREE_XML)
xmlto -m $(MANPAGE_NORMAL_XSL) man $^
-%.xml: %.txt
+$(GIT_SUBTREE_XML): $(GIT_SUBTREE_TXT)
asciidoc -b docbook -d manpage -f $(ASCIIDOC_CONF) \
-agit_version=$(gitver) $^