Initial revision
[silc.git] / util / robodoc / Docs / example_makefile
diff --git a/util/robodoc/Docs/example_makefile b/util/robodoc/Docs/example_makefile
new file mode 100644 (file)
index 0000000..30059ff
--- /dev/null
@@ -0,0 +1,121 @@
+SHELL = /bin/sh
+.SUFFIXES:
+
+ROBODOC=robodoc
+ROBOOPTS=C SORT 
+
+# Your source files.
+#
+SOURCES=analyser.c generator.c items.c util.c \
+  folds.c headers.c links.c robodoc.c \
+  analyser.h generator.h items.h util.h \
+  folds.h headers.h links.h robodoc.h
+
+# The name of your Project
+#
+PROJECT=ROBODoc
+
+# The various documentation files, derived from the source files.
+# HTML
+#
+HTMLDOCS=$(SOURCES:=.html)
+HTMLXREFS=$(HTMLDOCS:.html=.html.xref)
+HTMLXREFSFILE=$(PROJECT)_html.xrefs
+# LATEX
+#
+LATEXDOCS=$(SOURCES:=.tex)
+LATEXXREFS=$(LATEXDOCS:.tex=.tex.xref)
+LATEXXREFSFILE=$(PROJECT)_tex.xrefs
+# ASCII
+#
+ASCIIDOCS=$(SOURCES:=.txt)
+# RTF
+#
+RTFDOCS=$(SOURCES:=.rtf)
+RTFXREFS=$(RTFDOCS:.rtf=.rtf.xref)
+RTFXREFSFILE=$(PROJECT)_rtf.xrefs
+
+# Some common targets
+xrefall: xrefhtml xreftex xrefrtf
+docall: html tex ascii rtf
+
+# Create the xref files for the various formats.
+xhtml: $(HTMLXREFSFILE) 
+xtex: $(LATEXXREFSFILE) 
+xrtf: $(RTFXREFSFILE)
+
+# Create the documentation files for the various formats.
+html: $(HTMLDOCS) $(PROJECT)_mi.html 
+tex: $(LATEXDOCS) $(PROJECT)_mi.tex
+rtf: $(RTFDOCS)
+ascii: $(ASCIIDOCS)
+
+# master index file, currently works only for html and latex documentation.
+$(PROJECT)_mi.html: $(HTMLXREFSFILE) 
+       $(ROBODOC) $< $@ INDEX HTML TITLE "$(PROJECT) Master Index"
+
+$(PROJECT)_mi.tex: $(LATEXXREFSFILE)
+       $(ROBODOC) $< $@ INDEX LATEX TITLE "$(PROJECT) API Reference"
+
+# create xrefs file (file with the names of all .xref files).
+$(HTMLXREFSFILE) : $(HTMLXREFS)
+       /bin/ls $(HTMLXREFS) > $@
+$(LATEXXREFSFILE) : $(LATEXXREFS)
+       /bin/ls  $(LATEXXREFS) > $@
+$(RTFXREFSFILE) : $(RTFXREFS)
+       /bin/ls  $(RTFXREFS) > $@
+
+# Rule to create an .xref file from a source file for the various formats.
+%.html.xref : %
+       $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
+%.tex.xref : %
+       $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
+%.rtf.xref : %
+       $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
+
+# Rule to create html documentation from a source file.
+%.html : %
+       $(ROBODOC) $< $@ HTML $(ROBOOPTS) XREF $(HTMLXREFSFILE)
+
+# Rule to create latex documentation from a source file.
+# We do not include source items, and generate laxtex documents
+# than can be included in a master document.
+%.tex : %
+       $(ROBODOC) $< $@ LATEX $(ROBOOPTS) NOSOURCE SINGLEDOC XREF $(LATEXXREFSFILE)
+
+# Rule to create ascii documentation from a source file.
+%.txt : %
+       $(ROBODOC) $< $@ ASCII 
+
+# Rule to create rtf documentation from a source file.
+%.rtf : %
+       $(ROBODOC) $< $@ RTF $(ROBOOPTS) XREF $(RTFXREFSFILE)
+
+# Use netscape to view the master index file for our project.
+htmlview: html
+       netscape $(PROJECT)_mi.html
+
+# Use the latex programs to generate a .dvi from the master index file
+# for our prokect. View this .dvi file with xdvi
+texview:  tex
+       latex $(PROJECT)_mi
+       makeindex $(PROJECT)_mi
+       latex $(PROJECT)_mi
+       latex $(PROJECT)_mi
+       xdvi  $(PROJECT)_mi.dvi
+
+# Clean-up the mess we made
+#
+clean:
+       rm -f $(HTMLXREFS) 
+       rm -f $(HTMLDOCS) 
+       rm -f $(LATEXXREFS)
+       rm -f $(LATEXDOCS) 
+       rm -f $(PROJECT)_mi.* *.aux
+       rm -f $(RTFXREFS)
+       rm -f $(RTFDOCS)
+       rm -f $(ASCIIDOCS)
+       rm -f $(HTMLXREFSFILE) 
+       rm -f $(LATEXXREFSFILE) 
+       rm -f $(RTFXREFSFILE)
+