1# The default target of this Makefile is...
2all::
3
4-include ../../config.mak.autogen
5-include ../../config.mak
6
7prefix ?= /usr/local
8gitexecdir ?= $(prefix)/libexec/git-core
9mandir ?= $(prefix)/share/man
10man1dir ?= $(mandir)/man1
11htmldir ?= $(prefix)/share/doc/git-doc
12
13../../GIT-VERSION-FILE: FORCE
14	$(MAKE) -C ../../ GIT-VERSION-FILE
15
16-include ../../GIT-VERSION-FILE
17
18# this should be set to a 'standard' bsd-type install program
19INSTALL  ?= install
20RM       ?= rm -f
21
22ASCIIDOC         = asciidoc
23ASCIIDOC_CONF    = -f ../../Documentation/asciidoc.conf
24ASCIIDOC_HTML    = xhtml11
25ASCIIDOC_DOCBOOK = docbook
26ASCIIDOC_EXTRA   =
27XMLTO            = xmlto
28XMLTO_EXTRA      =
29
30ifdef USE_ASCIIDOCTOR
31ASCIIDOC         = asciidoctor
32ASCIIDOC_CONF    =
33ASCIIDOC_HTML    = xhtml5
34ASCIIDOC_DOCBOOK = docbook
35ASCIIDOC_EXTRA  += -I../../Documentation -rasciidoctor-extensions
36ASCIIDOC_EXTRA  += -alitdd='&\#x2d;&\#x2d;'
37XMLTO_EXTRA     += --skip-validation
38endif
39
40ifndef SHELL_PATH
41	SHELL_PATH = /bin/sh
42endif
43SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
44
45MANPAGE_XSL   = ../../Documentation/manpage-normal.xsl
46
47GIT_SUBTREE_SH := git-subtree.sh
48GIT_SUBTREE    := git-subtree
49
50GIT_SUBTREE_DOC := git-subtree.1
51GIT_SUBTREE_XML := git-subtree.xml
52GIT_SUBTREE_TXT := git-subtree.txt
53GIT_SUBTREE_HTML := git-subtree.html
54GIT_SUBTREE_TEST := ../../git-subtree
55
56all:: $(GIT_SUBTREE)
57
58$(GIT_SUBTREE): $(GIT_SUBTREE_SH)
59	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' $< >$@
60	chmod +x $@
61
62doc: $(GIT_SUBTREE_DOC) $(GIT_SUBTREE_HTML)
63
64man: $(GIT_SUBTREE_DOC)
65
66html: $(GIT_SUBTREE_HTML)
67
68install: $(GIT_SUBTREE)
69	$(INSTALL) -d -m 755 $(DESTDIR)$(gitexecdir)
70	$(INSTALL) -m 755 $(GIT_SUBTREE) $(DESTDIR)$(gitexecdir)
71
72install-doc: install-man install-html
73
74install-man: $(GIT_SUBTREE_DOC)
75	$(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)
76	$(INSTALL) -m 644 $^ $(DESTDIR)$(man1dir)
77
78install-html: $(GIT_SUBTREE_HTML)
79	$(INSTALL) -d -m 755 $(DESTDIR)$(htmldir)
80	$(INSTALL) -m 644 $^ $(DESTDIR)$(htmldir)
81
82$(GIT_SUBTREE_DOC): $(GIT_SUBTREE_XML)
83	$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $^
84
85$(GIT_SUBTREE_XML): $(GIT_SUBTREE_TXT)
86	$(ASCIIDOC) -b $(ASCIIDOC_DOCBOOK) -d manpage $(ASCIIDOC_CONF) \
87		-agit_version=$(GIT_VERSION) $(ASCIIDOC_EXTRA) $^
88
89$(GIT_SUBTREE_HTML): $(GIT_SUBTREE_TXT)
90	$(ASCIIDOC) -b $(ASCIIDOC_HTML) -d manpage $(ASCIIDOC_CONF) \
91		-agit_version=$(GIT_VERSION) $(ASCIIDOC_EXTRA) $^
92
93$(GIT_SUBTREE_TEST): $(GIT_SUBTREE)
94	cp $< $@
95
96test: $(GIT_SUBTREE_TEST)
97	$(MAKE) -C t/ test
98
99clean:
100	$(RM) $(GIT_SUBTREE)
101	$(RM) *.xml *.html *.1
102
103.PHONY: FORCE
104