2 include $(top_builddir
)/Makefile.config
6 HTML_DIR
= $(DESTDIR
)html
7 MAN_DIR
= $(DESTDIR
)man
8 PDF_DIR
= $(DESTDIR
)pdf
9 XML_DIR
= $(DESTDIR
)xml
11 # Keep generated .txt files relative to the source directory
12 # and files they are included in.
13 TXT_DIR
= $(top_srcdir
)/doc
/txt
22 # TODO: perl.pod should be pod2ized during make install. --pasky
24 # XXX: manual.txt is the master document and must be first.
44 ### Script Dependencies
47 ELINKS
= $(top_builddir
)/src
/elinks
48 KBDBIND
= $(top_srcdir
)/src
/config
/kbdbind.c
49 FEATURES
= $(top_srcdir
)/features.conf
54 HELP2DOC
= $(top_srcdir
)/doc
/tools
/help2doc
55 IMPORT_FEATURES_CONF
= $(top_srcdir
)/doc
/tools
/import-features.conf
56 MAKE_ELINKS_MANPAGE
= $(top_srcdir
)/doc
/tools
/make-elinks-manpage
57 MAKE_ELINKSKEYS_MANPAGE
= $(top_srcdir
)/doc
/tools
/make-elinkskeys-manpage
59 ifeq ($(CONFIG_ASCIIDOC
),yes
)
60 HTML_DOCS_WITH_ASCIIDOC
= \
61 $(HTML_DIR
)/elinks
.1.html \
62 $(HTML_DIR
)/elinkskeys
.5.html \
63 $(HTML_DIR
)/hacking.html \
64 $(HTML_DIR
)/manual.html
68 # Only jw is used for generating PDF.
69 ifeq ($(CONFIG_XMLTO
),yes
)
70 HTML_DOCS_WITH_XMLTO
= \
71 $(HTML_DIR
)/manual.html-chunked
73 MAN_DOCS_WITH_XMLTO
= \
74 $(MAN_DIR
)/man1
/elinks
.1.in \
75 $(MAN_DIR
)/man5
/elinkskeys
.5
78 # Only jw is used for generating PDF.
79 ifeq ($(CONFIG_JW
),yes
)
84 ifeq ($(CONFIG_POD2HTML
),yes
)
85 HTML_DOCS_WITH_POD2HTML
= \
86 $(HTML_DIR
)/perl.html \
87 $(HTML_DIR
)/perl-hooks.html
90 MAN_DOCS_WITH_SHELL
= $(MAN_DIR
)/man5
/elinks.conf
.5
93 $(MAN_DOCS_WITH_SHELL
)
94 $(MAN_DOCS_WITH_ASCIIDOC
)
97 $(HTML_DOCS_WITH_ASCIIDOC
) \
98 $(HTML_DOCS_WITH_POD2HTML
) \
104 html-asciidoc-yes
: doc-dirs
$(HTML_DOCS_WITH_ASCIIDOC
)
107 html-pod2html-yes
: doc-dirs
$(HTML_DOCS_WITH_POD2HTML
)
110 html-xmlto-yes
: doc-dirs
$(HTML_DOCS_WITH_XMLTO
)
113 man-xmlto-yes
: doc-dirs
$(MAN_DOCS_WITH_XMLTO
)
116 pdf-jw-yes
: doc-dirs
$(PDF_DOCS_WITH_JW
)
119 man-docs
: man-xmlto-
$(CONFIG_XMLTO
) $(MAN_DOCS_WITH_SHELL
)
120 html-docs
: html-asciidoc-
$(CONFIG_ASCIIDOC
) html-xmlto-
$(CONFIG_XMLTO
) html-pod2html-
$(CONFIG_POD2HTML
)
121 pdf-docs
: pdf-jw-
$(CONFIG_JW
)
123 all-docs
: man-docs html-docs pdf-docs
129 $(INSTALL
) -d
$(DOC_DIRS
)
131 # $(MAN_DIR) intentionally left out
133 $(RM
) -r
$(HTML_DIR
) $(XML_DIR
) $(TXT_DIR
) $(PDF_DIR
) *.tmp
136 # Autogenerated asciidoc files.
138 $(TXT_DIR
)/import-features.conf.txt
: $(FEATURES
) doc-dirs
$(IMPORT_FEATURES_CONF
)
139 $(IMPORT_FEATURES_CONF
) > $@
141 $(TXT_DIR
)/elinks
.1.
%.txt
: $(MAKE_ELINKS_MANPAGE
) doc-dirs
$(ELINKS
)
142 $(MAKE_ELINKS_MANPAGE
) $@
$(ELINKS
) $(HELP2DOC
) > $@
144 $(TXT_DIR
)/elinkskeys
.5.
%.txt
: $(MAKE_ELINKSKEYS_MANPAGE
) doc-dirs
$(KBDBIND
)
145 $(MAKE_ELINKSKEYS_MANPAGE
) $@
$(KBDBIND
) > $@
150 $(XML_DIR
)/%.man.xml
: $(TXT_DIR
)/%.man.txt doc-dirs
151 $(ASCIIDOC
) -b docbook
-d manpage
-o
$@
$<
153 $(MAN_DIR
)/man1
/elinks
.1.in
: $(XML_DIR
)/elinks
.1.man.xml doc-dirs
154 $(XMLTO
) -o
$(MAN_DIR
)/man1 man
$<
155 mv
$(MAN_DIR
)/man1
/elinks
.1 $@
157 $(MAN_DIR
)/man5
/elinkskeys
.5: $(XML_DIR
)/elinkskeys
.5.man.xml doc-dirs
158 $(XMLTO
) -o
$(MAN_DIR
)/man5 man
$<
159 sed
-e
's/\\fI\\fR'\''/\\fI\\'\''\\fR/' < $@
> $@.tmp
162 $(MAN_DIR
)/man5
/elinks.conf
.5: doc-dirs
$(ELINKS
)
163 $(HELP2DOC
) --elinks
=$(ELINKS
) --elinksconf
> $@
165 # XHTML/CSS Man Pages
167 $(HTML_DIR
)/%.html
: $(TXT_DIR
)/%.html.txt doc-dirs
168 $(ASCIIDOC
) -b xhtml11
-d manpage
-o
$@
$<
172 MANUAL_EXTRA_FILES
= \
173 $(TXT_DIR
)/import-features.conf.txt \
174 $(TXT_DIR
)/elinks
.1.html.txt \
175 $(TXT_DIR
)/elinkskeys
.5.html.txt
177 $(HTML_DIR
)/manual.html
: $(MANUAL_FILES
) doc-dirs
$(MANUAL_EXTRA_FILES
)
178 $(ASCIIDOC
) -b xhtml11
-d book
-o
$@
-n
$<
180 $(HTML_DIR
)/hacking.html
: $(top_srcdir
)/doc
/hacking.txt doc-dirs
181 $(ASCIIDOC
) -b xhtml11
-d book
-o
$@
-n
$<
183 $(HTML_DIR
)/dev-intro.html
: $(top_srcdir
)/doc
/dev-intro.txt doc-dirs
184 $(ASCIIDOC
) -b xhtml11
-d book
-o
$@
-n
$<
186 $(XML_DIR
)/manual.xml
: $(MANUAL_FILES
) doc-dirs
$(MANUAL_EXTRA_FILES
)
187 $(ASCIIDOC
) -b docbook
-d book
-o
$@
$<
189 $(HTML_DIR
)/manual.html-chunked
: $(XML_DIR
)/manual.xml doc-dirs
190 $(XMLTO
) -o
$@ html
$<
192 $(PDF_DIR
)/manual.pdf
: $(XML_DIR
)/manual.xml doc-dirs
193 $(JW
) -o
$(PDF_DIR
) -b pdf
$<
195 $(HTML_DIR
)/perl.html
: $(top_srcdir
)/doc
/perl.pod doc-dirs
196 $(POD2HTML
) --outfile
=$@
< $<
198 $(HTML_DIR
)/perl-hooks.html
: $(top_srcdir
)/contrib
/perl
/hooks.pl doc-dirs
199 $(POD2HTML
) --outfile
=$@
< $<
201 include $(top_srcdir
)/Makefile.lib