Added SILC Thread Queue API
[silc.git] / util / robodoc / Source / makefile.am
1 ## Process this file with automake to produce Makefile.in
2 #
3 #
4
5 bin_PROGRAMS = robodoc
6 robodoc_SOURCES = analyser.c analyser.h config.h folds.c folds.h \
7      generator.c generator.h headers.c headers.h items.c items.h \
8      links.c links.h robodoc.c robodoc.h util.c util.h
9
10
11 ###############################################################
12
13 ROBODOC=./robodoc
14 ROBOOPTS=C SORT -v
15 BROWSER=netscape
16
17 # Your source files.
18 #
19 SOURCES=analyser.c generator.c items.c util.c \
20   folds.c headers.c links.c robodoc.c \
21   analyser.h generator.h items.h util.h \
22   folds.h headers.h links.h robodoc.h
23
24 # The name of your Project
25 #
26 PROJECT=ROBODoc
27
28 # The various documentation files, derived from the source files.
29 # HTML
30 #
31 HTMLDOCS=$(SOURCES:=.html)
32 HTMLXREFS=$(HTMLDOCS:.html=.html.xref)
33 HTMLXREFSFILE=$(PROJECT)_html.xrefs
34 # LATEX
35 #
36 LATEXDOCS=$(SOURCES:=.tex)
37 LATEXXREFS=$(LATEXDOCS:.tex=.tex.xref)
38 LATEXXREFSFILE=$(PROJECT)_tex.xrefs
39 # ASCII
40 #
41 ASCIIDOCS=$(SOURCES:=.txt)
42 # RTF
43 #
44 RTFDOCS=$(SOURCES:=.rtf)
45 RTFXREFS=$(RTFDOCS:.rtf=.rtf.xref)
46 RTFXREFSFILE=$(PROJECT)_rtf.xrefs
47
48 # Some common targets
49 xrefall: xrefhtml xreftex xrefrtf
50 docall: html tex ascii rtf
51
52 # Create the xref files for the various formats.
53 xhtml: $(HTMLXREFSFILE) 
54 xtex: $(LATEXXREFSFILE) 
55 xrtf: $(RTFXREFSFILE)
56
57 # Create the documentation files for the various formats.
58 html: $(HTMLDOCS) $(PROJECT)_mi.html 
59 tex: $(LATEXDOCS) $(PROJECT)_mi.tex
60 rtf: $(RTFDOCS)
61 ascii: $(ASCIIDOCS)
62
63 # master index file, currently works only for html and latex documentation.
64 $(PROJECT)_mi.html: $(HTMLXREFSFILE) 
65         $(ROBODOC) $< $@ INDEX HTML TITLE "$(PROJECT) Master Index"
66
67 $(PROJECT)_mi.tex: $(LATEXXREFSFILE)
68         $(ROBODOC) $< $@ INDEX LATEX TITLE "$(PROJECT) API Reference"
69
70 # create xrefs file (file with the names of all .xref files).
71 $(HTMLXREFSFILE) : $(HTMLXREFS)
72         /bin/ls $(HTMLXREFS) > $@
73 $(LATEXXREFSFILE) : $(LATEXXREFS)
74         /bin/ls  $(LATEXXREFS) > $@
75 $(RTFXREFSFILE) : $(RTFXREFS)
76         /bin/ls  $(RTFXREFS) > $@
77
78 # Rule to create an .xref file from a source file for the various formats.
79 %.html.xref : %
80         $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
81 %.tex.xref : %
82         $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
83 %.rtf.xref : %
84         $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
85
86 # Rule to create html documentation from a source file.
87 %.html : %
88         $(ROBODOC) $< $@ HTML $(ROBOOPTS) XREF $(HTMLXREFSFILE)
89
90 # Rule to create latex documentation from a source file.
91 # We do not include source items, and generate laxtex documents
92 # than can be included in a master document.
93 %.tex : %
94         $(ROBODOC) $< $@ LATEX $(ROBOOPTS) NOSOURCE SINGLEDOC XREF $(LATEXXREFSFILE)
95
96 # Rule to create ascii documentation from a source file.
97 %.txt : %
98         $(ROBODOC) $< $@ ASCII 
99
100 # Rule to create rtf documentation from a source file.
101 %.rtf : %
102         $(ROBODOC) $< $@ RTF $(ROBOOPTS) XREF $(RTFXREFSFILE)
103
104 # Use netscape to view the master index file for our project.
105 example: html
106         $(BROWSER) $(PROJECT)_mi.html
107
108 # Use the latex programs to generate a .dvi from the master index file
109 # for our prokect. View this .dvi file with xdvi
110 texview:  tex
111         latex $(PROJECT)_mi
112         makeindex $(PROJECT)_mi
113         latex $(PROJECT)_mi
114         latex $(PROJECT)_mi
115         dvips $(PROJECT)_mi.dvi -o $(PROJECT)_mi.ps
116
117 # Clean-up the mess we made
118 #
119 myclean:
120         rm -f $(HTMLXREFS) 
121         rm -f $(HTMLDOCS) 
122         rm -f $(LATEXXREFS)
123         rm -f $(LATEXDOCS) 
124         rm -f $(PROJECT)_mi.* *.aux
125         rm -f $(RTFXREFS)
126         rm -f $(RTFDOCS)
127         rm -f $(ASCIIDOCS)
128         rm -f $(HTMLXREFSFILE) 
129         rm -f $(LATEXXREFSFILE) 
130         rm -f $(RTFXREFSFILE)
131         rm -f robodoc makefile.in makefile
132         rm -f *~ stamp-h stamp-h.in
133         rm -f *.o *.tex *.toc *.dvi *.aux *.log *.ps
134         rm -f masterindex.html
135         rm -f testheaders.html
136
137 tt:
138         cp robodoc $(HOME)/Test
139
140