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