Makefile.am 10.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 176 177
internals_html_in = \
  $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/internals/*.html.in))
internals_html = $(internals_html_in:%.html.in=%.html)

178 179 180
internalsdir = $(HTML_DIR)/internals
internals_DATA = $(internals_html)

181 182 183 184
kbase_html_in = \
  $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/kbase/*.html.in))
kbase_html = $(kbase_html_in:%.html.in=%.html)

185 186 187
kbasedir = $(HTML_DIR)/kbase
kbase_DATA = $(kbase_html)

188
# Generate hvsupport.html and news.html first, since they take one extra step.
189
dot_html_generated_in = \
190
  hvsupport.html.in \
191 192
  news.html.in
dot_html_in = \
193
  $(notdir $(wildcard $(srcdir)/*.html.in))
194 195 196
dot_html = \
  $(dot_html_generated_in:%.html.in=%.html) \
  $(dot_html_in:%.html.in=%.html)
J
Jim Meyering 已提交
197

198 199 200
htmldir = $(HTML_DIR)
html_DATA = $(css) $(png) $(gif) $(dot_html)

201
apidir = $(pkgdatadir)/api
202 203 204
api_DATA = \
       libvirt-api.xml \
       libvirt-qemu-api.xml \
205 206
       libvirt-lxc-api.xml \
       libvirt-admin-api.xml
207

208
fig = \
D
Daniel Veillard 已提交
209 210
  libvirt-daemon-arch.fig \
  libvirt-driver-arch.fig \
211 212 213 214 215 216
  libvirt-object-model.fig \
  migration-managed-direct.fig \
  migration-managed-p2p.fig \
  migration-native.fig \
  migration-tunnel.fig \
  migration-unmanaged-direct.fig
217

218
schemadir = $(pkgdatadir)/schemas
M
Michal Privoznik 已提交
219
schema_DATA = $(wildcard $(srcdir)/schemas/*.rng)
220

221
EXTRA_DIST= \
222
  genaclperms.pl \
223
  site.xsl subsite.xsl newapi.xsl page.xsl \
224
  wrapstring.xsl \
225 226
  $(dot_html_in) $(gif) $(apipng) \
  $(fig) $(png) $(css) \
227
  $(javascript) $(logofiles) \
228 229
  $(internals_html_in) $(fonts) \
  $(kbase_html_in) \
230
  aclperms.htmlinc \
D
Daniel P. Berrange 已提交
231
  hvsupport.pl \
232
  $(schema_DATA)
J
Jim Meyering 已提交
233

234
acl_generated = aclperms.htmlinc
235

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

240 241 242
CLEANFILES = \
  $(dot_html) \
  $(apihtml) \
243 244 245
  $(apiadminhtml) \
  $(apiqemuhtml) \
  $(apilxchtml) \
246 247
  $(internals_html) \
  $(kbase_html) \
248
  $(api_DATA) \
249 250
  $(dot_html_generated_in) \
  aclperms.htmlinc
251

252 253
timestamp="$(shell if test -n "$$SOURCE_DATE_EPOCH"; \
		   then \
254
		     date -u --date="@$$SOURCE_DATE_EPOCH"; \
255
		   else \
256
		     date -u; \
257 258
		   fi)"

259
hvsupport.html: hvsupport.html.in
260

261
hvsupport.html.in: $(srcdir)/hvsupport.pl $(api_DATA) \
M
Michal Privoznik 已提交
262 263 264
		$(top_srcdir)/src/libvirt_public.syms \
	$(top_srcdir)/src/libvirt_qemu.syms $(top_srcdir)/src/libvirt_lxc.syms \
	$(top_srcdir)/src/driver.h
265
	$(AM_V_GEN)$(PERL) $(srcdir)/hvsupport.pl $(top_srcdir) $(top_builddir) > $@ \
266
		|| { rm $@ && exit 1; }
267

268 269 270
news.html.in: \
	  $(srcdir)/news.xml \
	  $(srcdir)/news-html.xsl
271
	$(AM_V_GEN)$(XSLTPROC) --nonet \
272 273
	    $(srcdir)/news-html.xsl \
	    $(srcdir)/news.xml \
J
Ján Tomko 已提交
274 275
	  >$@ \
	    || { rm -f $@; exit 1; };
276 277
EXTRA_DIST += \
	$(srcdir)/news.xml \
P
Peter Krempa 已提交
278
	$(srcdir)/news.rng \
279 280
	$(srcdir)/news-html.xsl

D
Daniel Veillard 已提交
281 282 283
%.png: %.fig
	convert -rotate 90 $< $@

284
%.html.tmp: %.html.in site.xsl subsite.xsl page.xsl \
285
		$(acl_generated)
286
	$(AM_V_GEN)name=`echo $@ | sed -e 's/.tmp//'`; \
287 288 289 290 291 292 293 294
	  dir=`dirname $@` ; \
	  if test "$$dir" = "."; \
	  then \
	    style=site.xsl; \
	  else \
	    $(MKDIR_P) $$dir; \
	    style=subsite.xsl; \
	  fi; \
295
	  $(XSLTPROC) --stringparam pagename $$name \
296
	    --stringparam builddir '$(abs_top_builddir)' \
297
	    --stringparam timestamp $(timestamp) --nonet \
298
	    $(top_srcdir)/docs/$$style $< > $@ \
299
	    || { rm $@ && exit 1; }
300 301

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

305
$(apihtml_generated): html/index.html
306 307 308
$(apiadminhtml_generated): html/index-admin.html
$(apiqemuhtml_generated): html/index-qemu.html
$(apilxchtml_generated): html/index-lxc.html
309

310
html/index.html: libvirt-api.xml newapi.xsl page.xsl $(APIBUILD_STAMP)
311
	$(AM_V_GEN)$(XSLTPROC) --nonet -o ./ \
312
	  --stringparam builddir '$(abs_top_builddir)' \
313
	  --stringparam timestamp $(timestamp) \
314
	  $(srcdir)/newapi.xsl libvirt-api.xml
315

316 317 318 319 320
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/%=%) \
321 322 323 324 325 326
	  $(srcdir)/newapi.xsl $<

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

check-local: check-html
327

328
python_generated_files = \
329 330 331 332
		html/libvirt-libvirt-lxc.html \
		html/libvirt-libvirt-qemu.html \
		html/libvirt-libvirt-admin.html \
		html/libvirt-virterror.html \
333
		$(api_DATA) \
334
		$(NULL)
335

336
APIBUILD=$(top_srcdir)/scripts/apibuild.py
337 338
APIBUILD_STAMP=apibuild.py.stamp
CLEANFILES += $(APIBUILD_STAMP)
339 340 341

$(python_generated_files): $(APIBUILD_STAMP)

342
$(APIBUILD_STAMP): $(top_srcdir)/scripts/apibuild.py \
343 344
		$(top_srcdir)/include/libvirt/libvirt.h \
		$(top_srcdir)/include/libvirt/libvirt-common.h.in \
345
		$(top_srcdir)/include/libvirt/libvirt-domain-checkpoint.h \
M
Michal Privoznik 已提交
346 347 348 349 350 351 352 353 354 355 356 357 358
		$(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 \
359
		$(top_srcdir)/include/libvirt/libvirt-admin.h \
M
Michal Privoznik 已提交
360 361
		$(top_srcdir)/include/libvirt/virterror.h \
		$(top_srcdir)/src/libvirt.c \
362
		$(top_srcdir)/src/libvirt-domain-checkpoint.c \
363 364 365 366 367 368 369 370 371 372
		$(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 已提交
373 374
		$(top_srcdir)/src/libvirt-lxc.c \
		$(top_srcdir)/src/libvirt-qemu.c \
375
		$(top_srcdir)/src/admin/libvirt-admin.c \
M
Michal Privoznik 已提交
376 377
		$(top_srcdir)/src/util/virerror.c \
		$(top_srcdir)/src/util/virevent.c \
378
		$(top_srcdir)/src/util/virtypedparam-public.c
379 380
	$(AM_V_GEN)srcdir=$(srcdir) builddir=$(builddir) \
		$(RUNUTF8) $(PYTHON) $(APIBUILD)
381
	touch $@