top_builddir=.. include $(top_builddir)/Makefile.config SUBDIRS = man HTML_DIR = $(DESTDIR)html MAN_DIR = $(DESTDIR)man PDF_DIR = $(DESTDIR)pdf XML_DIR = $(DESTDIR)xml # Keep generated .txt files relative to the source directory # and files they are included in. TXT_DIR = $(top_srcdir)/doc/txt DOC_DIRS = \ $(HTML_DIR) \ $(MAN_DIR)/man1 \ $(MAN_DIR)/man5 \ $(TXT_DIR) \ $(XML_DIR) # TODO: perl.pod should be pod2ized during make install. --pasky # XXX: manual.txt is the master document and must be first. MANUAL_FILES = \ manual.txt \ \ bookmarks.txt \ ecmascript.txt \ exmode.txt \ faq.txt \ installation.txt \ introduction.txt \ lua-scripting.txt \ mailcap.txt \ marks.txt \ mime.txt \ remote.txt \ small.txt \ tabs.txt \ terminals.txt \ urlshortcuts.txt ### Script Dependencies # ELINKS = $(top_builddir)/src/elinks KBDBIND = $(top_srcdir)/src/config/kbdbind.c FEATURES = $(top_srcdir)/features.conf ### Scripts # HELP2DOC = $(top_srcdir)/doc/tools/help2doc IMPORT_FEATURES_CONF = $(top_srcdir)/doc/tools/import-features.conf MAKE_ELINKS_MANPAGE = $(top_srcdir)/doc/tools/make-elinks-manpage MAKE_ELINKSKEYS_MANPAGE = $(top_srcdir)/doc/tools/make-elinkskeys-manpage ifeq ($(CONFIG_ASCIIDOC),yes) HTML_DOCS_WITH_ASCIIDOC = \ $(HTML_DIR)/elinks.1.html \ $(HTML_DIR)/elinkskeys.5.html \ $(HTML_DIR)/hacking.html \ $(HTML_DIR)/manual.html endif # Only jw is used for generating PDF. ifeq ($(CONFIG_XMLTO),yes) HTML_DOCS_WITH_XMLTO = \ $(HTML_DIR)/manual.html-chunked MAN_DOCS_WITH_XMLTO = \ $(MAN_DIR)/man1/elinks.1.in \ $(MAN_DIR)/man5/elinkskeys.5 endif # Only jw is used for generating PDF. ifeq ($(CONFIG_JW),yes) PDF_DOCS_WITH_JW = \ $(PDF_DIR)/manual.pdf endif ifeq ($(CONFIG_POD2HTML),yes) HTML_DOCS_WITH_POD2HTML = \ $(HTML_DIR)/perl.html \ $(HTML_DIR)/perl-hooks.html endif MAN_DOCS_WITH_SHELL = $(MAN_DIR)/man5/elinks.conf.5 MAN_DOCS = \ $(MAN_DOCS_WITH_SHELL) $(MAN_DOCS_WITH_ASCIIDOC) HTML_DOCS = \ $(HTML_DOCS_WITH_ASCIIDOC) \ $(HTML_DOCS_WITH_POD2HTML) \ $(HTML_DOCS_WITH_JW) PDF_DOCS = \ $(PDF_DOCS_WITH_JW) html-asciidoc-yes: doc-dirs $(HTML_DOCS_WITH_ASCIIDOC) html-asciidoc-no: html-pod2html-yes: doc-dirs $(HTML_DOCS_WITH_POD2HTML) html-pod2html-no: html-xmlto-yes: doc-dirs $(HTML_DOCS_WITH_XMLTO) html-xmlto-no: man-xmlto-yes: doc-dirs $(MAN_DOCS_WITH_XMLTO) man-xmlto-no: pdf-jw-yes: doc-dirs $(PDF_DOCS_WITH_JW) pdf-jw-no: man-docs: man-xmlto-$(CONFIG_XMLTO) $(MAN_DOCS_WITH_SHELL) html-docs: html-asciidoc-$(CONFIG_ASCIIDOC) html-xmlto-$(CONFIG_XMLTO) html-pod2html-$(CONFIG_POD2HTML) pdf-docs: pdf-jw-$(CONFIG_JW) all-docs: man-docs html-docs pdf-docs ### Build Rules # doc-dirs: $(INSTALL) -d $(DOC_DIRS) # $(MAN_DIR) intentionally left out clean-local: @$(RM) -r $(HTML_DIR) $(XML_DIR) $(TXT_DIR) $(PDF_DIR) *.tmp # Autogenerated asciidoc files. $(TXT_DIR)/import-features.conf.txt: $(FEATURES) doc-dirs $(IMPORT_FEATURES_CONF) $(IMPORT_FEATURES_CONF) > $@ $(TXT_DIR)/elinks.1.%.txt: $(MAKE_ELINKS_MANPAGE) doc-dirs $(ELINKS) $(MAKE_ELINKS_MANPAGE) $@ $(ELINKS) $(HELP2DOC) > $@ $(TXT_DIR)/elinkskeys.5.%.txt: $(MAKE_ELINKSKEYS_MANPAGE) doc-dirs $(KBDBIND) $(MAKE_ELINKSKEYS_MANPAGE) $@ $(KBDBIND) > $@ # Man Pages $(XML_DIR)/%.man.xml: $(TXT_DIR)/%.man.txt doc-dirs $(ASCIIDOC) -b docbook -d manpage -o $@ $< $(MAN_DIR)/man1/elinks.1.in: $(XML_DIR)/elinks.1.man.xml doc-dirs $(XMLTO) -o $(MAN_DIR)/man1 man $< mv $(MAN_DIR)/man1/elinks.1 $@ $(MAN_DIR)/man5/elinkskeys.5: $(XML_DIR)/elinkskeys.5.man.xml doc-dirs $(XMLTO) -o $(MAN_DIR)/man5 man $< sed -e 's/\\fI\\fR'\''/\\fI\\'\''\\fR/' < $@ > $@.tmp mv $@.tmp $@ $(MAN_DIR)/man5/elinks.conf.5: doc-dirs $(ELINKS) $(HELP2DOC) --elinks=$(ELINKS) --elinksconf > $@ # XHTML/CSS Man Pages $(HTML_DIR)/%.html: $(TXT_DIR)/%.html.txt doc-dirs $(ASCIIDOC) -b xhtml11 -d manpage -o $@ $< # The Manual MANUAL_EXTRA_FILES = \ $(TXT_DIR)/import-features.conf.txt \ $(TXT_DIR)/elinks.1.html.txt \ $(TXT_DIR)/elinkskeys.5.html.txt $(HTML_DIR)/manual.html: $(MANUAL_FILES) doc-dirs $(MANUAL_EXTRA_FILES) $(ASCIIDOC) -b xhtml11 -d book -o $@ -n $< $(HTML_DIR)/hacking.html: $(top_srcdir)/doc/hacking.txt doc-dirs $(ASCIIDOC) -b xhtml11 -d book -o $@ -n $< $(HTML_DIR)/dev-intro.html: $(top_srcdir)/doc/dev-intro.txt doc-dirs $(ASCIIDOC) -b xhtml11 -d book -o $@ -n $< $(XML_DIR)/manual.xml: $(MANUAL_FILES) doc-dirs $(MANUAL_EXTRA_FILES) $(ASCIIDOC) -b docbook -d book -o $@ $< $(HTML_DIR)/manual.html-chunked: $(XML_DIR)/manual.xml doc-dirs $(XMLTO) -o $@ html $< $(PDF_DIR)/manual.pdf: $(XML_DIR)/manual.xml doc-dirs $(JW) -o $(PDF_DIR) -b pdf $< $(HTML_DIR)/perl.html: $(top_srcdir)/doc/perl.pod doc-dirs $(POD2HTML) --outfile=$@ < $< $(HTML_DIR)/perl-hooks.html: $(top_srcdir)/contrib/perl/hooks.pl doc-dirs $(POD2HTML) --outfile=$@ < $< include $(top_srcdir)/Makefile.lib