Makefile.am 12.1 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 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247
manpages_rst = \
  manpages/index.rst \
  $(NULL)
manpages1_rst = \
  $(NULL)
manpages7_rst = \
  $(NULL)
manpages8_rst = \
  $(NULL)
manpages_rst += \
  $(manpages1_rst) \
  $(manpages7_rst) \
  $(manpages8_rst) \
  $(NULL)
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)

248
# Generate hvsupport.html and news.html first, since they take one extra step.
249
dot_html_generated_in = \
250
  hvsupport.html.in \
251 252
  news.html.in
dot_html_in = \
253
  $(notdir $(wildcard $(srcdir)/*.html.in))
254 255 256 257
dot_rst = \
  $(notdir $(wildcard $(srcdir)/*.rst))
dot_rst_html_in = \
  $(dot_rst:%.rst=%.html)
258 259
dot_html = \
  $(dot_html_generated_in:%.html.in=%.html) \
260 261
  $(dot_html_in:%.html.in=%.html) \
  $(dot_rst_html_in:%.html.in=%.html)
J
Jim Meyering 已提交
262

263 264 265
htmldir = $(HTML_DIR)
html_DATA = $(css) $(png) $(gif) $(dot_html)

266
apidir = $(pkgdatadir)/api
267 268 269
api_DATA = \
       libvirt-api.xml \
       libvirt-qemu-api.xml \
270 271
       libvirt-lxc-api.xml \
       libvirt-admin-api.xml
272

273
fig = \
D
Daniel Veillard 已提交
274 275
  libvirt-daemon-arch.fig \
  libvirt-driver-arch.fig \
276 277 278 279 280 281
  libvirt-object-model.fig \
  migration-managed-direct.fig \
  migration-managed-p2p.fig \
  migration-native.fig \
  migration-tunnel.fig \
  migration-unmanaged-direct.fig
282

283
schemadir = $(pkgdatadir)/schemas
M
Michal Privoznik 已提交
284
schema_DATA = $(wildcard $(srcdir)/schemas/*.rng)
285

286
EXTRA_DIST= \
287
  genaclperms.pl \
288
  site.xsl subsite.xsl newapi.xsl page.xsl \
289
  wrapstring.xsl \
290
  $(dot_html_in) $(dot_rst) $(gif) $(apipng) \
291
  $(fig) $(png) $(css) \
292
  $(javascript) $(logofiles) \
293 294
  $(internals_html_in) $(internals_rst) $(fonts) \
  $(kbase_html_in) $(kbase_rst) \
295
  $(manpages_rst) \
296
  aclperms.htmlinc \
D
Daniel P. Berrange 已提交
297
  hvsupport.pl \
298
  $(schema_DATA)
J
Jim Meyering 已提交
299

300
acl_generated = aclperms.htmlinc
301

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

306 307 308
CLEANFILES = \
  $(dot_html) \
  $(apihtml) \
309 310 311
  $(apiadminhtml) \
  $(apiqemuhtml) \
  $(apilxchtml) \
312 313
  $(internals_html) \
  $(kbase_html) \
314 315 316 317
  $(manpages_html) \
  $(man1_MANS) \
  $(man7_MANS) \
  $(man8_MANS) \
318
  $(api_DATA) \
319 320
  $(dot_html_generated_in) \
  aclperms.htmlinc
321

322 323
timestamp="$(shell if test -n "$$SOURCE_DATE_EPOCH"; \
		   then \
324
		     date -u --date="@$$SOURCE_DATE_EPOCH"; \
325
		   else \
326
		     date -u; \
327 328
		   fi)"

329
hvsupport.html: hvsupport.html.in
330

331
hvsupport.html.in: $(srcdir)/hvsupport.pl $(api_DATA) \
M
Michal Privoznik 已提交
332 333 334
		$(top_srcdir)/src/libvirt_public.syms \
	$(top_srcdir)/src/libvirt_qemu.syms $(top_srcdir)/src/libvirt_lxc.syms \
	$(top_srcdir)/src/driver.h
335
	$(AM_V_GEN)$(PERL) $(srcdir)/hvsupport.pl $(top_srcdir) $(top_builddir) > $@ \
336
		|| { rm $@ && exit 1; }
337

338 339 340
news.html.in: \
	  $(srcdir)/news.xml \
	  $(srcdir)/news-html.xsl
341
	$(AM_V_GEN)$(XSLTPROC) --nonet \
342 343
	    $(srcdir)/news-html.xsl \
	    $(srcdir)/news.xml \
J
Ján Tomko 已提交
344 345
	  >$@ \
	    || { rm -f $@; exit 1; };
346 347
EXTRA_DIST += \
	$(srcdir)/news.xml \
P
Peter Krempa 已提交
348
	$(srcdir)/news.rng \
349 350
	$(srcdir)/news-html.xsl

D
Daniel Veillard 已提交
351 352 353
%.png: %.fig
	convert -rotate 90 $< $@

354 355 356 357 358 359 360
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) > $@

361 362 363 364
%.html.in: %.rst
	$(AM_V_GEN)$(MKDIR_P) `dirname $@` && \
	  $(RST2HTML) $< > $@

365
%.html.tmp: %.html.in site.xsl subsite.xsl page.xsl \
366
		$(acl_generated)
367
	$(AM_V_GEN)name=`echo $@ | sed -e 's/.tmp//'`; \
368 369 370 371 372 373 374 375
	  dir=`dirname $@` ; \
	  if test "$$dir" = "."; \
	  then \
	    style=site.xsl; \
	  else \
	    $(MKDIR_P) $$dir; \
	    style=subsite.xsl; \
	  fi; \
376
	  $(XSLTPROC) --stringparam pagename $$name \
377
	    --stringparam builddir '$(abs_top_builddir)' \
378
	    --stringparam timestamp $(timestamp) --nonet \
379
	    $(top_srcdir)/docs/$$style $< > $@ \
380
	    || { rm $@ && exit 1; }
381 382

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

386
$(apihtml_generated): html/index.html
387 388 389
$(apiadminhtml_generated): html/index-admin.html
$(apiqemuhtml_generated): html/index-qemu.html
$(apilxchtml_generated): html/index-lxc.html
390

391
html/index.html: libvirt-api.xml newapi.xsl page.xsl $(APIBUILD_STAMP)
392
	$(AM_V_GEN)$(XSLTPROC) --nonet -o ./ \
393
	  --stringparam builddir '$(abs_top_builddir)' \
394
	  --stringparam timestamp $(timestamp) \
395
	  $(srcdir)/newapi.xsl libvirt-api.xml
396

397 398 399 400 401
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/%=%) \
402 403 404 405 406 407
	  $(srcdir)/newapi.xsl $<

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

check-local: check-html
408

409
python_generated_files = \
410 411 412 413
		html/libvirt-libvirt-lxc.html \
		html/libvirt-libvirt-qemu.html \
		html/libvirt-libvirt-admin.html \
		html/libvirt-virterror.html \
414
		$(api_DATA) \
415
		$(NULL)
416

417
APIBUILD=$(top_srcdir)/scripts/apibuild.py
418 419
APIBUILD_STAMP=apibuild.py.stamp
CLEANFILES += $(APIBUILD_STAMP)
420 421 422

$(python_generated_files): $(APIBUILD_STAMP)

423
$(APIBUILD_STAMP): $(top_srcdir)/scripts/apibuild.py \
424 425
		$(top_srcdir)/include/libvirt/libvirt.h \
		$(top_srcdir)/include/libvirt/libvirt-common.h.in \
426
		$(top_srcdir)/include/libvirt/libvirt-domain-checkpoint.h \
M
Michal Privoznik 已提交
427 428 429 430 431 432 433 434 435 436 437 438 439
		$(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 \
440
		$(top_srcdir)/include/libvirt/libvirt-admin.h \
M
Michal Privoznik 已提交
441 442
		$(top_srcdir)/include/libvirt/virterror.h \
		$(top_srcdir)/src/libvirt.c \
443
		$(top_srcdir)/src/libvirt-domain-checkpoint.c \
444 445 446 447 448 449 450 451 452 453
		$(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 已提交
454 455
		$(top_srcdir)/src/libvirt-lxc.c \
		$(top_srcdir)/src/libvirt-qemu.c \
456
		$(top_srcdir)/src/admin/libvirt-admin.c \
M
Michal Privoznik 已提交
457 458
		$(top_srcdir)/src/util/virerror.c \
		$(top_srcdir)/src/util/virevent.c \
459
		$(top_srcdir)/src/util/virtypedparam-public.c
460 461
	$(AM_V_GEN)srcdir=$(srcdir) builddir=$(builddir) \
		$(RUNUTF8) $(PYTHON) $(APIBUILD)
462
	touch $@