2005-10-19 22:00:35 -04:00
|
|
|
top_builddir=..
|
|
|
|
include $(top_builddir)/Makefile.config
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
SUBDIRS = man
|
|
|
|
|
2006-01-13 06:17:03 -05:00
|
|
|
# A little trick to simplify some of the rules.
|
2007-07-18 08:41:16 -04:00
|
|
|
VPATH = $(builddir):$(srcdir):$(top_srcdir)/contrib/perl
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-13 06:42:14 -05:00
|
|
|
docdir = $(datadir)/doc
|
|
|
|
|
|
|
|
# Used by install-doc
|
|
|
|
HTML_DIR = $(DESTDIR)$(docdir)/$(PACKAGE)/html
|
|
|
|
PDF_DIR = $(DESTDIR)$(docdir)/$(PACKAGE)/pdf
|
2006-12-01 15:31:16 -05:00
|
|
|
TXT_DIR = $(DESTDIR)$(docdir)/$(PACKAGE)/txt
|
2006-01-13 06:42:14 -05:00
|
|
|
|
2006-01-15 18:18:39 -05:00
|
|
|
ASCIIDOC_CONF = $(srcdir)asciidoc.conf
|
2007-11-25 02:00:00 -05:00
|
|
|
ASCIIDOC_FLAGS += -f $(ASCIIDOC_CONF) -a "builddir=$(CURDIR)/" -a asciidoc7compatible
|
2006-01-15 18:18:39 -05:00
|
|
|
|
2006-01-13 06:17:03 -05:00
|
|
|
#############################################################################
|
|
|
|
# Build files
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
|
2006-12-01 14:38:06 -05:00
|
|
|
TXT_DOCS_NOINSTALL = \
|
2006-01-13 06:17:03 -05:00
|
|
|
features.txt \
|
|
|
|
keymap-actions.txt \
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
keymap-defaults.txt \
|
2006-01-13 06:17:03 -05:00
|
|
|
option-command.txt \
|
|
|
|
option-config.txt
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-12-01 15:31:16 -05:00
|
|
|
TXT_DOCS_ASIS = \
|
|
|
|
python.txt
|
|
|
|
|
2006-01-08 15:46:21 -05:00
|
|
|
HTML_DOCS-$(CONFIG_ASCIIDOC) += \
|
2006-01-08 15:57:55 -05:00
|
|
|
elinks.1.html \
|
2006-01-12 02:33:50 -05:00
|
|
|
elinks.conf.5.html \
|
2006-01-08 15:57:55 -05:00
|
|
|
elinkskeys.5.html \
|
|
|
|
hacking.html \
|
|
|
|
manual.html
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-08 15:46:21 -05:00
|
|
|
HTML_DOCS-$(CONFIG_XMLTO) += \
|
2006-01-08 15:57:55 -05:00
|
|
|
manual.html-chunked
|
|
|
|
|
|
|
|
HTML_DOCS-$(CONFIG_POD2HTML) += \
|
|
|
|
perl.html \
|
2006-01-14 04:59:58 -05:00
|
|
|
perl-hooks.html
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2007-07-18 08:41:16 -04:00
|
|
|
# We don't nowadays run pod2html on the po/perl/ scripts, because
|
|
|
|
# "make install" does not install them and they do not have the .pl
|
|
|
|
# suffix expected by the pod2html rule below.
|
2006-11-26 06:42:29 -05:00
|
|
|
|
2006-01-08 15:46:21 -05:00
|
|
|
MAN_DOCS-$(CONFIG_XMLTO) += \
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
elinks.1 \
|
2006-01-12 02:33:50 -05:00
|
|
|
elinks.conf.5 \
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
elinkskeys.5
|
2005-09-15 22:38:48 -04:00
|
|
|
|
2006-01-13 06:17:03 -05:00
|
|
|
# Use jw for generating PDF, since xmlto seems to freak out.
|
2006-01-08 15:46:21 -05:00
|
|
|
PDF_DOCS-$(CONFIG_JW) += \
|
2006-01-08 15:57:55 -05:00
|
|
|
manual.pdf
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2007-08-08 08:23:21 -04:00
|
|
|
API_DOCS-$(CONFIG_DOXYGEN) += \
|
|
|
|
api/doxygen
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-13 06:17:03 -05:00
|
|
|
#############################################################################
|
|
|
|
## Set the default doc rules
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-13 06:17:03 -05:00
|
|
|
MAN_DOCS = $(MAN_DOCS-yes)
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
HTML_DOCS = $(HTML_DOCS-yes)
|
|
|
|
PDF_DOCS = $(PDF_DOCS-yes)
|
2007-08-08 08:23:21 -04:00
|
|
|
API_DOCS = $(API_DOCS-yes)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-12-01 14:38:06 -05:00
|
|
|
txt: $(TXT_DOCS_NOINSTALL)
|
2007-07-18 08:41:16 -04:00
|
|
|
html: txt $(HTML_DOCS)
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
pdf: txt $(PDF_DOCS)
|
2006-01-12 04:29:05 -05:00
|
|
|
man: txt $(MAN_DOCS)
|
2007-08-08 08:23:21 -04:00
|
|
|
api: $(API_DOCS)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
all-docs: man html pdf
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-13 06:48:37 -05:00
|
|
|
install-doc: all-docs update-man install
|
2006-01-14 13:40:29 -05:00
|
|
|
@$(foreach doc,$(HTML_DOCS), \
|
2006-01-13 06:42:14 -05:00
|
|
|
if test -d $(doc); then \
|
|
|
|
$(MKINSTALLDIRS) $(DESTDIR)$(docdir)/$(PACKAGE)/html/$(doc); \
|
|
|
|
$(call ncmd,installdata,$(doc)/*,$(HTML_DIR)/$(doc)); \
|
|
|
|
else \
|
|
|
|
$(MKINSTALLDIRS) $(DESTDIR)$(docdir)/$(PACKAGE)/html; \
|
|
|
|
$(call ncmd,installdata,$(doc),$(HTML_DIR)); \
|
|
|
|
fi;)
|
2006-01-14 13:40:29 -05:00
|
|
|
@$(foreach doc,$(PDF_DOCS), \
|
2006-01-13 06:42:14 -05:00
|
|
|
$(MKINSTALLDIRS) $(DESTDIR)$(docdir)/$(PACKAGE)/pdf; \
|
2006-11-26 04:55:47 -05:00
|
|
|
$(call ncmd,installdata,$(doc),$(PDF_DIR));)
|
2006-12-01 15:31:16 -05:00
|
|
|
@$(foreach doc,$(TXT_DOCS_ASIS), \
|
|
|
|
$(MKINSTALLDIRS) $(DESTDIR)$(docdir)/$(PACKAGE)/txt; \
|
2006-12-17 09:25:12 -05:00
|
|
|
$(call ncmd,installdata,$(srcdir)$(doc),$(TXT_DIR));)
|
2006-01-13 06:42:14 -05:00
|
|
|
|
2006-01-12 04:29:05 -05:00
|
|
|
update-man: man
|
2006-01-14 13:40:29 -05:00
|
|
|
@$(if $(MAN_DOCS), \
|
2007-01-06 15:17:54 -05:00
|
|
|
$(call ncmd,installdata,elinks.1,$(srcdir)man/man1/elinks.1.in); \
|
|
|
|
$(call ncmd,installdata,elinkskeys.5,$(srcdir)man/man5/); \
|
|
|
|
$(call ncmd,installdata,elinks.conf.5,$(srcdir)man/man5/))
|
2005-09-15 09:58:31 -04:00
|
|
|
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
clean-local:
|
2007-07-18 08:41:16 -04:00
|
|
|
@$(RM) -r api $(TXT_DOCS_NOINSTALL) $(MAN_DOCS) $(HTML_DOCS) $(PDF_DOCS) *.tmp *.xml
|
2006-01-13 06:17:03 -05:00
|
|
|
|
|
|
|
# TODO: perl.pod should be pod2ized during make install. --pasky
|
|
|
|
install-local:
|
|
|
|
|
|
|
|
#############################################################################
|
|
|
|
# Generated asciidoc files
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-13 06:17:03 -05:00
|
|
|
# Scripts and Dependencies
|
2006-01-13 06:58:47 -05:00
|
|
|
HELP2DOC = $(srcdir)tools/help2doc
|
|
|
|
CONF2DOC = $(srcdir)tools/conf2doc
|
2006-01-14 13:24:46 -05:00
|
|
|
KEYS2DOC = $(srcdir)tools/keys2doc
|
2006-01-13 06:58:47 -05:00
|
|
|
ELINKS = $(top_builddir)/src/elinks
|
|
|
|
FEATURES = $(top_srcdir)/features.conf
|
|
|
|
KBDBIND = $(top_srcdir)/src/config/kbdbind.c
|
2006-01-13 06:17:03 -05:00
|
|
|
|
|
|
|
# Locale env vars to override system one to ensure commands
|
|
|
|
# using elinks binary will generate texts in english
|
|
|
|
LOCALES = LC_ALL=C LANGUAGE=en
|
2005-09-15 09:58:31 -04:00
|
|
|
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
# FIXME: Keep generated .txt files relative to the source directory and files
|
|
|
|
# they are included in.
|
2006-01-12 04:29:05 -05:00
|
|
|
quiet_cmd_help2doc = ' [$(LINK_COLOR)HELP2DOC$(END_COLOR)] $(RELPATH)$@'
|
|
|
|
cmd_help2doc = $(LOCALES) $(HELP2DOC) $(ELINKS) $@ > $@
|
|
|
|
|
2006-01-13 06:17:03 -05:00
|
|
|
quiet_cmd_conf2doc = ' [$(LINK_COLOR)CONF2DOC$(END_COLOR)] $(RELPATH)$@'
|
2006-01-15 18:18:39 -05:00
|
|
|
cmd_conf2doc = $(LOCALES) $(CONF2DOC) $(FEATURES) > $@
|
2006-01-13 06:17:03 -05:00
|
|
|
|
|
|
|
quiet_cmd_keys2doc = ' [$(LINK_COLOR)KEYS2DOC$(END_COLOR)] $(RELPATH)$@'
|
2006-01-13 06:58:47 -05:00
|
|
|
cmd_keys2doc = $(LOCALES) $(KEYS2DOC) $(KBDBIND) $@ > $@
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-13 06:58:47 -05:00
|
|
|
features.txt: $(FEATURES) $(CONF2DOC)
|
2006-01-13 06:17:03 -05:00
|
|
|
$(call cmd,conf2doc)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-13 06:58:47 -05:00
|
|
|
keymap-%.txt: $(KBDBIND) $(KEYS2DOC)
|
2006-01-13 06:17:03 -05:00
|
|
|
$(call cmd,keys2doc)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-12 02:33:50 -05:00
|
|
|
option-%.txt: $(ELINKS) $(HELP2DOC)
|
2006-01-12 04:29:05 -05:00
|
|
|
$(call cmd,help2doc)
|
2006-01-13 06:17:03 -05:00
|
|
|
|
|
|
|
|
|
|
|
#############################################################################
|
|
|
|
# Build commands and macros
|
2005-09-15 09:58:31 -04:00
|
|
|
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
quiet_cmd_jw = ' [$(LINK_COLOR)JW$(END_COLOR)] $(RELPATH)$@'
|
|
|
|
cmd_jw = $(JW) -b $(2) $<
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-13 06:17:03 -05:00
|
|
|
quiet_cmd_xmlto = ' [$(LINK_COLOR)XMLTO$(END_COLOR)] $(RELPATH)$@'
|
2006-01-15 18:18:39 -05:00
|
|
|
cmd_xmlto = $(XMLTO) -o $(call outdir) $(3) $(2) $<
|
2006-01-13 06:17:03 -05:00
|
|
|
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
quiet_cmd_pod2html = ' [$(LINK_COLOR)POD2HTML$(END_COLOR)] $(RELPATH)$@'
|
|
|
|
cmd_pod2html = $(POD2HTML) --outfile=$@ < $<
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-13 06:17:03 -05:00
|
|
|
quiet_cmd_asciidoc = ' [$(LINK_COLOR)ASCIIDOC$(END_COLOR)] $(RELPATH)$@'
|
2006-01-15 18:18:39 -05:00
|
|
|
cmd_asciidoc = $(ASCIIDOC) $(ASCIIDOC_FLAGS) -b $(call backend) -d $(call doctype) -o $@ $<
|
2006-01-13 06:17:03 -05:00
|
|
|
|
2007-08-08 08:23:21 -04:00
|
|
|
quiet_cmd_doxygen = ' [$(LINK_COLOR)DOXYGEN$(END_COLOR)] $(RELPATH)$@'
|
|
|
|
cmd_doxygen = $(DOXYGEN) $(2)
|
|
|
|
|
2006-01-15 18:18:39 -05:00
|
|
|
# Based on $@ find out asciidoc doctype or backend + xmlto output dir.
|
|
|
|
doctype = $(if $(findstring .1.,$@)$(findstring .5.,$@),manpage,book)
|
|
|
|
backend = $(if $(findstring .xml,$@),docbook,xhtml11)
|
|
|
|
outdir = $(if $(findstring -chunked,$@),$@,.)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-13 06:17:03 -05:00
|
|
|
# Loosely track dependencies via asciidoc includes.
|
2006-01-15 18:18:39 -05:00
|
|
|
asciidoc_dep = sed -n 's/[{]builddir}//g;s@include::\(.*\)\[.*@$@: $< \1@p' < $< > .deps/$(@F).asciidoc
|
2006-01-13 06:17:03 -05:00
|
|
|
|
|
|
|
-include .deps/*.asciidoc
|
|
|
|
|
|
|
|
# Do a little post-processing of man pages. Inserting title headers and date.
|
2006-01-12 04:29:05 -05:00
|
|
|
MAN_DATE = $(shell date -I)
|
2006-01-15 18:18:39 -05:00
|
|
|
man_desc = `sed -n 's/:Description:\s*\(.*\)/\1/p' < $(srcdir)$(subst .xml,.txt,$(<F))`
|
2007-06-21 15:48:43 -04:00
|
|
|
man_hack = sed "s/^\(\.TH \"ELINKS[^\"]*\" [0-9] \).*/\1\"$(1)\" \"$(MAN_DATE)\" \"$(1)\"/" < $@ | \
|
|
|
|
sed "s/@squote@/\\\\'/g" > $@.tmp && mv $@.tmp $@
|
|
|
|
|
2006-01-13 06:17:03 -05:00
|
|
|
|
|
|
|
#############################################################################
|
|
|
|
# Build recipies
|
2006-01-12 05:59:11 -05:00
|
|
|
|
2006-01-15 18:18:39 -05:00
|
|
|
%.html: %.txt $(ASCIIDOC_CONF)
|
2006-01-11 05:12:03 -05:00
|
|
|
$(call cmd,asciidoc,xhtml11)
|
2006-01-14 13:40:29 -05:00
|
|
|
@-$(call asciidoc_dep)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-15 18:18:39 -05:00
|
|
|
%.xml: %.txt $(ASCIIDOC_CONF)
|
2006-01-11 05:12:03 -05:00
|
|
|
$(call cmd,asciidoc,docbook)
|
2006-01-14 13:40:29 -05:00
|
|
|
@-$(call asciidoc_dep)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
%.1: %.1.xml
|
2006-01-11 05:12:03 -05:00
|
|
|
$(call cmd,xmlto,man)
|
2006-01-14 13:40:29 -05:00
|
|
|
@$(call man_hack,$(call man_desc))
|
2005-09-15 09:58:31 -04:00
|
|
|
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
%.5: %.5.xml
|
2006-01-11 05:12:03 -05:00
|
|
|
$(call cmd,xmlto,man)
|
2006-01-14 13:40:29 -05:00
|
|
|
@$(call man_hack,$(call man_desc))
|
2005-09-15 09:58:31 -04:00
|
|
|
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
%.html-chunked: %.xml
|
2006-01-15 18:18:39 -05:00
|
|
|
$(call cmd,xmlto,html)
|
2005-09-15 22:38:48 -04:00
|
|
|
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
%.pdf: %.xml
|
2006-01-11 05:12:03 -05:00
|
|
|
$(call cmd,jw,pdf)
|
2006-01-08 17:44:59 -05:00
|
|
|
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
%.html: %.pod
|
2006-01-11 05:12:03 -05:00
|
|
|
$(call cmd,pod2html)
|
2006-01-09 06:45:50 -05:00
|
|
|
|
Redo the whole doc/ build thing
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.
2006-01-11 05:02:43 -05:00
|
|
|
perl-%.html: %.pl
|
2006-01-11 05:12:03 -05:00
|
|
|
$(call cmd,pod2html)
|
2006-01-08 17:44:59 -05:00
|
|
|
|
2007-08-08 08:23:21 -04:00
|
|
|
Doxyfile: $(srcdir)Doxyfile.in $(top_srcdir)/configure.in
|
|
|
|
cd $(top_builddir) && \
|
|
|
|
CONFIG_FILES="$(RELPATH)$@" CONFIG_HEADERS= $(SHELL) ./config.status
|
|
|
|
|
|
|
|
api/doxygen: Doxyfile $(shell find $(top_srcdir)/src/ -name '*.[ch]' -o -name options.inc -o -name 'actions-*.inc' | sort)
|
|
|
|
$(call cmd,doxygen,$<)
|
2006-01-13 06:17:03 -05:00
|
|
|
|
2005-10-19 19:11:47 -04:00
|
|
|
include $(top_srcdir)/Makefile.lib
|