summaryrefslogtreecommitdiff
path: root/doc/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'doc/Makefile')
-rw-r--r--doc/Makefile167
1 files changed, 167 insertions, 0 deletions
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 000000000..f8209b3a8
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,167 @@
+# Makefile to generate various formats from HTML source
+#
+# Assumes the htmldoc utility is available.
+# This can be downloaded from www.easysw.com
+#
+# Also needs lynx(1) for HTML-to-text conversion
+
+.SUFFIXES: .png .fig
+
+FREESWANSRCDIR=..
+include ${FREESWANSRCDIR}/Makefile.inc
+
+# Format arguments for htmldoc
+F="--toclevels 4 --header 1cd"
+
+# source files in subdirectory
+# basic stuff
+a=src/intro.html src/upgrading.html src/quickstart.html \
+ src/policygroups.html src/faq.html
+
+# related
+b=src/manpages.html src/firewall.html src/trouble.html
+
+# more advanced
+c=src/compat.html src/interop.html src/performance.html \
+ src/testing.html src/kernel.html src/adv_config.html \
+ src/install.html src/config.html \
+ src/background.html src/user_examples.html \
+ src/makecheck.html src/umltesting.html \
+
+# background and reference material
+d=src/politics.html src/ipsec.html \
+ src/mail.html src/web.html src/glossary.html src/biblio.html \
+ src/rfc.html src/roadmap.html
+
+# build and release related
+e=src/umltesting.html src/makecheck.html src/nightly.html
+
+sections=$a $b $c $d $e
+
+# separate HTML files built in current directory
+separate=intro.html install.html config.html manpages.html \
+ firewall.html trouble.html kernel.html roadmap.html \
+ compat.html interop.html politics.html ipsec.html \
+ mail.html performance.html testing.html web.html \
+ glossary.html biblio.html rfc.html faq.html \
+ adv_config.html user_examples.html background.html \
+ quickstart.html umltesting.html makecheck.html nightly.html \
+ upgrading.html policygroups.html
+
+# various one-big-file formats
+howto=HowTo.html HowTo.ps HowTo.pdf HowTo.txt
+
+alldocs=${seperate} ${howto} index.html toc.html
+
+srcdir=..
+# where are scripts
+SCRIPTDIR=utils
+
+# where
+TESTINGDIR=${srcdir}/testing
+
+# where do we put HTML manpages?
+HMANDIR=manpage.d
+
+# default, build HTML only
+# dependencies build most of it
+# then we add index
+index.html: toc.html HowTo.html manpages src/index.html
+ cp src/index.html index.html
+
+# separate files plus table of contents
+# and then remove HTML formatting added by htmldoc
+toc.html : $(sections)
+ @htmldoc -t html --path ".;${TESTINGDIR}/doc" -d . $(sections)
+ @$(SCRIPTDIR)/cleanhtml.sh $(SCRIPTDIR)/cleanhtml.sed $(separate)
+
+# one big HTML file
+HowTo.html : $(sections)
+ @htmldoc -t html --toclevels 4 --header ' cf' -f $@ $(sections)
+
+# other HowTo formats
+HowTo.txt: HowTo.html
+ lynx -dump $< > $@
+
+HowTo.ps : $(sections)
+ htmldoc -f $@ $(sections)
+
+HowTo.pdf : $(sections)
+ @htmldoc -f $@ $(sections)
+
+manpages: manp
+
+manp: $(SCRIPTDIR)/mkhtmlman
+ @$(SCRIPTDIR)/mkhtmlman $(HMANDIR) `find ../programs ../lib ../linux -type f -name '*.[1-8]' -print | grep -v lwres | grep -v CVS`
+
+programs:
+
+all: #$(howto) $(manpages) index.html
+
+clean:
+ @rm -f $(howto) $(separate) toc.html index.html
+ @rm -rf $(HMANDIR)
+
+install:
+#install: ${alldocs} manpages
+# @mkdir -p ${DOCDIR}
+# @$(foreach f, $(alldocs), \
+# $(INSTALL) $f ${DOCDIR} || exit 1;\
+# )
+# @find ${HMANDIR} -type f -name "*.html" -print | while read file; \
+# do \
+# $(INSTALL) $$file ${DOCDIR} || exit 1;\
+# done;
+
+install_file_list:
+ @$(foreach f, $(alldocs), \
+ echo ${DOCDIR}/$f; \
+ )
+ @if [ -d ${HMANDIR} ]; then find ${HMANDIR} -type f -name "*.html" -print | while read file; \
+ do \
+ echo ${DOCDIR}/$$file; \
+ done; fi;
+
+checkprograms: ;
+
+check: ;
+
+# not enabled by default, because xml2rfc must be installed first.
+drafts: draft-richardson-ipsec-opportunistic.txt src/draft-richardson-ipsec-opportunistic.html \
+ draft-richardson-ipsec-rr.txt src/draft-richardson-ipsec-rr.html
+
+draft-richardson-ipsec-opportunistic.txt: src/draft-richardson-ipsec-opportunistic.xml
+ XML_LIBRARY=$(XML_LIBRARY):./src xml2rfc xml2rfc $? $@
+
+draft-richardson-ipsec-rr.txt: src/draft-richardson-ipsec-rr.xml
+ XML_LIBRARY=$(XML_LIBRARY):./src xml2rfc xml2rfc $? $@
+
+draft-%.nr: src/draft-%.xml
+ XML_LIBRARY=$(XML_LIBRARY):./src xml2rfc xml2nroff $? $@
+
+draft-%.html: draft-%.xml
+ XML_LIBRARY=$(XML_LIBRARY):./src xml2rfc xml2html $? $@
+
+
+.fig.eps:
+ fig2dev -L ps $< $@
+
+.fig.png:
+ fig2dev -L png $< $@
+
+single_netjig.png: testing/single_netjig.fig
+multi_netjig.png: testing/multi_netjig.fig
+
+makecheck.html: single_netjig.png multi_netjig.png
+
+#
+# DocBook based documentation
+#
+xmldocs: mast.html klips/mast.4
+
+mast.html: klips/mast.xml
+ xmlto html klips/mast.xml
+
+klips/mast.4: klips/mast.xml
+ xmlto -o klips man klips/mast.xml
+