Hi the attached patch is my attempt of editing the Makefile.fpc file in
the docs repositiory.
It makes it so you can build the rtl and fcl docs as chm files with:
make chm
Regards,
Andrew
Index: Makefile.fpc
===================================================================
--- Makefile.fpc (revision 342)
+++ Makefile.fpc (working copy)
@@ -160,6 +160,7 @@
OUT = $(addsuffix .out, $(DOCS))
# Html files are build in a directory
HTML = $(DOCS)
+CHM = $(addsuffix .chm, $(DOCS))
CHK = $(addsuffix .chk, $(DOCS))
@@ -215,6 +216,7 @@
@echo ' dvi : Make documentation using latex.'
@echo ' ps : Make documentation using latex and dvips.'
@echo ' html : Make HTML documentation using default converter.'
+ @echo ' chm : Make Compressed HTML documentation. (only the FCL and RTL)'
@echo ' hevea : Make HTML documentation using hevea'
@echo ' l2h : Make HTML documentation using latex2html'
@echo ' 4ht : Make HTML documentation using tex4ht'
@@ -232,7 +234,7 @@
clean:
-rm -f preamble.inc date.inc messages.inc rtl.inc
- -rm -f *.4tc *.4ct *.css *.lg *.tmp *.xref *.kwd *.xct
+ -rm -f *.4tc *.4ct *.css *.lg *.tmp *.xref *.kwd *.xct *.chm
-rm -rf $(DOCS)
-rm -f $(CHK) $(TOC) $(LOG) $(DVI) $(PDF) $(AUX) $(OUT) $(PS) $(HTML) *.i* $(LOT) $(TXT)
# Styles
@@ -309,10 +311,6 @@
else
GRAPHDIR=$(FPCSRCDIR)/rtl
endif
-ifndef RTLLINKPREFIX
-RTLLINKPREFIX=../rtl/
-endif
-FCLOPTS=$(FPDOCOPTS) --package=fcl --hide-protected --warn-no-node --descr=fcl.xml --content=fcl.xct --import=rtl.xct,$(RTLLINKPREFIX)
#
# Standard Makeskel update options.
#
@@ -366,11 +364,11 @@
FCLZSTREAM= --descr=zstream.xml --input="$(FCLZLIBDIR)/zstream.pp"
# Now add to the FCL fpdoc opts.
-FCLOPTS+= $(FCLIOSTREAM) $(FCLPIPES) $(FCLSTREAMIO) $(FCLPROCESS) $(FCLDBUGINTF)
-FCLOPTS+= $(FCLCONTNRS) $(FCLZSTREAM) $(FCLIDEA) $(FCLBUFSTREAM) $(FCLBASE64)
-FCLOPTS+= $(FCLGETTEXT) $(FCLEZCGI) $(FCLPOOLEDMM) $(FCLDBUGMSG) $(FCLSTREAMEX)
-FCLOPTS+= $(FCLINICOL) $(FCLSTREAMCOL) $(FCLCACHECLS) $(FCLEVENTLOG) $(FCLSYNCOBJS)
-FCLOPTS+= $(FCLCUSTAPP) $(FCLBLOWFISH) $(FCLSIMPLEIPC) $(FCLINIFILES) $(FCLRTTIUTILS)
+FCLUNITOPTS+= $(FCLIOSTREAM) $(FCLPIPES) $(FCLSTREAMIO) $(FCLPROCESS) $(FCLDBUGINTF)
+FCLUNITOPTS+= $(FCLCONTNRS) $(FCLZSTREAM) $(FCLIDEA) $(FCLBUFSTREAM) $(FCLBASE64)
+FCLUNITOPTS+= $(FCLGETTEXT) $(FCLEZCGI) $(FCLPOOLEDMM) $(FCLDBUGMSG) $(FCLSTREAMEX)
+FCLUNITOPTS+= $(FCLINICOL) $(FCLSTREAMCOL) $(FCLCACHECLS) $(FCLEVENTLOG) $(FCLSYNCOBJS)
+FCLUNITOPTS+= $(FCLCUSTAPP) $(FCLBLOWFISH) $(FCLSIMPLEIPC) $(FCLINIFILES) $(FCLRTTIUTILS)
RTLOPTS=$(FPDOCOPTS) --hide-protected --warn-no-node --package=rtl --descr=rtl.xml --content=rtl.xct
ifdef CURRENTXMLONLY
@@ -597,12 +595,27 @@
endif # USEL2H
endif # USEHEVEA
+ifndef HTMLFMT
+ HTMLFMT=html
+endif
+
+ifndef RTLLINKPREFIX
+ ifeq (HTMLFMT,html)
+ RTLLINKPREFIX=../rtl/
+ else
+ RTLLINKPREFIX=ms-its:rtl.chm::/
+ endif
+endif
+
+FCLOPTS=$(FPDOCOPTS) --package=fcl --hide-protected --warn-no-node --descr=fcl.xml --content=fcl.xct --import=rtl.xct,$(RTLLINKPREFIX) $(FCLUNITOPTS)
+
+
fcl.chk: $(FCLXML)
- $(FPDOC) $(FCLOPTS) --format=html --output=fcl
+ $(FPDOC) $(FCLOPTS) --format=$(HTMLFMT) --output=fcl$(HTMLSUFFIX) $(FPDOCHTMLOPTS)
touch fcl.chk
rtl.chk: $(RTLXML)
- $(FPDOC) $(RTLOPTS) --format=html --output=rtl
+ $(FPDOC) $(RTLOPTS) --format=$(HTMLFMT) --output=rtl$(HTMLSUFFIX) $(FPDOCHTMLOPTS)
touch rtl.chk
user.chk: $(INCLUDES) user.tex messages.inc
@@ -614,6 +627,15 @@
html: $(INCLUDES) $(CHK)
+chm: html
+HTMLFMT=chm
+HTMLSUFFIX=.chm
+FPDOCHTMLOPTS=--auto-toc --auto-index
+ifdef CSSFILE
+ FPDOCHTMLOPTS+=--css-file=$(CSSFILE)
+endif
+
+
endif # INSTALLDEBUG
#######################################################################
# Targets to force using a specific tool.
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel