Imported Upstream version 2.9.1
[platform/upstream/libxml2.git] / doc / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2 SUBDIRS = . devhelp examples
3
4 # The top-level SGML file.
5 DOC_MAIN_XML_FILE=gnome-xml.xml
6
7 # The directory containing the source code (if it contains documentation).
8 DOC_SOURCE_DIR=..
9
10 # A file in win32 depends upon one of the doc files
11 WIN32_DIR=$(top_srcdir)/win32
12
13 PAGES= architecture.html bugs.html contribs.html docs.html DOM.html \
14     downloads.html entities.html example.html help.html index.html \
15     interface.html intro.html library.html namespaces.html news.html \
16     tree.html xmldtd.html XMLinfo.html XSLT.html
17 APIPAGES=APIconstructors.html APIfiles.html APIfunctions.html \
18     APIsymbols.html APIchunk0.html
19
20 if REBUILD_DOCS
21 EXTRA_DIST_wc = xmlcatalog_man.xml $(wildcard tutorial/*.html) \
22     $(wildcard tutorial/*.c) $(wildcard tutorial/*.pdf) \
23     $(wildcard tutorial/images/*.png) \
24     $(wildcard tutorial/images/callouts/*.png) $(wildcard API*.html) \
25     $(wildcard *.1) $(wildcard *.xsl) $(wildcard *.html) \
26     $(wildcard *.gif) w3c.png $(wildcard html/*.html) \
27     $(wildcard html/*.png) libxml2-api.xml index.py search.php \
28     apibuild.py libxml2.xsa xmllint.xml xmlcatalog_man.xml \
29     README.docs symbols.xml
30 endif
31
32 # Expanded form of EXTRA_DIST_wc
33 #
34 EXTRA_DIST = \
35         APIchunk0.html \
36         APIchunk1.html \
37         APIchunk2.html \
38         APIchunk3.html \
39         APIchunk4.html \
40         APIchunk5.html \
41         APIchunk6.html \
42         APIchunk7.html \
43         APIchunk8.html \
44         APIchunk9.html \
45         APIchunk10.html \
46         APIchunk11.html \
47         APIchunk12.html \
48         APIchunk13.html \
49         APIchunk14.html \
50         APIchunk15.html \
51         APIchunk16.html \
52         APIchunk17.html \
53         APIchunk18.html \
54         APIchunk19.html \
55         APIchunk20.html \
56         APIchunk21.html \
57         APIchunk22.html \
58         APIchunk23.html \
59         APIchunk24.html \
60         APIchunk25.html \
61         APIchunk26.html \
62         APIchunk27.html \
63         APIchunk28.html \
64         APIchunk29.html \
65         APIconstructors.html \
66         APIfiles.html \
67         APIfunctions.html \
68         APIsymbols.html \
69         ChangeLog.xsl \
70         DOM.gif \
71         DOM.html \
72         FAQ.html \
73         Libxml2-Logo-180x168.gif \
74         Libxml2-Logo-90x34.gif \
75         README.docs \
76         XMLinfo.html \
77         XSLT.html \
78         api.xsl \
79         apibuild.py \
80         architecture.html \
81         bugs.html \
82         catalog.gif \
83         catalog.html \
84         checkapisym.xsl \
85         contribs.html \
86         docs.html \
87         downloads.html \
88         elfgcchack.xsl \
89         encoding.html \
90         entities.html \
91         example.html \
92         guidelines.html \
93         help.html \
94         html/book1.html \
95         html/home.png \
96         html/index.html \
97         html/left.png \
98         html/libxml-DOCBparser.html \
99         html/libxml-HTMLparser.html \
100         html/libxml-HTMLtree.html \
101         html/libxml-SAX.html \
102         html/libxml-SAX2.html \
103         html/libxml-c14n.html \
104         html/libxml-catalog.html \
105         html/libxml-chvalid.html \
106         html/libxml-debugXML.html \
107         html/libxml-dict.html \
108         html/libxml-encoding.html \
109         html/libxml-entities.html \
110         html/libxml-globals.html \
111         html/libxml-hash.html \
112         html/libxml-lib.html \
113         html/libxml-list.html \
114         html/libxml-nanoftp.html \
115         html/libxml-nanohttp.html \
116         html/libxml-parser.html \
117         html/libxml-parserInternals.html \
118         html/libxml-pattern.html \
119         html/libxml-relaxng.html \
120         html/libxml-schemasInternals.html \
121         html/libxml-schematron.html \
122         html/libxml-threads.html \
123         html/libxml-tree.html \
124         html/libxml-uri.html \
125         html/libxml-valid.html \
126         html/libxml-xinclude.html \
127         html/libxml-xlink.html \
128         html/libxml-xmlIO.html \
129         html/libxml-xmlautomata.html \
130         html/libxml-xmlerror.html \
131         html/libxml-xmlexports.html \
132         html/libxml-xmlmemory.html \
133         html/libxml-xmlmodule.html \
134         html/libxml-xmlreader.html \
135         html/libxml-xmlregexp.html \
136         html/libxml-xmlsave.html \
137         html/libxml-xmlschemas.html \
138         html/libxml-xmlschemastypes.html \
139         html/libxml-xmlstring.html \
140         html/libxml-xmlunicode.html \
141         html/libxml-xmlversion.html \
142         html/libxml-xmlwriter.html \
143         html/libxml-xpath.html \
144         html/libxml-xpathInternals.html \
145         html/libxml-xpointer.html \
146         html/libxml-xzlib.html \
147         html/right.png \
148         html/up.png \
149         index.html \
150         index.py \
151         interface.html \
152         intro.html \
153         library.html \
154         libxml.gif \
155         libxml2-api.xml \
156         libxml2.xsa \
157         namespaces.html \
158         newapi.xsl \
159         news.html \
160         news.xsl \
161         python.html \
162         redhat.gif \
163         search.php \
164         searches.html \
165         searches.xsl \
166         site.xsl \
167         smallfootonly.gif \
168         structure.gif \
169         symbols.xml \
170         syms.xsl \
171         threads.html \
172         tree.html \
173         tutorial/apa.html \
174         tutorial/apb.html \
175         tutorial/apc.html \
176         tutorial/apd.html \
177         tutorial/ape.html \
178         tutorial/apf.html \
179         tutorial/apg.html \
180         tutorial/aph.html \
181         tutorial/api.html \
182         tutorial/ar01s02.html \
183         tutorial/ar01s03.html \
184         tutorial/ar01s04.html \
185         tutorial/ar01s05.html \
186         tutorial/ar01s06.html \
187         tutorial/ar01s07.html \
188         tutorial/ar01s08.html \
189         tutorial/ar01s09.html \
190         tutorial/images/blank.png \
191         tutorial/images/callouts/1.png \
192         tutorial/images/callouts/10.png \
193         tutorial/images/callouts/2.png \
194         tutorial/images/callouts/3.png \
195         tutorial/images/callouts/4.png \
196         tutorial/images/callouts/5.png \
197         tutorial/images/callouts/6.png \
198         tutorial/images/callouts/7.png \
199         tutorial/images/callouts/8.png \
200         tutorial/images/callouts/9.png \
201         tutorial/images/caution.png \
202         tutorial/images/draft.png \
203         tutorial/images/home.png \
204         tutorial/images/important.png \
205         tutorial/images/next.png \
206         tutorial/images/note.png \
207         tutorial/images/prev.png \
208         tutorial/images/tip.png \
209         tutorial/images/toc-blank.png \
210         tutorial/images/toc-minus.png \
211         tutorial/images/toc-plus.png \
212         tutorial/images/up.png \
213         tutorial/images/warning.png \
214         tutorial/includeaddattribute.c \
215         tutorial/includeaddkeyword.c \
216         tutorial/includeconvert.c \
217         tutorial/includegetattribute.c \
218         tutorial/includekeyword.c \
219         tutorial/includexpath.c \
220         tutorial/index.html \
221         tutorial/ix01.html \
222         tutorial/xmltutorial.pdf \
223         upgrade.html \
224         w3c.png \
225         wiki.xsl \
226         xml.html \
227         xmlcatalog.1 \
228         xmlcatalog_man.html \
229         xmlcatalog_man.xml \
230         xmldtd.html \
231         xmlio.html \
232         xmllint.1 \
233         xmllint.html \
234         xmllint.xml \
235         xmlmem.html \
236         xmlreader.html \
237         xsa.xsl
238
239 man_MANS = xmllint.1 xmlcatalog.1
240
241 if REBUILD_DOCS
242 docs: web $(top_builddir)/NEWS libxml2.xsa $(man_MANS)
243
244 api: libxml2-api.xml libxml2-refs.xml $(APIPAGES) $(srcdir)/html/index.html $(WIN32_DIR)/libxml2.def.src ../elfgcchack.h $(srcdir)/site.xsl
245
246 web: $(PAGES)
247
248 ../elfgcchack.h: $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml
249         -@(if [ -x $(XSLTPROC) ] ; then \
250           echo "Rebuilding the elfgcchack.h header" ; \
251           $(XSLTPROC) --nonet $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml > elfgcchack.h ; \
252           if [ "`diff -q elfgcchack.h ../elfgcchack.h`" ] ; then \
253             echo "updating ../elfgcchack.h"; \
254             cp elfgcchack.h ../elfgcchack.h; \
255           fi ; rm -f elfgcchack.h ;  fi );
256
257 $(PAGES): xml.html $(srcdir)/site.xsl
258         -@(if [ -x $(XSLTPROC) ] ; then \
259           echo "Rebuilding the HTML Web pages from xml.html" ; \
260           $(XSLTPROC) --nonet --html --path $(srcdir) $(srcdir)/site.xsl $(srcdir)/xml.html > index.html ; fi );
261         -@(if [ -x $(XMLLINT) ] ; then \
262           echo "Validating the HTML Web pages" ; \
263           $(XMLLINT) --nonet --valid --noout $(PAGES) ; fi );
264
265 $(top_builddir)/NEWS: $(srcdir)/news.xsl $(srcdir)/news.html
266         -@(if [ -x $(XSLTPROC) ] ; then \
267           $(XSLTPROC) --nonet $(srcdir)/news.xsl $(srcdir)/news.html > $(top_builddir)/NEWS ; fi );
268
269 libxml2.xsa: $(srcdir)/xsa.xsl $(srcdir)/news.html
270         -@(if [ -x $(XSLTPROC) ] ; then \
271           echo "Rebuilding the NEWS file" ; \
272           $(XSLTPROC) --nonet $(srcdir)/xsa.xsl $(srcdir)/news.html > libxml2.xsa ; fi );
273
274 $(APIPAGES): libxml2-api.xml libxml2-refs.xml $(srcdir)/site.xsl $(srcdir)/api.xsl
275         -@(if [ -x $(XSLTPROC) ] ; then \
276           echo "Rebuilding the HTML API pages from libxml2-refs.xml" ; \
277           $(XSLTPROC) --nonet --html $(srcdir)/api.xsl \
278                              $(srcdir)/xml.html ; fi );
279         -@(if [ -x $(XMLLINT) ] ; then \
280           echo "Validating the HTML API pages" ; \
281           $(XMLLINT) --nonet --valid --noout API*.html ; fi );
282
283 $(srcdir)/html/index.html: libxml2-api.xml $(srcdir)/newapi.xsl
284         -@(if [ -x $(XSLTPROC) ] ; then \
285           echo "Rebuilding the HTML pages from the XML API" ; \
286           $(XSLTPROC) --nonet $(srcdir)/newapi.xsl $(srcdir)/libxml2-api.xml ; fi )
287         -@(if [ -x $(XMLLINT) ] ; then \
288           echo "Validating the resulting XHTML pages" ; \
289           $(XMLLINT) --nonet --valid --noout html/*.html ; fi );
290
291 wiki: libxml2-api.xml $(srcdir)/wiki.xsl
292         -@(if [ -x $(XSLTPROC) ] ; then \
293                 echo "Rebuilding the wiki HTML pages from the XML API" ; \
294                 $(XSLTPROC) --nonet $(srcdir)/wiki.xsl $(srcdir)/libxml2-api.xml; fi )
295
296 $(WIN32_DIR)/libxml2.def.src: libxml2-api.xml
297         -@(if [ -x $(XSLTPROC) ] ; then \
298           $(XSLTPROC) -o $(WIN32_DIR)/libxml2.def.src \
299           --nonet $(WIN32_DIR)/defgen.xsl libxml2-api.xml ; fi )
300
301 source_file_deps = \
302         $(filter-out %/xmlversion.h, $(wildcard $(top_srcdir)/include/libxml/*.h)) \
303         $(top_srcdir)/include/libxml/xmlversion.h.in \
304         $(wildcard $(top_srcdir)/*.c)
305
306 libxml2-api.xml libxml2-refs.xml ../libxml2.syms: apibuild.py symbols.xml syms.xsl checkapisym.xsl $(source_file_deps)
307         test -f $(top_srcdir)/include/libxml/xmlversion.h
308         (cd $(srcdir) && ./apibuild.py)
309         ($(XSLTPROC) $(srcdir)/checkapisym.xsl $(srcdir)/libxml2-api.xml)
310         ($(XSLTPROC) -o ../libxml2.syms $(srcdir)/syms.xsl $(srcdir)/symbols.xml)
311         -@(cd .. ; $(MAKE) rebuild_testapi)
312
313
314 xmllint.1: xmllint.xml
315         -@($(XSLTPROC) --nonet xmllint.xml)
316
317 xmlcatalog.1: xmlcatalog_man.xml
318         -@($(XSLTPROC) --nonet xmlcatalog_man.xml)
319
320 check-extra-dist:
321         for f in $(EXTRA_DIST_wc) ; do echo $$f; done | sort -u >tmp.EXTRA_DIST_wc
322         for f in $(EXTRA_DIST) ;    do echo $$f; done | sort    >tmp.EXTRA_DIST
323         diff -u tmp.EXTRA_DIST_wc tmp.EXTRA_DIST
324         rm -f tmp.EXTRA_DIST_wc tmp.EXTRA_DIST
325 endif
326
327 clean-local:
328         rm -f *~ *.bak *.hierarchy *.signals *-unused.txt
329
330 maintainer-clean-local: clean-local
331         rm -rf libxml-decl-list.txt libxml-decl.txt 
332
333 rebuild: api docs
334
335 install-data-local: 
336         $(MKDIR_P) $(DESTDIR)$(HTML_DIR)
337         -$(INSTALL) -m 0644 $(srcdir)/xml.html $(srcdir)/encoding.html $(srcdir)/FAQ.html $(srcdir)/structure.gif $(srcdir)/DOM.gif $(srcdir)/smallfootonly.gif $(srcdir)/redhat.gif $(srcdir)/libxml.gif $(srcdir)/w3c.png $(srcdir)/Libxml2-Logo-180x168.gif $(srcdir)/Libxml2-Logo-90x34.gif $(DESTDIR)$(HTML_DIR)
338         $(MKDIR_P) $(DESTDIR)$(HTML_DIR)/html
339         -$(INSTALL) -m 0644 $(srcdir)/html/*.html $(DESTDIR)$(HTML_DIR)/html
340         -$(INSTALL) -m 0644 $(srcdir)/html/*.png $(DESTDIR)$(HTML_DIR)/html
341         $(MKDIR_P) $(DESTDIR)$(HTML_DIR)/tutorial
342         -$(INSTALL) -m 0644 $(srcdir)/tutorial/*.* \
343                 $(DESTDIR)$(HTML_DIR)/tutorial
344         $(MKDIR_P) $(DESTDIR)$(HTML_DIR)/tutorial/images
345         -$(INSTALL) -m 0644 $(srcdir)/tutorial/images/*.* \
346                 $(DESTDIR)$(HTML_DIR)/tutorial/images
347         $(MKDIR_P) $(DESTDIR)$(HTML_DIR)/tutorial/images/callouts
348         -$(INSTALL) -m 0644 $(srcdir)/tutorial/images/callouts/*.* \
349                 $(DESTDIR)$(HTML_DIR)/tutorial/images/callouts
350
351 .PHONY: docs api web wiki rebuild