mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-28 11:31:16 +00:00
We currently generate two completely separate API references for the
libvirt public API. One at 'docs/html/' and one at 'docs/devhelp/'.
Both are published on the website, but we only link to content in
the 'docs/html/' pages.
Both are installed in the libvirt-docs sub-RPM, with a full copy
of the website including 'docs/html/' in /usr/share/docs/libvirt-docs,
while the 'docs/devhelp/' content goes to /usr/share/gtk-doc/. The
latter was broken for years until:
commit ca6f602546
Author: Andrea Bolognani <abologna@redhat.com>
Date: Fri May 10 14:54:52 2019 +0200
docs: Introduce $(devhelphtml_generated)
Our XSLT magic generates one Devhelp-compatible HTML file
per documentation module, but so far we have only shipped
and installed documentation for virterror.
Now that we have $(modules), however, we can generate the
list of files the same way we do for regular documentation
and make sure we always ship and install everything.
That this bug went unnoticed for so long is a sign of how few
people are using the devhelp docs. The only commits to the devhelp
code since it was first introduced have been fixing various build
problems that hit.
The only obvious difference between the two sets of docs is the CSS
styling in use. Overall devhelp does not look compelling enough to
justify having two duplicated sets of API docs. Eliminating it will
reduce the amount of XSL code we are carrying in the tree which is
an attractive benefit.
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
385 lines
11 KiB
Makefile
385 lines
11 KiB
Makefile
## Process this file with automake to produce Makefile.in
|
|
|
|
## Copyright (C) 2005-2016 Red Hat, Inc.
|
|
##
|
|
## 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/>.
|
|
|
|
HTML_DIR = $(docdir)/html
|
|
|
|
modules = \
|
|
libvirt-common \
|
|
libvirt-domain \
|
|
libvirt-domain-checkpoint \
|
|
libvirt-domain-snapshot \
|
|
libvirt-event \
|
|
libvirt-host \
|
|
libvirt-interface \
|
|
libvirt-network \
|
|
libvirt-nodedev \
|
|
libvirt-nwfilter \
|
|
libvirt-secret \
|
|
libvirt-storage \
|
|
libvirt-stream \
|
|
virterror \
|
|
$(NULL)
|
|
|
|
apihtml = \
|
|
html/index.html \
|
|
$(apihtml_generated)
|
|
|
|
apihtml_generated = \
|
|
$(addprefix html/libvirt-,$(addsuffix .html,$(modules))) \
|
|
$(NULL)
|
|
|
|
apipng = \
|
|
html/left.png \
|
|
html/up.png \
|
|
html/home.png \
|
|
html/right.png
|
|
|
|
css = \
|
|
generic.css \
|
|
libvirt.css \
|
|
mobile.css \
|
|
main.css
|
|
|
|
javascript = \
|
|
js/main.js \
|
|
$(NULL)
|
|
|
|
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
|
|
|
|
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
|
|
|
|
png = \
|
|
32favicon.png \
|
|
libvirt-daemon-arch.png \
|
|
libvirt-driver-arch.png \
|
|
libvirt-object-model.png \
|
|
migration-managed-direct.png \
|
|
migration-managed-p2p.png \
|
|
migration-native.png \
|
|
migration-tunnel.png \
|
|
migration-unmanaged-direct.png
|
|
|
|
gif = \
|
|
architecture.gif \
|
|
node.gif
|
|
|
|
|
|
internals_html_in = \
|
|
$(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/internals/*.html.in))
|
|
internals_html = $(internals_html_in:%.html.in=%.html)
|
|
|
|
kbase_html_in = \
|
|
$(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/kbase/*.html.in))
|
|
kbase_html = $(kbase_html_in:%.html.in=%.html)
|
|
|
|
# Since we ship pre-built html in the tarball, we must also
|
|
# ship the sources, even when those sources are themselves
|
|
# generated.
|
|
# Generate hvsupport.html and news.html first, since they take one extra step.
|
|
dot_html_in = \
|
|
hvsupport.html.in \
|
|
news.html.in \
|
|
$(notdir $(wildcard $(srcdir)/*.html.in))
|
|
dot_html = $(dot_html_in:%.html.in=%.html)
|
|
|
|
xml = \
|
|
libvirt-api.xml \
|
|
libvirt-refs.xml
|
|
|
|
qemu_xml = \
|
|
libvirt-qemu-api.xml \
|
|
libvirt-qemu-refs.xml
|
|
|
|
lxc_xml = \
|
|
libvirt-lxc-api.xml \
|
|
libvirt-lxc-refs.xml
|
|
|
|
admin_xml = \
|
|
libvirt-admin-api.xml \
|
|
libvirt-admin-refs.xml
|
|
|
|
apidir = $(pkgdatadir)/api
|
|
api_DATA = \
|
|
libvirt-api.xml \
|
|
libvirt-qemu-api.xml \
|
|
libvirt-lxc-api.xml \
|
|
libvirt-admin-api.xml
|
|
|
|
fig = \
|
|
libvirt-daemon-arch.fig \
|
|
libvirt-driver-arch.fig \
|
|
libvirt-object-model.fig \
|
|
migration-managed-direct.fig \
|
|
migration-managed-p2p.fig \
|
|
migration-native.fig \
|
|
migration-tunnel.fig \
|
|
migration-unmanaged-direct.fig
|
|
|
|
schemadir = $(pkgdatadir)/schemas
|
|
schema_DATA = $(wildcard $(srcdir)/schemas/*.rng)
|
|
|
|
EXTRA_DIST= \
|
|
apibuild.py genaclperms.pl \
|
|
site.xsl subsite.xsl newapi.xsl page.xsl \
|
|
wrapstring.xsl \
|
|
$(dot_html) $(dot_html_in) $(gif) $(apihtml) $(apipng) \
|
|
$(xml) $(qemu_xml) $(lxc_xml) $(admin_xml) $(fig) $(png) $(css) \
|
|
$(javascript) $(logofiles) \
|
|
$(internals_html_in) $(internals_html) $(fonts) \
|
|
$(kbase_html_in) $(kbase_html) \
|
|
aclperms.htmlinc \
|
|
hvsupport.pl \
|
|
$(schema_DATA)
|
|
|
|
acl_generated = aclperms.htmlinc
|
|
|
|
$(srcdir)/aclperms.htmlinc: $(top_srcdir)/src/access/viraccessperm.h \
|
|
$(srcdir)/genaclperms.pl Makefile.am
|
|
$(AM_V_GEN)$(PERL) $(srcdir)/genaclperms.pl $< > $@
|
|
|
|
MAINTAINERCLEANFILES = \
|
|
$(addprefix $(srcdir)/,$(dot_html)) \
|
|
$(addprefix $(srcdir)/,$(apihtml)) \
|
|
$(addprefix $(srcdir)/,$(internals_html)) \
|
|
$(addprefix $(srcdir)/,$(kbase_html)) \
|
|
$(srcdir)/hvsupport.html.in $(srcdir)/aclperms.htmlinc
|
|
|
|
timestamp="$(shell if test -n "$$SOURCE_DATE_EPOCH"; \
|
|
then \
|
|
date -u --date="@$$SOURCE_DATE_EPOCH"; \
|
|
else \
|
|
date -u; \
|
|
fi)"
|
|
|
|
all-am: web
|
|
|
|
api: $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml
|
|
qemu_api: $(srcdir)/libvirt-qemu-api.xml $(srcdir)/libvirt-qemu-refs.xml
|
|
lxc_api: $(srcdir)/libvirt-lxc-api.xml $(srcdir)/libvirt-lxc-refs.xml
|
|
admin_api: $(srcdir)/libvirt-admin-api.xml $(srcdir)/libvirt-admin-refs.xml
|
|
|
|
web: $(dot_html) $(internals_html) $(kbase_html) \
|
|
html/index.html
|
|
|
|
hvsupport.html: $(srcdir)/hvsupport.html.in
|
|
|
|
$(srcdir)/hvsupport.html.in: $(srcdir)/hvsupport.pl $(api_DATA) \
|
|
$(top_srcdir)/src/libvirt_public.syms \
|
|
$(top_srcdir)/src/libvirt_qemu.syms $(top_srcdir)/src/libvirt_lxc.syms \
|
|
$(top_srcdir)/src/driver.h
|
|
$(AM_V_GEN)$(PERL) $(srcdir)/hvsupport.pl $(top_srcdir)/src > $@ \
|
|
|| { rm $@ && exit 1; }
|
|
|
|
news.html.in: \
|
|
$(srcdir)/news.xml \
|
|
$(srcdir)/news-html.xsl
|
|
$(AM_V_GEN)$(XSLTPROC) --nonet \
|
|
$(srcdir)/news-html.xsl \
|
|
$(srcdir)/news.xml \
|
|
>$@ \
|
|
|| { rm -f $@; exit 1; };
|
|
EXTRA_DIST += \
|
|
$(srcdir)/news.xml \
|
|
$(srcdir)/news.rng \
|
|
$(srcdir)/news-html.xsl
|
|
MAINTAINERCLEANFILES += \
|
|
$(srcdir)/news.html.in
|
|
|
|
%.png: %.fig
|
|
convert -rotate 90 $< $@
|
|
|
|
%.html.tmp: %.html.in site.xsl subsite.xsl page.xsl \
|
|
$(acl_generated)
|
|
$(AM_V_GEN)name=`echo $@ | sed -e 's/.tmp//'`; \
|
|
dir=`dirname $@` ; \
|
|
if test "$$dir" = "."; \
|
|
then \
|
|
style=site.xsl; \
|
|
else \
|
|
$(MKDIR_P) $$dir; \
|
|
style=subsite.xsl; \
|
|
fi; \
|
|
$(XSLTPROC) --stringparam pagename $$name \
|
|
--stringparam timestamp $(timestamp) --nonet \
|
|
$(top_srcdir)/docs/$$style $< > $@ \
|
|
|| { rm $@ && exit 1; }
|
|
|
|
%.html: %.html.tmp
|
|
$(AM_V_GEN)$(XMLLINT) --nonet --format $< > $(srcdir)/$@ \
|
|
|| { rm $(srcdir)/$@ && exit 1; }
|
|
|
|
$(apihtml_generated): html/index.html
|
|
|
|
html/index.html: libvirt-api.xml newapi.xsl page.xsl $(APIBUILD_STAMP)
|
|
$(AM_V_GEN)$(XSLTPROC) --nonet -o $(srcdir)/ \
|
|
--stringparam builddir '$(abs_top_builddir)' \
|
|
--stringparam timestamp $(timestamp) \
|
|
$(srcdir)/newapi.xsl $(srcdir)/libvirt-api.xml && \
|
|
$(XMLLINT) --nonet --noout $(srcdir)/html/*.html
|
|
|
|
python_generated_files = \
|
|
$(srcdir)/html/libvirt-libvirt-lxc.html \
|
|
$(srcdir)/html/libvirt-libvirt-qemu.html \
|
|
$(srcdir)/html/libvirt-libvirt-admin.html \
|
|
$(srcdir)/html/libvirt-virterror.html \
|
|
$(srcdir)/libvirt-api.xml \
|
|
$(srcdir)/libvirt-refs.xml \
|
|
$(srcdir)/libvirt-lxc-api.xml \
|
|
$(srcdir)/libvirt-lxc-refs.xml \
|
|
$(srcdir)/libvirt-qemu-api.xml \
|
|
$(srcdir)/libvirt-qemu-refs.xml \
|
|
$(srcdir)/libvirt-admin-api.xml \
|
|
$(srcdir)/libvirt-admin-refs.xml \
|
|
$(NULL)
|
|
|
|
APIBUILD=$(srcdir)/apibuild.py
|
|
APIBUILD_STAMP=$(APIBUILD).stamp
|
|
EXTRA_DIST += $(APIBUILD_STAMP)
|
|
|
|
$(python_generated_files): $(APIBUILD_STAMP)
|
|
|
|
$(APIBUILD_STAMP): $(srcdir)/apibuild.py \
|
|
$(top_srcdir)/include/libvirt/libvirt.h \
|
|
$(top_srcdir)/include/libvirt/libvirt-common.h.in \
|
|
$(top_srcdir)/include/libvirt/libvirt-domain-checkpoint.h \
|
|
$(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 \
|
|
$(top_srcdir)/include/libvirt/libvirt-admin.h \
|
|
$(top_srcdir)/include/libvirt/virterror.h \
|
|
$(top_srcdir)/src/libvirt.c \
|
|
$(top_srcdir)/src/libvirt-domain-checkpoint.c \
|
|
$(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 \
|
|
$(top_srcdir)/src/libvirt-lxc.c \
|
|
$(top_srcdir)/src/libvirt-qemu.c \
|
|
$(top_srcdir)/src/libvirt-admin.c \
|
|
$(top_srcdir)/src/util/virerror.c \
|
|
$(top_srcdir)/src/util/virevent.c \
|
|
$(top_srcdir)/src/util/virtypedparam.c
|
|
$(AM_V_GEN)srcdir=$(srcdir) builddir=$(builddir) $(PYTHON) $(APIBUILD)
|
|
touch $@
|
|
|
|
|
|
check-local: all
|
|
dist-local: all
|
|
|
|
clean-local:
|
|
rm -f *~ *.bak *.hierarchy *.signals *-unused.txt *.html html/*.html
|
|
|
|
maintainer-clean-local: clean-local
|
|
rm -rf $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml
|
|
rm -rf $(srcdir)/libvirt-qemu-api.xml $(srcdir)/libvirt-qemu-refs.xml
|
|
rm -rf $(srcdir)/libvirt-lxc-api.xml $(srcdir)/libvirt-lxc-refs.xml
|
|
rm -rf $(srcdir)/libvirt-admin-api.xml $(srcdir)/libvirt-admin-refs.xml
|
|
rm -rf $(APIBUILD_STAMP)
|
|
|
|
rebuild: api qemu_api lxc_api admin_api all
|
|
|
|
install-data-local:
|
|
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
|
|
for f in $(css) $(dot_html) $(gif) $(png); do \
|
|
$(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR); done
|
|
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/js
|
|
for f in $(javascript); do \
|
|
$(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/js/; done
|
|
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/logos
|
|
for f in $(logofiles); do \
|
|
$(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/logos; done
|
|
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/html
|
|
for h in $(apihtml); do \
|
|
$(INSTALL) -m 0644 $(srcdir)/$$h $(DESTDIR)$(HTML_DIR)/html; done
|
|
for p in $(apipng); do \
|
|
$(INSTALL) -m 0644 $(srcdir)/$$p $(DESTDIR)$(HTML_DIR)/html; done
|
|
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/internals
|
|
for f in $(internals_html); do \
|
|
$(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/internals; done
|
|
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/kbase
|
|
for f in $(kbase_html); do \
|
|
$(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/kbase; done
|
|
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/fonts
|
|
for f in $(fonts); do \
|
|
$(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/fonts; \
|
|
done
|
|
|
|
uninstall-local:
|
|
for f in $(css) $(dot_html) $(gif) $(png) $(fonts); do \
|
|
rm -f $(DESTDIR)$(HTML_DIR)/$$f; \
|
|
done
|
|
for f in $(logofiles); do \
|
|
rm -f $(DESTDIR)$(HTML_DIR)/$$f; \
|
|
done
|
|
for f in $(javascript); do \
|
|
rm -f $(DESTDIR)$(HTML_DIR)/$$f; \
|
|
done
|
|
for h in $(apihtml); do rm -f $(DESTDIR)$(HTML_DIR)/$$h; done
|
|
for p in $(apipng); do rm -f $(DESTDIR)$(HTML_DIR)/$$p; done
|
|
for f in $(internals_html); do \
|
|
rm -f $(DESTDIR)$(HTML_DIR)/$$f; \
|
|
done
|
|
for f in $(kbase_html); do \
|
|
rm -f $(DESTDIR)$(HTML_DIR)/$$f; \
|
|
done
|