1## Process this file with automake to produce Makefile.in
2SUBDIRS = . devhelp examples
3
4# The top-level SGML file.
5DOC_MAIN_XML_FILE=gnome-xml.xml
6
7# The directory containing the source code (if it contains documentation).
8DOC_SOURCE_DIR=..
9
10# A file in win32 depends upon one of the doc files
11WIN32_DIR=$(top_srcdir)/win32
12
13PAGES= 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
17APIPAGES=APIconstructors.html APIfiles.html APIfunctions.html \
18    APIsymbols.html APIchunk0.html
19
20if REBUILD_DOCS
21EXTRA_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
30endif
31
32# Expanded form of EXTRA_DIST_wc
33#
34EXTRA_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
239man_MANS = xmllint.1 xmlcatalog.1
240
241if REBUILD_DOCS
242docs: web $(top_builddir)/NEWS libxml2.xsa $(man_MANS)
243
244api: libxml2-api.xml libxml2-refs.xml $(APIPAGES) $(srcdir)/html/index.html $(WIN32_DIR)/libxml2.def.src ../elfgcchack.h $(srcdir)/site.xsl
245
246web: $(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
269libxml2.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
291wiki: 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
301source_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
306libxml2-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
314xmllint.1: xmllint.xml
315	-@($(XSLTPROC) --nonet xmllint.xml)
316
317xmlcatalog.1: xmlcatalog_man.xml
318	-@($(XSLTPROC) --nonet xmlcatalog_man.xml)
319
320check-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
325endif
326
327clean-local:
328	rm -f *~ *.bak *.hierarchy *.signals *-unused.txt
329
330maintainer-clean-local: clean-local
331	rm -rf libxml-decl-list.txt libxml-decl.txt 
332
333rebuild: api docs
334
335install-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
352