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

3
## Copyright (C) 2005-2016 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
HTML_DIR = $(docdir)/html
20

A
Andrea Bolognani 已提交
21 22 23
modules = \
	libvirt-common \
	libvirt-domain \
24
	libvirt-domain-checkpoint \
A
Andrea Bolognani 已提交
25 26 27 28 29 30 31 32 33 34 35 36 37
	libvirt-domain-snapshot \
	libvirt-event \
	libvirt-host \
	libvirt-interface \
	libvirt-network \
	libvirt-nodedev \
	libvirt-nwfilter \
	libvirt-secret \
	libvirt-storage \
	libvirt-stream \
	virterror \
	$(NULL)

38 39 40 41
modules_admin = libvirt-admin
modules_qemu = libvirt-qemu
modules_lxc = libvirt-lxc

42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
all: vpathhack

# This hack enables us to view the web pages
# from within the uninstalled build tree
vpathhack:
	@for dir in fonts js logos; \
	do \
	  test -e $$dir || ln -s $(srcdir)/$$dir $$dir ; \
	done
	@for file in $(css); \
	do \
	  test -e $$file || ln -s $(srcdir)/$$file $$file ; \
	done

clean-local:
	for dir in fonts js logos; \
	do \
	  rm -f $$dir ; \
	done
	for file in $(css); \
	do \
	  rm -f $$file ; \
	done

66 67
apihtml = \
  html/index.html \
68 69 70
  $(apihtml_generated)

apihtml_generated = \
A
Andrea Bolognani 已提交
71 72
	$(addprefix html/libvirt-,$(addsuffix .html,$(modules))) \
	$(NULL)
J
Jim Meyering 已提交
73

74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
apiadminhtml = \
  html/index-admin.html \
  $(apiadminhtml_generated)

apiadminhtml_generated = \
	$(addprefix html/libvirt-,$(addsuffix .html,$(modules_admin))) \
	$(NULL)

apiqemuhtml = \
  html/index-qemu.html \
  $(apiqemuhtml_generated)

apiqemuhtml_generated = \
	$(addprefix html/libvirt-,$(addsuffix .html,$(modules_qemu))) \
	$(NULL)

apilxchtml = \
  html/index-lxc.html \
  $(apilxchtml_generated)

apilxchtml_generated = \
	$(addprefix html/libvirt-,$(addsuffix .html,$(modules_lxc))) \
	$(NULL)

98 99 100 101
apipng = \
  html/left.png \
  html/up.png \
  html/home.png \
102
  html/right.png
J
Jim Meyering 已提交
103

104
apirefdir = $(HTML_DIR)/html
105
apiref_DATA = $(apihtml) $(apiadminhtml) $(apiqemuhtml) $(apilxchtml) $(apipng)
106

107
css = \
108 109
  generic.css \
  libvirt.css \
110
  mobile.css \
111 112
  main.css

113
javascript = \
114
  js/main.js \
115
  $(NULL)
116

117 118 119
javascriptdir = $(HTML_DIR)/js
javascript_DATA = $(javascript)

120 121 122 123 124 125 126 127 128 129 130 131 132 133
fonts = \
  fonts/LICENSE.md \
  fonts/stylesheet.css \
  fonts/overpass-bold-italic.woff \
  fonts/overpass-bold.woff \
  fonts/overpass-italic.woff \
  fonts/overpass-light-italic.woff \
  fonts/overpass-light.woff \
  fonts/overpass-mono-bold.woff \
  fonts/overpass-mono-light.woff \
  fonts/overpass-mono-regular.woff \
  fonts/overpass-mono-semibold.woff \
  fonts/overpass-regular.woff

134 135 136
fontsdir = $(HTML_DIR)/fonts
fonts_DATA = $(fonts)

137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
logofiles = \
  logos/logo-base.svg \
  logos/logo-square.svg \
  logos/logo-square-powered.svg \
  logos/logo-banner-dark.svg \
  logos/logo-banner-light.svg \
  logos/logo-square-96.png \
  logos/logo-square-128.png \
  logos/logo-square-192.png \
  logos/logo-square-256.png \
  logos/logo-square-powered-96.png \
  logos/logo-square-powered-128.png \
  logos/logo-square-powered-192.png \
  logos/logo-square-powered-256.png \
  logos/logo-banner-dark-256.png \
  logos/logo-banner-dark-800.png \
  logos/logo-banner-light-256.png \
  logos/logo-banner-light-800.png

156 157 158
logofilesdir = $(HTML_DIR)/logos
logofiles_DATA = $(logofiles)

159 160
png = \
  32favicon.png \
D
Daniel Veillard 已提交
161 162 163
  libvirt-daemon-arch.png \
  libvirt-driver-arch.png \
  libvirt-object-model.png \
164 165 166 167 168
  migration-managed-direct.png \
  migration-managed-p2p.png \
  migration-native.png \
  migration-tunnel.png \
  migration-unmanaged-direct.png
169

J
Jim Meyering 已提交
170 171
gif = \
  architecture.gif \
172
  node.gif
J
Jim Meyering 已提交
173

174 175
internals_html_in = \
  $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/internals/*.html.in))
176 177 178 179
internals_rst = \
  $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/internals/*.rst))
internals_rst_html_in = \
  $(internals_rst:%.rst=%.html.in)
180 181 182
internals_html = \
  $(internals_html_in:%.html.in=%.html) \
  $(internals_rst_html_in:%.html.in=%.html)
183

184 185 186
internalsdir = $(HTML_DIR)/internals
internals_DATA = $(internals_html)

187 188
kbase_html_in = \
  $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/kbase/*.html.in))
189 190 191 192 193 194 195
kbase_rst = \
  $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/kbase/*.rst))
kbase_rst_html_in = \
  $(kbase_rst:%.rst=%.html.in)
kbase_html = \
  $(kbase_html_in:%.html.in=%.html) \
  $(kbase_rst_html_in:%.html.in=%.html)
196

197 198 199
kbasedir = $(HTML_DIR)/kbase
kbase_DATA = $(kbase_html)

200 201 202 203
manpages_rst = \
  manpages/index.rst \
  $(NULL)
manpages1_rst = \
204
  manpages/virt-pki-validate.rst \
205
  manpages/virt-xml-validate.rst \
206
  manpages/virt-admin.rst \
207
  manpages/virsh.rst \
208 209 210 211
  $(NULL)
manpages7_rst = \
  $(NULL)
manpages8_rst = \
212
  manpages/virt-sanlock-cleanup.rst \
213 214 215 216 217 218
  $(NULL)
manpages_rst += \
  $(manpages1_rst) \
  $(manpages7_rst) \
  $(manpages8_rst) \
  $(NULL)
219 220 221
if WITH_LIBVIRTD
manpages8_rst += \
  manpages/libvirtd.rst \
222
  manpages/virtlockd.rst \
223
  manpages/virtlogd.rst \
224 225 226 227
  $(NULL)
else ! WITH_LIBVIRTD
manpages_rst += \
  manpages/libvirtd.rst \
228
  manpages/virtlockd.rst \
229
  manpages/virtlogd.rst \
230 231
  $(NULL)
endif ! WITH_LIBVIRTD
232 233 234 235 236
if WITH_HOST_VALIDATE
  manpages1_rst += manpages/virt-host-validate.rst
else ! WITH_HOST_VALIDATE
  manpages_rst += manpages/virt-host-validate.rst
endif ! WITH_HOST_VALIDATE
237 238 239 240 241
if WITH_LOGIN_SHELL
  manpages1_rst += manpages/virt-login-shell.rst
else ! WITH_LOGIN_SHELL
  manpages_rst += manpages/virt-login-shell.rst
endif ! WITH_LOGIN_SHELL
242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275
manpages_rst_html_in = \
  $(manpages_rst:%.rst=%.html.in)
manpages_html = \
  $(manpages_rst_html_in:%.html.in=%.html)

man1_MANS = $(manpages1_rst:%.rst=%.1)
man7_MANS = $(manpages7_rst:%.rst=%.7)
man8_MANS = $(manpages8_rst:%.rst=%.8)

%.1: %.rst
	$(AM_V_GEN)$(MKDIR_P) `dirname $@` && \
	   grep -v '^\.\. contents::' < $< | \
	   sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \
	       -e 's|RUNSTATEDIR|$(runstatedir)|g' | \
	   $(RST2MAN) > $@

%.7: %.rst
	$(AM_V_GEN)$(MKDIR_P) `dirname $@` && \
	   grep -v '^\.\. contents::' < $< | \
	   sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \
	       -e 's|RUNSTATEDIR|$(runstatedir)|g' | \
	   $(RST2MAN) > $@

%.8: %.rst
	$(AM_V_GEN)$(MKDIR_P) `dirname $@` && \
	   grep -v '^\.\. contents::' < $< | \
	   sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \
	       -e 's|RUNSTATEDIR|$(runstatedir)|g' | \
	   $(RST2MAN) > $@


manpagesdir = $(HTML_DIR)/manpages
manpages_DATA = $(manpages_html)

276
# Generate hvsupport.html and news.html first, since they take one extra step.
277
dot_html_generated_in = \
278
  hvsupport.html.in \
279 280
  news.html.in
dot_html_in = \
281
  $(notdir $(wildcard $(srcdir)/*.html.in))
282 283 284 285
dot_rst = \
  $(notdir $(wildcard $(srcdir)/*.rst))
dot_rst_html_in = \
  $(dot_rst:%.rst=%.html)
286 287
dot_html = \
  $(dot_html_generated_in:%.html.in=%.html) \
288 289
  $(dot_html_in:%.html.in=%.html) \
  $(dot_rst_html_in:%.html.in=%.html)
J
Jim Meyering 已提交
290

291 292 293
htmldir = $(HTML_DIR)
html_DATA = $(css) $(png) $(gif) $(dot_html)

294
apidir = $(pkgdatadir)/api
295 296 297
api_DATA = \
       libvirt-api.xml \
       libvirt-qemu-api.xml \
298 299
       libvirt-lxc-api.xml \
       libvirt-admin-api.xml
300

301
fig = \
D
Daniel Veillard 已提交
302 303
  libvirt-daemon-arch.fig \
  libvirt-driver-arch.fig \
304 305 306 307 308 309
  libvirt-object-model.fig \
  migration-managed-direct.fig \
  migration-managed-p2p.fig \
  migration-native.fig \
  migration-tunnel.fig \
  migration-unmanaged-direct.fig
310

311
schemadir = $(pkgdatadir)/schemas
M
Michal Privoznik 已提交
312
schema_DATA = $(wildcard $(srcdir)/schemas/*.rng)
313

314
EXTRA_DIST= \
315
  genaclperms.pl \
316
  site.xsl subsite.xsl newapi.xsl page.xsl \
317
  wrapstring.xsl \
318
  $(dot_html_in) $(dot_rst) $(gif) $(apipng) \
319
  $(fig) $(png) $(css) \
320
  $(javascript) $(logofiles) \
321 322
  $(internals_html_in) $(internals_rst) $(fonts) \
  $(kbase_html_in) $(kbase_rst) \
323
  $(manpages_rst) \
324
  aclperms.htmlinc \
D
Daniel P. Berrange 已提交
325
  hvsupport.pl \
326
  $(schema_DATA)
J
Jim Meyering 已提交
327

328
acl_generated = aclperms.htmlinc
329

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

334 335 336
CLEANFILES = \
  $(dot_html) \
  $(apihtml) \
337 338 339
  $(apiadminhtml) \
  $(apiqemuhtml) \
  $(apilxchtml) \
340 341
  $(internals_html) \
  $(kbase_html) \
342 343 344 345
  $(manpages_html) \
  $(man1_MANS) \
  $(man7_MANS) \
  $(man8_MANS) \
346
  $(api_DATA) \
347 348
  $(dot_html_generated_in) \
  aclperms.htmlinc
349

350 351
timestamp="$(shell if test -n "$$SOURCE_DATE_EPOCH"; \
		   then \
352
		     date -u --date="@$$SOURCE_DATE_EPOCH"; \
353
		   else \
354
		     date -u; \
355 356
		   fi)"

357
hvsupport.html: hvsupport.html.in
358

359
hvsupport.html.in: $(srcdir)/hvsupport.pl $(api_DATA) \
M
Michal Privoznik 已提交
360 361 362
		$(top_srcdir)/src/libvirt_public.syms \
	$(top_srcdir)/src/libvirt_qemu.syms $(top_srcdir)/src/libvirt_lxc.syms \
	$(top_srcdir)/src/driver.h
363
	$(AM_V_GEN)$(PERL) $(srcdir)/hvsupport.pl $(top_srcdir) $(top_builddir) > $@ \
364
		|| { rm $@ && exit 1; }
365

366 367 368
news.html.in: \
	  $(srcdir)/news.xml \
	  $(srcdir)/news-html.xsl
369
	$(AM_V_GEN)$(XSLTPROC) --nonet \
370 371
	    $(srcdir)/news-html.xsl \
	    $(srcdir)/news.xml \
J
Ján Tomko 已提交
372 373
	  >$@ \
	    || { rm -f $@; exit 1; };
374 375
EXTRA_DIST += \
	$(srcdir)/news.xml \
P
Peter Krempa 已提交
376
	$(srcdir)/news.rng \
377 378
	$(srcdir)/news-html.xsl

D
Daniel Veillard 已提交
379 380 381
%.png: %.fig
	convert -rotate 90 $< $@

382 383 384 385 386 387 388
manpages/%.html.in: manpages/%.rst
	$(AM_V_GEN)$(MKDIR_P) `dirname $@` && \
	 grep -v '^:Manual ' < $< | \
	  sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \
	     -e 's|RUNSTATEDIR|$(runstatedir)|g' | \
	  $(RST2HTML) > $@

389 390 391 392
%.html.in: %.rst
	$(AM_V_GEN)$(MKDIR_P) `dirname $@` && \
	  $(RST2HTML) $< > $@

393
%.html.tmp: %.html.in site.xsl subsite.xsl page.xsl \
394
		$(acl_generated)
395
	$(AM_V_GEN)name=`echo $@ | sed -e 's/.tmp//'`; \
396 397 398 399 400 401 402 403
	  dir=`dirname $@` ; \
	  if test "$$dir" = "."; \
	  then \
	    style=site.xsl; \
	  else \
	    $(MKDIR_P) $$dir; \
	    style=subsite.xsl; \
	  fi; \
404
	  $(XSLTPROC) --stringparam pagename $$name \
405
	    --stringparam builddir '$(abs_top_builddir)' \
406
	    --stringparam timestamp $(timestamp) --nonet \
407
	    $(top_srcdir)/docs/$$style $< > $@ \
408
	    || { rm $@ && exit 1; }
409 410

%.html: %.html.tmp
411 412
	$(AM_V_GEN)$(XMLLINT) --nonet --format $< > $@ \
	  || { rm $@ && exit 1; }
413

414
$(apihtml_generated): html/index.html
415 416 417
$(apiadminhtml_generated): html/index-admin.html
$(apiqemuhtml_generated): html/index-qemu.html
$(apilxchtml_generated): html/index-lxc.html
418

419
html/index.html: libvirt-api.xml newapi.xsl page.xsl $(APIBUILD_STAMP)
420
	$(AM_V_GEN)$(XSLTPROC) --nonet -o ./ \
421
	  --stringparam builddir '$(abs_top_builddir)' \
422
	  --stringparam timestamp $(timestamp) \
423
	  $(srcdir)/newapi.xsl libvirt-api.xml
424

425 426 427 428 429
html/index-%.html: libvirt-%-api.xml newapi.xsl page.xsl $(APIBUILD_STAMP)
	$(AM_V_GEN)$(XSLTPROC) --nonet -o ./ \
	  --stringparam builddir '$(abs_top_builddir)' \
	  --stringparam timestamp $(timestamp) \
	  --stringparam indexfile $(@:html/%=%) \
430 431 432 433 434 435
	  $(srcdir)/newapi.xsl $<

check-html:
	$(XMLLINT) --nonet --noout html/*.html

check-local: check-html
436

437
python_generated_files = \
438 439 440 441
		html/libvirt-libvirt-lxc.html \
		html/libvirt-libvirt-qemu.html \
		html/libvirt-libvirt-admin.html \
		html/libvirt-virterror.html \
442
		$(api_DATA) \
443
		$(NULL)
444

445
APIBUILD=$(top_srcdir)/scripts/apibuild.py
446 447
APIBUILD_STAMP=apibuild.py.stamp
CLEANFILES += $(APIBUILD_STAMP)
448 449 450

$(python_generated_files): $(APIBUILD_STAMP)

451
$(APIBUILD_STAMP): $(top_srcdir)/scripts/apibuild.py \
452 453
		$(top_srcdir)/include/libvirt/libvirt.h \
		$(top_srcdir)/include/libvirt/libvirt-common.h.in \
454
		$(top_srcdir)/include/libvirt/libvirt-domain-checkpoint.h \
M
Michal Privoznik 已提交
455 456 457 458 459 460 461 462 463 464 465 466 467
		$(top_srcdir)/include/libvirt/libvirt-domain-snapshot.h \
		$(top_srcdir)/include/libvirt/libvirt-domain.h \
		$(top_srcdir)/include/libvirt/libvirt-event.h \
		$(top_srcdir)/include/libvirt/libvirt-host.h \
		$(top_srcdir)/include/libvirt/libvirt-interface.h \
		$(top_srcdir)/include/libvirt/libvirt-network.h \
		$(top_srcdir)/include/libvirt/libvirt-nodedev.h \
		$(top_srcdir)/include/libvirt/libvirt-nwfilter.h \
		$(top_srcdir)/include/libvirt/libvirt-secret.h \
		$(top_srcdir)/include/libvirt/libvirt-storage.h \
		$(top_srcdir)/include/libvirt/libvirt-stream.h \
		$(top_srcdir)/include/libvirt/libvirt-lxc.h \
		$(top_srcdir)/include/libvirt/libvirt-qemu.h \
468
		$(top_srcdir)/include/libvirt/libvirt-admin.h \
M
Michal Privoznik 已提交
469 470
		$(top_srcdir)/include/libvirt/virterror.h \
		$(top_srcdir)/src/libvirt.c \
471
		$(top_srcdir)/src/libvirt-domain-checkpoint.c \
472 473 474 475 476 477 478 479 480 481
		$(top_srcdir)/src/libvirt-domain-snapshot.c \
		$(top_srcdir)/src/libvirt-domain.c \
		$(top_srcdir)/src/libvirt-host.c \
		$(top_srcdir)/src/libvirt-interface.c \
		$(top_srcdir)/src/libvirt-network.c \
		$(top_srcdir)/src/libvirt-nodedev.c \
		$(top_srcdir)/src/libvirt-nwfilter.c \
		$(top_srcdir)/src/libvirt-secret.c \
		$(top_srcdir)/src/libvirt-storage.c \
		$(top_srcdir)/src/libvirt-stream.c \
M
Michal Privoznik 已提交
482 483
		$(top_srcdir)/src/libvirt-lxc.c \
		$(top_srcdir)/src/libvirt-qemu.c \
484
		$(top_srcdir)/src/admin/libvirt-admin.c \
M
Michal Privoznik 已提交
485 486
		$(top_srcdir)/src/util/virerror.c \
		$(top_srcdir)/src/util/virevent.c \
487
		$(top_srcdir)/src/util/virtypedparam-public.c
488 489
	$(AM_V_GEN)srcdir=$(srcdir) builddir=$(builddir) \
		$(RUNUTF8) $(PYTHON) $(APIBUILD)
490
	touch $@