Makefile.am 11.2 KB
Newer Older
1
## Process this file with automake to produce Makefile.in
2

3
## Copyright (C) 2005-2014 Red Hat, Inc.
E
Eric Blake 已提交
4 5 6 7 8 9 10 11 12 13 14 15 16 17
##
## This library is free software; you can redistribute it and/or
## modify it under the terms of the GNU Lesser General Public
## License as published by the Free Software Foundation; either
## version 2.1 of the License, or (at your option) any later version.
##
## This library is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
## Lesser General Public License for more details.
##
## You should have received a copy of the GNU Lesser General Public
## License along with this library.  If not, see
## <http://www.gnu.org/licenses/>.
18

19
SUBDIRS= schemas
20

21 22
PERL = perl

23 24 25
# The directory containing the source code (if it contains documentation).
DOC_SOURCE_DIR=../src

26 27
DEVHELP_DIR=$(datadir)/gtk-doc/html/libvirt

28 29
apihtml =					\
  html/index.html				\
30 31 32
  $(apihtml_generated)

apihtml_generated = \
33 34 35 36 37 38 39 40 41 42 43
  html/libvirt-libvirt-domain.html		\
  html/libvirt-libvirt-domain-snapshot.html	\
  html/libvirt-libvirt-event.html		\
  html/libvirt-libvirt-host.html		\
  html/libvirt-libvirt-interface.html		\
  html/libvirt-libvirt-network.html		\
  html/libvirt-libvirt-nodedev.html		\
  html/libvirt-libvirt-nwfilter.html		\
  html/libvirt-libvirt-secret.html		\
  html/libvirt-libvirt-storage.html		\
  html/libvirt-libvirt-stream.html		\
44
  html/libvirt-virterror.html
J
Jim Meyering 已提交
45

46
apipng =	\
47 48 49 50
  html/left.png	\
  html/up.png	\
  html/home.png	\
  html/right.png
J
Jim Meyering 已提交
51

52
devhelphtml =			\
53 54 55 56 57
  devhelp/libvirt.devhelp	\
  devhelp/index.html		\
  devhelp/general.html		\
  devhelp/libvirt-virterror.html

58 59 60 61 62
css =         \
  generic.css \
  libvirt.css \
  main.css

63 64 65 66 67 68 69 70 71 72
devhelppng =		\
  devhelp/home.png	\
  devhelp/left.png	\
  devhelp/right.png	\
  devhelp/up.png

devhelpcss = devhelp/style.css

devhelpxsl = devhelp/devhelp.xsl devhelp/html.xsl

73 74 75 76 77 78 79 80 81
png = \
  32favicon.png \
  footer_corner.png \
  footer_pattern.png \
  libvirt-header-bg.png \
  libvirt-header-logo.png \
  libvirtLogo.png \
  libvirt-net-logical.png \
  libvirt-net-physical.png \
D
Daniel Veillard 已提交
82 83 84
  libvirt-daemon-arch.png \
  libvirt-driver-arch.png \
  libvirt-object-model.png \
85
  madeWith.png \
86 87 88 89 90 91
  et.png \
  migration-managed-direct.png \
  migration-managed-p2p.png \
  migration-native.png \
  migration-tunnel.png \
  migration-unmanaged-direct.png
92

J
Jim Meyering 已提交
93 94
gif = \
  architecture.gif \
95
  node.gif
J
Jim Meyering 已提交
96

97 98 99 100 101

internals_html_in = \
  $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/internals/*.html.in))
internals_html = $(internals_html_in:%.html.in=%.html)

102 103 104 105 106 107
# todo.html is special - it is shipped in the tarball, but we
# have a dedicated 'todo' target to rebuild it from a proper
# config file, all other users are able to build it locally.
# For all other files, since we ship pre-built html in the
# tarball, we must also ship the sources, even when those
# sources are themselves generated.
108 109 110
dot_html_in = $(notdir $(wildcard $(srcdir)/*.html.in)) \
  todo.html.in \
  hvsupport.html.in
111
dot_html = $(dot_html_in:%.html.in=%.html)
J
Jim Meyering 已提交
112

113 114 115 116
dot_php_in = $(notdir $(wildcard $(srcdir)/*.php.in))
dot_php_code_in = $(dot_php_in:%.php.in=%.php.code.in)
dot_php = $(dot_php_in:%.php.in=%.php)

117
patches = $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/api_extension/*.patch))
118

J
Jim Meyering 已提交
119 120
xml = \
  libvirt-api.xml \
121
  libvirt-refs.xml
J
Jim Meyering 已提交
122

123 124 125 126
qemu_xml = \
  libvirt-qemu-api.xml \
  libvirt-qemu-refs.xml

127 128 129 130
lxc_xml = \
  libvirt-lxc-api.xml \
  libvirt-lxc-refs.xml

131
apidir = $(pkgdatadir)/api
132
api_DATA = libvirt-api.xml libvirt-qemu-api.xml libvirt-lxc-api.xml
133

134 135
fig = \
  libvirt-net-logical.fig \
D
Daniel Veillard 已提交
136 137 138
  libvirt-net-physical.fig \
  libvirt-daemon-arch.fig \
  libvirt-driver-arch.fig \
139 140 141 142 143 144
  libvirt-object-model.fig \
  migration-managed-direct.fig \
  migration-managed-p2p.fig \
  migration-native.fig \
  migration-tunnel.fig \
  migration-unmanaged-direct.fig
145

J
Jim Meyering 已提交
146
EXTRA_DIST=					\
147
  apibuild.py genaclperms.pl \
148
  site.xsl newapi.xsl news.xsl page.xsl \
149
  hacking1.xsl hacking2.xsl wrapstring.xsl \
150
  $(dot_html) $(dot_html_in) $(gif) $(apihtml) $(apipng) \
151
  $(devhelphtml) $(devhelppng) $(devhelpcss) $(devhelpxsl) \
152
  $(xml) $(qemu_xml) $(lxc_xml) $(fig) $(png) $(css) \
153
  $(patches) $(dot_php_in) $(dot_php_code_in) $(dot_php)\
154
  $(internals_html_in) $(internals_html) \
155
  sitemap.html.in aclperms.htmlinc \
156
  todo.pl hvsupport.pl todo.cfg-example
J
Jim Meyering 已提交
157

158 159 160 161
acl.html:: $(srcdir)/aclperms.htmlinc

$(srcdir)/aclperms.htmlinc: $(top_srcdir)/src/access/viraccessperm.h \
        $(srcdir)/genaclperms.pl Makefile.am
162
	$(AM_V_GEN)$(PERL) $(srcdir)/genaclperms.pl $< > $@
163

164 165 166
MAINTAINERCLEANFILES = \
  $(addprefix $(srcdir)/,$(dot_html)) \
  $(addprefix $(srcdir)/,$(apihtml)) \
167
  $(addprefix $(srcdir)/,$(devhelphtml)) \
168
  $(addprefix $(srcdir)/,$(internals_html)) \
169 170
  $(addprefix $(srcdir)/,$(dot_php)) \
  $(srcdir)/hvsupport.html.in $(srcdir)/aclperms.htmlinc
171

172
all-am: web
173

J
Jiri Denemark 已提交
174
api: $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml
175
qemu_api: $(srcdir)/libvirt-qemu-api.xml $(srcdir)/libvirt-qemu-refs.xml
176
lxc_api: $(srcdir)/libvirt-lxc-api.xml $(srcdir)/libvirt-lxc-refs.xml
177

178 179
web: $(dot_html) $(internals_html) html/index.html devhelp/index.html \
  $(dot_php)
180

181 182 183
todo.html.in: todo.pl
	if [ -f  todo.cfg ]; then \
		echo "Generating $@"; \
E
Eric Blake 已提交
184
		$(PERL) $< > $@ \
185 186 187
		|| { rm $@ && exit 1; }; \
	else \
		echo "Stubbing $@"; \
188 189 190 191 192
		printf "%s\n" \
		  "<html xmlns=\"http://www.w3.org/1999/xhtml\">" \
		  "<body>" \
		  "<h1>Todo list unavailable: no config file</h1>" \
		  "</body></html>" > $@ ; \
193 194 195 196 197 198
	fi

todo:
	rm -f todo.html.in
	$(MAKE) todo.html

199 200
hvsupport.html:: $(srcdir)/hvsupport.html.in

201
$(srcdir)/hvsupport.html.in: $(srcdir)/hvsupport.pl $(api_DATA) \
202
		$(srcdir)/../src/libvirt_public.syms \
203 204
	$(srcdir)/../src/libvirt_qemu.syms $(srcdir)/../src/libvirt_lxc.syms \
	$(srcdir)/../src/driver.h
205 206
	$(AM_V_GEN)$(PERL) $(srcdir)/hvsupport.pl $(srcdir)/../src > $@ \
		|| { rm $@ && exit 1; }
207

208 209
.PHONY: todo

D
Daniel Veillard 已提交
210 211 212
%.png: %.fig
	convert -rotate 90 $< $@

213 214 215
internals/%.html.tmp: internals/%.html.in subsite.xsl page.xsl sitemap.html.in
	@if [ -x $(XSLTPROC) ] ; then \
	  echo "Generating $@"; \
216
	  $(MKDIR_P) internals; \
217
	  name=`echo $@ | sed -e 's/.tmp//'`; \
218
	  $(XSLTPROC) --stringparam pagename $$name --nonet \
219 220 221
	    $(top_srcdir)/docs/subsite.xsl $< > $@ \
	    || { rm $@ && exit 1; }; fi

222
%.html.tmp: %.html.in site.xsl page.xsl sitemap.html.in
223
	@if [ -x $(XSLTPROC) ] ; then \
224 225
	  echo "Generating $@"; \
	  name=`echo $@ | sed -e 's/.tmp//'`; \
226
	  $(XSLTPROC) --stringparam pagename $$name --nonet \
227 228
	    $(top_srcdir)/docs/site.xsl $< > $@ \
	    || { rm $@ && exit 1; }; fi
229 230

%.html: %.html.tmp
231
	@if test -x $(XMLLINT) && test -x $(XMLCATALOG) ; then \
232
	  if $(XMLCATALOG) '$(XML_CATALOG_FILE)' \
233
	    "-//W3C//DTD XHTML 1.0 Strict//EN" > /dev/null ; then \
234
	  echo "Validating $@" ; \
235
	  SGML_CATALOG_FILES='$(XML_CATALOG_FILE)' \
236 237
	  $(XMLLINT) --catalogs --nonet --format --valid $< > $(srcdir)/$@ \
	  || { rm $(srcdir)/$@ && exit 1; }; \
238
	  else echo "missing XHTML1 DTD" ; fi ; fi
239

240 241 242
%.php.tmp: %.php.in site.xsl page.xsl sitemap.html.in
	@if [ -x $(XSLTPROC) ] ; then \
	  echo "Generating $@"; \
243
	  $(XSLTPROC) --stringparam pagename $(@:.tmp=) --nonet \
244 245 246 247
	    $(top_srcdir)/docs/site.xsl $< > $@ \
	    || { rm $@ && exit 1; }; fi

%.php: %.php.tmp %.php.code.in
248 249
	@if [ -x $(XSLTPROC) ] ; then \
	  echo "Scripting $@"; \
250
	    sed -e '/<span id="php_placeholder"><\/span>/r '"$(srcdir)/$@.code.in" \
251 252
	    -e /php_placeholder/d < $@.tmp > $(srcdir)/$@ \
	    || { rm $(srcdir)/$@ && exit 1; }; fi
253

254 255
$(apihtml_generated): html/index.html

256
html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in
257
	$(AM_V_GEN)if [ -x $(XSLTPROC) ] ; then \
258
	  $(XSLTPROC) --nonet -o $(srcdir)/ \
259
	  --stringparam builddir '$(abs_top_builddir)' \
260
	  $(srcdir)/newapi.xsl $(srcdir)/libvirt-api.xml ; fi && \
261
	if test -x $(XMLLINT) && test -x $(XMLCATALOG) ; then \
262
	  if $(XMLCATALOG) '$(XML_CATALOG_FILE)' "-//W3C//DTD XHTML 1.0 Strict//EN" \
E
Eric Blake 已提交
263
	    > /dev/null ; then \
264
	  SGML_CATALOG_FILES='$(XML_CATALOG_FILE)' \
265
	  $(XMLLINT) --catalogs --nonet --valid --noout $(srcdir)/html/*.html ; \
266
	  else echo "missing XHTML1 DTD" ; fi ; fi
267

268
$(addprefix $(srcdir)/,$(devhelphtml)): $(srcdir)/libvirt-api.xml $(devhelpxsl)
269
	$(AM_V_GEN)if [ -x $(XSLTPROC) ] ; then \
270
	  $(XSLTPROC) --nonet -o $(srcdir)/devhelp/ \
J
Jiri Denemark 已提交
271
	  $(top_srcdir)/docs/devhelp/devhelp.xsl $(srcdir)/libvirt-api.xml ; fi
272

273

274
python_generated_files = \
275
		$(srcdir)/html/libvirt-libvirt-lxc.html \
276
		$(srcdir)/html/libvirt-libvirt-qemu.html \
277 278
		$(srcdir)/html/libvirt-virterror.html \
		$(srcdir)/libvirt-api.xml \
279
		$(srcdir)/libvirt-refs.xml \
280 281
		$(srcdir)/libvirt-lxc-api.xml \
		$(srcdir)/libvirt-lxc-refs.xml \
282
		$(srcdir)/libvirt-qemu-api.xml \
283 284
		$(srcdir)/libvirt-qemu-refs.xml \
		$(NULL)
285

E
Eric Blake 已提交
286 287
APIBUILD=$(srcdir)/apibuild.py
APIBUILD_STAMP=$(APIBUILD).stamp
E
Eric Blake 已提交
288
EXTRA_DIST += $(APIBUILD_STAMP)
289 290 291 292

$(python_generated_files): $(APIBUILD_STAMP)

$(APIBUILD_STAMP): $(srcdir)/apibuild.py \
E
Eric Blake 已提交
293
		$(srcdir)/../include/libvirt/libvirt.h.in \
294 295 296 297 298 299 300 301 302 303 304
		$(srcdir)/../include/libvirt/libvirt-domain-snapshot.h \
		$(srcdir)/../include/libvirt/libvirt-domain.h \
		$(srcdir)/../include/libvirt/libvirt-event.h \
		$(srcdir)/../include/libvirt/libvirt-host.h \
		$(srcdir)/../include/libvirt/libvirt-interface.h \
		$(srcdir)/../include/libvirt/libvirt-network.h \
		$(srcdir)/../include/libvirt/libvirt-nodedev.h \
		$(srcdir)/../include/libvirt/libvirt-nwfilter.h \
		$(srcdir)/../include/libvirt/libvirt-secret.h \
		$(srcdir)/../include/libvirt/libvirt-storage.h \
		$(srcdir)/../include/libvirt/libvirt-stream.h \
305
		$(srcdir)/../include/libvirt/libvirt-lxc.h \
E
Eric Blake 已提交
306 307
		$(srcdir)/../include/libvirt/libvirt-qemu.h \
		$(srcdir)/../include/libvirt/virterror.h \
308
		$(srcdir)/../src/libvirt.c \
309
		$(srcdir)/../src/libvirt-lxc.c \
310
		$(srcdir)/../src/libvirt-qemu.c \
311
		$(srcdir)/../src/util/virerror.c \
312 313
		$(srcdir)/../src/util/virevent.c \
		$(srcdir)/../src/util/virtypedparam.c
314 315 316
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(APIBUILD)
	touch $@

317

318
check-local: all
319
dist-local: all
320

321
clean-local:
322
	rm -f *~ *.bak *.hierarchy *.signals *-unused.txt *.html
323 324

maintainer-clean-local: clean-local
325
	rm -rf $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml \
326
		todo.html.in
327
	rm -rf $(srcdir)/libvirt-qemu-api.xml $(srcdir)/libvirt-qemu-refs.xml
328
	rm -rf $(srcdir)/libvirt-lxc-api.xml $(srcdir)/libvirt-lxc-refs.xml
329
	rm -rf $(APIBUILD_STAMP)
330

331
rebuild: api qemu_api lxc_api all
332

333
install-data-local:
334
	$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
335 336
	for f in $(css) $(dot_html) $(gif) $(png); do \
	  $(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR); done
337
	$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/html
338
	for h in $(apihtml); do \
339
	  $(INSTALL) -m 0644 $(srcdir)/$$h $(DESTDIR)$(HTML_DIR)/html; done
340
	for p in $(apipng); do \
341
	  $(INSTALL) -m 0644 $(srcdir)/$$p $(DESTDIR)$(HTML_DIR)/html; done
342 343 344
	$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/internals
	for f in $(internals_html); do \
	  $(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/internals; done
345 346
	$(mkinstalldirs) $(DESTDIR)$(DEVHELP_DIR)
	for file in $(devhelphtml) $(devhelppng) $(devhelpcss); do \
347
	    $(INSTALL) -m 0644 $(srcdir)/$${file} $(DESTDIR)$(DEVHELP_DIR) ; \
348
	done
349
	$(INSTALL_DATA) $(srcdir)/libvirtLogo.png $(DESTDIR)$(pkgdatadir)
J
Jim Meyering 已提交
350 351

uninstall-local:
352 353
	for h in $(apihtml); do rm $(DESTDIR)$(HTML_DIR)/$$h; done
	for p in $(apipng); do rm $(DESTDIR)$(HTML_DIR)/$$p; done
354
	for f in $(devhelphtml) $(devhelppng) $(devhelpcss); do \
355 356
	  rm $(DESTDIR)$(DEVHELP_DIR)/$$(basename $$f); \
	done