2 $(filter-out $(addsuffix .txt
, $(ARTICLES
) $(SP_ARTICLES
)), \
3 $(wildcard git-
*.txt
)) \
5 MAN5_TXT
=gitattributes.txt gitignore.txt gitmodules.txt githooks.txt
6 MAN7_TXT
=git.txt gitcli.txt
8 MAN_TXT
= $(MAN1_TXT
) $(MAN5_TXT
) $(MAN7_TXT
)
9 MAN_XML
=$(patsubst %.txt
,%.xml
,$(MAN_TXT
))
10 MAN_HTML
=$(patsubst %.txt
,%.html
,$(MAN_TXT
))
15 ARTICLES
+= tutorial-2
16 ARTICLES
+= core-tutorial
17 ARTICLES
+= cvs-migration
19 ARTICLES
+= howto-index
20 ARTICLES
+= repository-layout
24 # with their own formatting rules.
25 SP_ARTICLES
= howto
/revert-branch-rebase howto
/using-merge-subtree user-manual
26 API_DOCS
= $(patsubst %.txt
,%,$(filter-out technical
/api-index-skel.txt technical
/api-index.txt
, $(wildcard technical
/api-
*.txt
)))
27 SP_ARTICLES
+= $(API_DOCS
)
28 SP_ARTICLES
+= technical
/api-index
30 DOC_HTML
+= $(patsubst %,%.html
,$(ARTICLES
) $(SP_ARTICLES
))
32 DOC_MAN1
=$(patsubst %.txt
,%.1,$(MAN1_TXT
))
33 DOC_MAN5
=$(patsubst %.txt
,%.5,$(MAN5_TXT
))
34 DOC_MAN7
=$(patsubst %.txt
,%.7,$(MAN7_TXT
))
38 htmldir?
=$(prefix)/share
/doc
/git-doc
39 mandir?
=$(prefix)/share
/man
40 man1dir=$(mandir)/man1
41 man5dir=$(mandir)/man5
42 man7dir=$(mandir)/man7
47 MANPAGE_XSL
= callouts.xsl
52 infodir?
=$(prefix)/share
/info
54 INSTALL_INFO
=install-info
55 DOCBOOK2X_TEXI
=docbook2x-texi
57 PERL_PATH
= /usr
/bin
/perl
60 -include ..
/config.mak.autogen
61 -include ..
/config.mak
64 ASCIIDOC_EXTRA
+= -a asciidoc7compatible
67 ASCIIDOC_EXTRA
+= -a docbook-xsl-172
68 MANPAGE_XSL
= manpage-1.72.xsl
72 # Please note that there is a minor bug in asciidoc.
73 # The version after 6.0.3 _will_ include the patch found here:
74 # http://marc.theaimsgroup.com/?l=git&m=111558757202243&w=2
76 # Until that version is released you may have to apply the patch
77 # yourself - yes, all 6 characters of it!
84 $(DOC_HTML
) $(DOC_MAN1
) $(DOC_MAN5
) $(DOC_MAN7
): asciidoc.conf
91 info: git.
info gitman.
info
94 $(INSTALL
) -d
-m
755 $(DESTDIR
)$(man1dir)
95 $(INSTALL
) -d
-m
755 $(DESTDIR
)$(man5dir)
96 $(INSTALL
) -d
-m
755 $(DESTDIR
)$(man7dir)
97 $(INSTALL
) -m
644 $(DOC_MAN1
) $(DESTDIR
)$(man1dir)
98 $(INSTALL
) -m
644 $(DOC_MAN5
) $(DESTDIR
)$(man5dir)
99 $(INSTALL
) -m
644 $(DOC_MAN7
) $(DESTDIR
)$(man7dir)
102 $(INSTALL
) -d
-m
755 $(DESTDIR
)$(infodir)
103 $(INSTALL
) -m
644 git.
info gitman.
info $(DESTDIR
)$(infodir)
104 if
test -r
$(DESTDIR
)$(infodir)/dir; then \
105 $(INSTALL_INFO
) --info-dir
=$(DESTDIR
)$(infodir) git.
info ;\
106 $(INSTALL_INFO
) --info-dir
=$(DESTDIR
)$(infodir) gitman.
info ;\
108 echo
"No directory found in $(DESTDIR)$(infodir)" >&2 ; \
112 sh .
/install-webdoc.sh
$(DESTDIR
)$(htmldir
)
114 ..
/GIT-VERSION-FILE
: .FORCE-GIT-VERSION-FILE
115 $(MAKE
) -C ..
/ GIT-VERSION-FILE
117 -include ..
/GIT-VERSION-FILE
120 # Determine "include::" file references in asciidoc files.
122 doc.dep
: $(wildcard *.txt
) build-docdep.perl
124 $(PERL_PATH
) .
/build-docdep.perl
>$@
+
129 cmds_txt
= cmds-ancillaryinterrogators.txt \
130 cmds-ancillarymanipulators.txt \
131 cmds-mainporcelain.txt \
132 cmds-plumbinginterrogators.txt \
133 cmds-plumbingmanipulators.txt \
134 cmds-synchingrepositories.txt \
135 cmds-synchelpers.txt \
136 cmds-purehelpers.txt \
137 cmds-foreignscminterface.txt
139 $(cmds_txt
): cmd-list.made
141 cmd-list.made
: cmd-list.perl ..
/command-list.txt
$(MAN1_TXT
)
143 $(PERL_PATH
) .
/cmd-list.perl ..
/command-list.txt
146 git
.7 git.html
: git.txt
149 $(RM
) *.xml
*.xml
+ *.html
*.html
+ *.1 *.5 *.7
150 $(RM
) *.texi
*.texi
+ git.
info gitman.
info
151 $(RM
) howto-index.txt howto
/*.html doc.dep
152 $(RM
) technical
/api-
*.html technical
/api-index.txt
153 $(RM
) $(cmds_txt
) *.made
155 $(MAN_HTML
): %.html
: %.txt
157 $(ASCIIDOC
) -b xhtml11
-d manpage
-f asciidoc.conf \
158 $(ASCIIDOC_EXTRA
) -agit_version
=$(GIT_VERSION
) -o
$@
+ $<
163 xmlto
-m
$(MANPAGE_XSL
) man
$<
167 $(ASCIIDOC
) -b docbook
-d manpage
-f asciidoc.conf \
168 $(ASCIIDOC_EXTRA
) -agit_version
=$(GIT_VERSION
) -o
$@
+ $<
171 user-manual.xml
: user-manual.txt user-manual.conf
172 $(ASCIIDOC
) -b docbook
-d book
$<
174 technical
/api-index.txt
: technical
/api-index-skel.txt \
175 technical
/api-index.sh
$(patsubst %,%.txt
,$(API_DOCS
))
176 cd technical
&& sh .
/api-index.sh
178 $(patsubst %,%.html
,$(API_DOCS
) technical
/api-index
): %.html
: %.txt
179 $(ASCIIDOC
) -b xhtml11
-f asciidoc.conf \
180 $(ASCIIDOC_EXTRA
) -agit_version
=$(GIT_VERSION
) $*.txt
183 XSLTOPTS
= --xinclude
--stringparam html.stylesheet docbook-xsl.css
185 user-manual.html
: user-manual.xml
186 xsltproc
$(XSLTOPTS
) -o
$@
$(XSLT
) $<
188 git.
info: user-manual.texi
189 $(MAKEINFO
) --no-split
-o
$@ user-manual.texi
191 user-manual.texi
: user-manual.xml
193 $(DOCBOOK2X_TEXI
) user-manual.xml
--to-stdout |
$(PERL_PATH
) fix-texi.perl
>$@
+
196 gitman.texi
: $(MAN_XML
) cat-texi.perl
198 ($(foreach xml
,$(MAN_XML
),$(DOCBOOK2X_TEXI
) --to-stdout
$(xml
);)) | \
199 $(PERL_PATH
) cat-texi.perl
$@
>$@
+
202 gitman.
info: gitman.texi
203 $(MAKEINFO
) --no-split
$*.texi
205 $(patsubst %.txt
,%.texi
,$(MAN_TXT
)): %.texi
: %.xml
207 $(DOCBOOK2X_TEXI
) --to-stdout
$*.xml
>$@
+
210 howto-index.txt
: howto-index.sh
$(wildcard howto
/*.txt
)
212 sh .
/howto-index.sh
$(wildcard howto
/*.txt
) >$@
+
215 $(patsubst %,%.html
,$(ARTICLES
)) : %.html
: %.txt
216 $(ASCIIDOC
) -b xhtml11
$*.txt
218 WEBDOC_DEST
= /pub
/software
/scm
/git
/docs
220 $(patsubst %.txt
,%.html
,$(wildcard howto
/*.txt
)): %.html
: %.txt
222 sed
-e
'1,/^$$/d' $< |
$(ASCIIDOC
) -b xhtml11
- >$@
+
225 install-webdoc
: html
226 sh .
/install-webdoc.sh
$(WEBDOC_DEST
)
229 sh .
/install-doc-quick.sh
$(DOC_REF
) $(DESTDIR
)$(mandir)
231 .PHONY
: .FORCE-GIT-VERSION-FILE