Skip to content

Commit 7ff8463

Browse files
committed
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 <[email protected]>
1 parent 187bc2d commit 7ff8463

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

contrib/subtree/Makefile

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,43 +3,44 @@
33

44
prefix ?= /usr/local
55
mandir ?= $(prefix)/share/man
6+
libexecdir ?= $(prefix)/libexec/git-core
67
gitdir ?= $(shell git --exec-path)
8+
man1dir ?= $(mandir)/man1
79

810
gitver ?= $(word 3,$(shell git --version))
911

1012
# this should be set to a 'standard' bsd-type install program
1113
INSTALL ?= install
12-
INSTALL_DATA = $(INSTALL) -c -m 0644
13-
INSTALL_EXE = $(INSTALL) -c -m 0755
14-
INSTALL_DIR = $(INSTALL) -c -d -m 0755
1514

1615
ASCIIDOC_CONF = ../../Documentation/asciidoc.conf
1716
MANPAGE_NORMAL_XSL = ../../Documentation/manpage-normal.xsl
1817

19-
default:
20-
@echo "git-subtree doesn't need to be built."
21-
@echo "Just copy it somewhere on your PATH, like /usr/local/bin."
22-
@echo
23-
@echo "Try: make doc"
24-
@echo " or: make test"
25-
@false
18+
GIT_SUBTREE_SH := git-subtree.sh
19+
GIT_SUBTREE := git-subtree
2620

27-
install: install-exe install-doc
21+
GIT_SUBTREE_DOC := git-subtree.1
22+
GIT_SUBTREE_XML := git-subtree.xml
23+
GIT_SUBTREE_TXT := git-subtree.txt
2824

29-
install-exe: git-subtree.sh
30-
$(INSTALL_DIR) $(DESTDIR)/$(gitdir)
31-
$(INSTALL_EXE) $< $(DESTDIR)/$(gitdir)/git-subtree
25+
all: $(GIT_SUBTREE)
3226

33-
install-doc: git-subtree.1
34-
$(INSTALL_DIR) $(DESTDIR)/$(mandir)/man1/
35-
$(INSTALL_DATA) $< $(DESTDIR)/$(mandir)/man1/
27+
$(GIT_SUBTREE): $(GIT_SUBTREE_SH)
28+
cp $< $@ && chmod +x $@
3629

37-
doc: git-subtree.1
30+
doc: $(GIT_SUBTREE_DOC)
3831

39-
%.1: %.xml
32+
install: $(GIT_SUBTREE)
33+
$(INSTALL) -m 755 $(GIT_SUBTREE) $(libexecdir)
34+
35+
install-doc: install-man
36+
37+
install-man: $(GIT_SUBTREE_DOC)
38+
$(INSTALL) -m 644 $^ $(man1dir)
39+
40+
$(GIT_SUBTREE_DOC): $(GIT_SUBTREE_XML)
4041
xmlto -m $(MANPAGE_NORMAL_XSL) man $^
4142

42-
%.xml: %.txt
43+
$(GIT_SUBTREE_XML): $(GIT_SUBTREE_TXT)
4344
asciidoc -b docbook -d manpage -f $(ASCIIDOC_CONF) \
4445
-agit_version=$(gitver) $^
4546

0 commit comments

Comments
 (0)