From 7ff8463dba0d74fc07a766bed457ae7afcc902b5 Mon Sep 17 00:00:00 2001 From: "David A. Greene" Date: Mon, 9 Apr 2012 21:13:03 -0500 Subject: [PATCH] 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 --- contrib/subtree/Makefile | 41 ++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/contrib/subtree/Makefile b/contrib/subtree/Makefile index da8052257..c80260e4d 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) $^ -- 2.30.2