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