1## Process this file with automake to produce Makefile.in
2
3# The top-level SGML file.
4DOC_MAIN_XML_FILE=libxslt.xml
5
6# The directory containing the source code (if it contains documentation).
7DOC_SOURCE_DIR=..
8
9# A file in win32 depends upon two of the doc files
10WIN32_DIR=$(top_srcdir)/win32
11
12PAGES=   API.html bugs.html contribs.html FAQ.html docs.html \
13         downloads.html help.html index.html intro.html news.html \
14	 xsltproc2.html
15
16EPAGES=	 EXSLT/bugs.html EXSLT/docs.html EXSLT/downloads.html \
17	 EXSLT/help.html EXSLT/index.html EXSLT/intro.html
18
19APIPAGES=APIconstructors.html APIfiles.html APIfunctions.html \
20	 APIsymbols.html APIchunk0.html search.templ
21
22EAPIPAGES=EXSLT/APIconstructors.html EXSLT/APIfiles.html \
23	 EXSLT/APIfunctions.html EXSLT/APIsymbols.html EXSLT/APIchunk0.html
24
25EXTRA_DIST =				\
26	$(PAGES)			\
27	$(EPAGES)			\
28	$(EAPIPAGES)			\
29	APIchunk0.html			\
30	APIchunk1.html			\
31	APIchunk2.html			\
32	APIchunk3.html			\
33	APIchunk4.html			\
34	APIchunk5.html			\
35	APIchunk6.html			\
36	APIchunk7.html			\
37	APIchunk8.html			\
38	APIchunk9.html			\
39	APIchunk10.html			\
40	APIchunk11.html			\
41	APIchunk12.html			\
42	APIchunk13.html			\
43	APIconstructors.html		\
44	APIfiles.html			\
45	APIfunctions.html		\
46	APIsymbols.html			\
47	EXSLT/exslt.html		\
48	EXSLT/html/book1.html		\
49	EXSLT/html/home.png		\
50	EXSLT/html/index.html		\
51	EXSLT/html/left.png		\
52	EXSLT/html/libexslt-exslt.html	\
53	EXSLT/html/libexslt-exsltexports.html \
54	EXSLT/html/libexslt-lib.html	\
55	EXSLT/html/right.png		\
56	EXSLT/html/up.png		\
57	EXSLT/libexslt-api.xml		\
58	EXSLT/libexslt-refs.xml		\
59	Libxslt-Logo-180x168.gif	\
60	Libxslt-Logo-90x34.gif		\
61	api.xsl				\
62	apibuild.py			\
63	checkapisym.xsl			\
64	contexts.gif			\
65	docbook.html			\
66	duck.png			\
67	epatents.png			\
68	extensions.html			\
69	gnome2.png			\
70	html/book1.html			\
71	html/home.png			\
72	html/index.html			\
73	html/left.png			\
74	html/libxslt-attributes.html	\
75	html/libxslt-documents.html	\
76	html/libxslt-extensions.html	\
77	html/libxslt-extra.html		\
78	html/libxslt-functions.html	\
79	html/libxslt-imports.html	\
80	html/libxslt-keys.html		\
81	html/libxslt-lib.html		\
82	html/libxslt-namespaces.html	\
83	html/libxslt-numbersInternals.html \
84	html/libxslt-pattern.html	\
85	html/libxslt-preproc.html	\
86	html/libxslt-security.html	\
87	html/libxslt-templates.html	\
88	html/libxslt-transform.html	\
89	html/libxslt-variables.html	\
90	html/libxslt-xslt.html		\
91	html/libxslt-xsltInternals.html	\
92	html/libxslt-xsltexports.html	\
93	html/libxslt-xsltlocale.html	\
94	html/libxslt-xsltutils.html	\
95	html/right.png			\
96	html/up.png			\
97	images/callouts/1.png		\
98	images/callouts/10.png		\
99	images/callouts/2.png		\
100	images/callouts/3.png		\
101	images/callouts/4.png		\
102	images/callouts/5.png		\
103	images/callouts/6.png		\
104	images/callouts/7.png		\
105	images/callouts/8.png		\
106	images/callouts/9.png		\
107	internals.html			\
108	libxslt-api.xml			\
109	libxslt-refs.xml		\
110	libxslt.xsa			\
111	newapi.xsl			\
112	news.xsl			\
113	node.gif			\
114	object.gif			\
115	processing.gif			\
116	python.html			\
117	redhat.gif			\
118	search.xml			\
119	site.xsl			\
120	smallfootonly.gif		\
121	stylesheet.gif			\
122	symbols.xml			\
123	syms.xsl			\
124	templates.gif			\
125	tutorial/libxslt_tutorial.c	\
126	tutorial/libxslttutorial.html	\
127	tutorial/libxslttutorial.xml	\
128	tutorial2/libxslt_pipes.c	\
129	tutorial2/libxslt_pipes.html	\
130	tutorial2/libxslt_pipes.xml	\
131	w3c.png				\
132	xsa.xsl				\
133	xslt.html			\
134	xsltproc.1			\
135	xsltproc.html			\
136	xsltproc.xml
137
138man_MANS = xsltproc.1
139
140all-local:	web ../NEWS libxslt.xsa $(man_MANS)
141
142api:	libxslt-api.xml libxslt-refs.xml $(APIPAGES) search.php \
143        html/index.html $(WIN32_DIR)/libxslt.def.src
144
145eapi:	EXSLT/libexslt-api.xml EXSLT/libexslt-refs.xml $(EAPIPAGES) \
146	EXSLT/html/index.html $(WIN32_DIR)/libexslt.def.src
147
148web: $(PAGES) $(EPAGES)
149
150$(PAGES): $(srcdir)/xslt.html $(srcdir)/site.xsl
151	-@(if [ -x $(XSLTPROC) ] ; then \
152	  echo "Rebuilding the HTML Web pages from xslt.html" ; \
153	  $(XSLTPROC) --nonet --html $(srcdir)/site.xsl \
154	    $(srcdir)/xslt.html > index.html ; fi )
155	-@(if [ -x $(XMLLINT) ] ; then \
156	  echo "Validating the HTML Web pages" ; \
157	  $(XMLLINT) --nonet --valid --noout $(PAGES) ; fi );
158
159$(EPAGES): $(srcdir)/EXSLT/exslt.html $(srcdir)/site.xsl
160	 -@(if [ ! -d EXSLT/html ] ; then \
161	   mkdir -p EXSLT/html ; fi )
162	 -@(if [ -x $(XSLTPROC) ] ; then \
163	   echo "Rebuilding the HTML Web pages from exslt.html" ; \
164	   $(XSLTPROC) --nonet --html \
165		--stringparam dirname EXSLT/ \
166		--stringparam libname libexslt \
167		--stringparam logo_base ../ \
168		$(srcdir)/site.xsl \
169		$(srcdir)/EXSLT/exslt.html > EXSLT/index.html ; fi )
170	 -@(if [ -x $(XMLLINT) ] ; then \
171	   echo "Validating the HTML Web pages" ; \
172	   $(XMLLINT) --nonet --valid --noout $(EPAGES) ; fi );
173
174../NEWS: $(srcdir)/news.xsl $(srcdir)/news.html
175	-@(if [ -x $(XSLTPROC) ] ; then \
176	  $(XSLTPROC) --nonet $(srcdir)/news.xsl \
177	    $(srcdir)/news.html > ../NEWS ; fi );
178
179libxslt.xsa: $(srcdir)/xsa.xsl $(srcdir)/news.html
180	-@(if [ -x $(XSLTPROC) ] ; then \
181	  $(XSLTPROC) --nonet $(srcdir)/xsa.xsl \
182	    news.html > libxslt.xsa ; fi );
183
184$(APIPAGES): libxslt-refs.xml site.xsl api.xsl $(srcdir)/site.xsl \
185	     $(srcdir)/api.xsl
186	-@(if [ -x $(XSLTPROC) ] ; then \
187	  echo "Rebuilding the HTML API pages from libxslt-refs.xml" ; \
188	  $(XSLTPROC) --nonet --html \
189			     $(srcdir)/api.xsl \
190			     $(srcdir)/xslt.html ; fi );
191	-@(if [ -x $(XMLLINT) ] ; then \
192	  echo "Validating the HTML API pages" ; \
193	  $(XMLLINT) --nonet --valid --noout API*.html; fi );
194
195$(EAPIPAGES): EXSLT/libexslt-refs.xml site.xsl api.xsl
196	-@(if [ -x $(XSLTPROC) ] ; then \
197	  echo "Rebuilding the HTML API pages from libexslt-refs.xml" ; \
198	  $(XSLTPROC) --nonet --html --output EXSLT/ \
199			     --stringparam libname libexslt \
200			     --stringparam dirname EXSLT/ \
201			     --stringparam logo_base ../ \
202			     $(srcdir)/api.xsl \
203			     $(srcdir)/EXSLT/exslt.html ; fi );
204
205html/index.html: libxslt-api.xml $(srcdir)/newapi.xsl
206	-@(if [ -x $(XSLTPROC) ] ; then \
207	  echo "Rebuilding the HTML pages from the XSLT API" ; \
208	  $(XSLTPROC) --nonet \
209			     $(srcdir)/newapi.xsl $(srcdir)/libxslt-api.xml ; fi );
210	-@(if [ -x $(XMLLINT) ] ; then \
211	  echo "Validating the resulting XHTML pages" ; \
212	  $(XMLLINT) --nonet --valid --noout html/*.html ; fi );
213
214wiki: libxslt-api.xml $(srcdir)/wiki.xsl
215	-@(if [ -x $(XSLTPROC) ] ; then \
216		echo "Rebuilding the wiki HTML pages from the XSLT API" ; \
217		$(XSLTPROC) --nonet $(srcdir)/wiki.xsl $(srcdir)/libxslt-api.xml; fi )
218
219EXSLT/html/index.html: EXSLT/libexslt-api.xml \
220	$(srcdir)/newapi.xsl
221	-@(if [ -x $(XSLTPROC) ] ; then \
222	  echo "Rebuilding the HTML pages from the EXSLT API" ; \
223	  $(XSLTPROC) --nonet --output EXSLT/ \
224			     --stringparam libname libexslt \
225			     --stringparam dirname EXSLT/ \
226			     --stringparam logo_base ../../ \
227			     $(srcdir)/newapi.xsl \
228			     $(srcdir)/EXSLT/libexslt-api.xml ; fi );
229	-@(if [ -x $(XMLLINT) ] ; then \
230	  echo "Validating the resulting XHTML pages" ; \
231	  $(XMLLINT) --nonet --valid --noout EXSLT/html/*.html ; fi );
232
233
234libxslt-api.xml libxslt-refs.xml EXSLT/libexslt-api.xml \
235  EXSLT/libexslt-refs.xml ../libxslt/libxslt.syms : $(srcdir)/apibuild.py $(top_srcdir)/libxslt/*.h \
236		$(top_srcdir)/libxslt/*.c $(top_srcdir)/libexslt/*.h \
237		$(top_srcdir)/libexslt/*.c
238	-(cd $(srcdir) && ./apibuild.py)
239	($(XSLTPROC) $(srcdir)/checkapisym.xsl $(srcdir)/libxslt-api.xml)
240	($(XSLTPROC) -o ../libxslt/libxslt.syms $(srcdir)/syms.xsl $(srcdir)/symbols.xml)
241
242xsltproc.1: $(srcdir)/xsltproc.xml
243	-@$(XSLTPROC) --nonet $(srcdir)/xsltproc.xml
244
245# Note that in the following, xmllint output is piped to xsltproc
246search.php: $(srcdir)/api.xsl $(srcdir)/site.xsl $(srcdir)/search.templ \
247            $(srcdir)/search.xml $(srcdir)/search.php.inc
248	-@(if test -x $(XMLLINT) -a -x $(XSLTPROC); then \
249	   echo "Rebuilding search.php" ; \
250	   $(XMLLINT) --xinclude --nonet \
251	                      $(srcdir)/search.xml | \
252	   $(XSLTPROC) --nonet - search.templ \
253			      > search.php ; else \
254	   echo "Unable to find xmllint or xsltproc in $(bindir)" ; fi)
255
256$(WIN32_DIR)/libxslt.def.src: libxslt-api.xml
257	-@(if [ -x $(XSLTPROC) ] ; then \
258	  $(XSLTPROC) -o $(WIN32_DIR)/libxslt.def.src \
259	  --nonet $(WIN32_DIR)/defgen.xsl $(srcdir)/libxslt-api.xml ; fi )
260
261$(WIN32_DIR)/libexslt.def.src: EXSLT/libexslt-api.xml
262	-@(if [ -x $(XSLTPROC) ] ; then \
263	  $(XSLTPROC) -o $(WIN32_DIR)/libexslt.def.src \
264	  --nonet $(WIN32_DIR)/defgen.xsl $(srcdir)/EXSLT/libexslt-api.xml ; fi )
265
266clean-local:
267	rm -f *~ *.1 *.bak *.hierarchy *.signals *-unused.txt
268
269distclean-local:
270	if test ! -r Makefile.am ; then \
271		rm -f *.html *.templ *.xsa ; \
272		rm -rf EXSLT html ; \
273	fi
274
275rebuild: api eapi all
276
277wildcards =			\
278	*.1			\
279	*.gif			\
280	*.html			\
281	*.png			\
282	*.xsl			\
283	EXSLT/*.html		\
284	EXSLT/html/*.html	\
285	EXSLT/html/*.png	\
286	html/*.html		\
287	html/*.png		\
288	images/callouts/*.png	\
289	tutorial*/libxslt*
290
291# This target verifies that EXTRA_DIST contains all the files matched by
292# the above list of wildcards. Note that this will only work properly when
293# srcdir = builddir.
294#
295check-extra-dist:
296	@for a in $(wildcards) ; do \
297		if test ! -f "$$a" ; then \
298			echo "not found: $$a" ; \
299			continue ; \
300		fi ; \
301		present= ; \
302		for b in $(EXTRA_DIST) ; do \
303			test "$$a" = "$$b" && present=1 && break ; \
304		done ; \
305		test -n "$$present" || echo "not in EXTRA_DIST: $$a" ; \
306	done
307
308install-data-local:
309	$(MKDIR_P) $(DESTDIR)$(HTML_DIR)
310	-$(INSTALL) -m 0644 $(srcdir)/*.html $(DESTDIR)$(HTML_DIR)
311	-$(INSTALL) -m 0644 $(srcdir)/*.gif $(DESTDIR)$(HTML_DIR)
312	$(MKDIR_P) $(DESTDIR)$(HTML_DIR)/html
313	-$(INSTALL) -m 0644 $(srcdir)/html/*.html $(DESTDIR)$(HTML_DIR)/html
314	-$(INSTALL) -m 0644 $(srcdir)/html/*.png $(DESTDIR)$(HTML_DIR)/html
315	-$(INSTALL) -m 0644 $(srcdir)/html/index.sgml $(DESTDIR)$(HTML_DIR)/html
316	$(MKDIR_P) $(DESTDIR)$(HTML_DIR)/EXSLT
317	-$(INSTALL) -m 0644 $(srcdir)/EXSLT/*.html $(DESTDIR)$(HTML_DIR)/EXSLT
318	$(MKDIR_P) $(DESTDIR)$(HTML_DIR)/tutorial
319	-$(INSTALL) -m 0644 $(srcdir)/tutorial/* $(DESTDIR)$(HTML_DIR)/tutorial
320	$(MKDIR_P) $(DESTDIR)$(HTML_DIR)/tutorial2
321	-$(INSTALL) -m 0644 $(srcdir)/tutorial2/* $(DESTDIR)$(HTML_DIR)/tutorial2
322
323uninstall-local:
324	rm -rf $(DESTDIR)$(HTML_DIR)
325
326.PHONY : api eapi web wiki rebuild check-extra-dist
327