mirror of
https://github.com/rkd77/elinks.git
synced 2024-09-06 23:44:43 -04:00
202 lines
4.7 KiB
Makefile
202 lines
4.7 KiB
Makefile
path_to_top=..
|
|
include $(path_to_top)/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)
|
|
|
|
|
|
# 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 $(path_to_top)/Makefile.lib
|