mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-31 18:33:11 +00:00
49c6fe6201
There is plenty of distributions that haven't switched to systemd nor they force their users to (Gentoo, Alpine Linux to name a few). With the daemon split merged their only option is to still use the monolithic daemon which will go away eventually. Provide init scripts for these distros too. For now, I'm not introducing config files which would correspond to the init files except for libvirtd and virtproxyd init scripts where it might be desirable to tweak the command line of corresponding daemons. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
711 lines
20 KiB
Makefile
711 lines
20 KiB
Makefile
## Process this file with automake to produce Makefile.in
|
|
|
|
## Copyright (C) 2005-2018 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/>.
|
|
|
|
# No libraries with the exception of LIBXML should be listed
|
|
# here. List them against the individual XXX_la_CFLAGS targets
|
|
# that actually use them.
|
|
AM_CPPFLAGS = -I../gnulib/lib \
|
|
-I$(top_srcdir)/gnulib/lib \
|
|
-I$(top_srcdir) \
|
|
-I../include \
|
|
-I$(top_srcdir)/include \
|
|
-I$(srcdir)/util \
|
|
-I./util \
|
|
-DIN_LIBVIRT \
|
|
-Dabs_top_builddir="\"$(abs_top_builddir)\"" \
|
|
-Dabs_top_srcdir="\"$(abs_top_srcdir)\"" \
|
|
$(NULL)
|
|
|
|
WARN_CFLAGS += $(STRICT_FRAME_LIMIT_CFLAGS)
|
|
|
|
AM_CFLAGS = $(LIBXML_CFLAGS) \
|
|
$(GLIB_CFLAGS) \
|
|
$(WARN_CFLAGS) \
|
|
$(LOCK_CHECKING_CFLAGS) \
|
|
$(WIN32_EXTRA_CFLAGS) \
|
|
$(COVERAGE_CFLAGS) \
|
|
$(NULL)
|
|
AM_LDFLAGS = $(DRIVER_MODULES_LDFLAGS) \
|
|
$(COVERAGE_LDFLAGS) \
|
|
$(RELRO_LDFLAGS) \
|
|
$(NO_INDIRECT_LDFLAGS) \
|
|
$(CYGWIN_EXTRA_LDFLAGS) \
|
|
$(MINGW_EXTRA_LDFLAGS) \
|
|
$(NULL)
|
|
AM_LDFLAGS_MOD = \
|
|
-module \
|
|
-avoid-version \
|
|
$(LIBVIRT_NODELETE) \
|
|
$(AM_LDFLAGS)
|
|
AM_LDFLAGS_MOD_NOUNDEF = $(AM_LDFLAGS_MOD) $(NO_UNDEFINED_LDFLAGS)
|
|
|
|
EXTRA_DIST = $(conf_DATA)
|
|
|
|
BUILT_SOURCES =
|
|
CLEANFILES =
|
|
DISTCLEANFILES =
|
|
MAINTAINERCLEANFILES =
|
|
nodist_conf_DATA =
|
|
DRIVER_SOURCE_FILES =
|
|
STATEFUL_DRIVER_SOURCE_FILES =
|
|
lib_LTLIBRARIES =
|
|
noinst_LTLIBRARIES =
|
|
mod_LTLIBRARIES =
|
|
INSTALL_DATA_DIRS =
|
|
INSTALL_DATA_LOCAL =
|
|
UNINSTALL_LOCAL =
|
|
libvirt_la_BUILT_LIBADD =
|
|
SYM_FILES =
|
|
USED_SYM_FILES =
|
|
GENERATED_SYM_FILES =
|
|
augeas_DATA =
|
|
augeastest_DATA =
|
|
conf_DATA =
|
|
if WITH_DTRACE_PROBES
|
|
tapset_DATA =
|
|
endif WITH_DTRACE_PROBES
|
|
libexec_PROGRAMS =
|
|
RPC_PROBE_FILES =
|
|
LOGROTATE_FILES_IN =
|
|
SYSTEMD_UNIT_FILES =
|
|
SYSTEMD_UNIT_FILES_IN =
|
|
OPENRC_INIT_FILES =
|
|
OPENRC_INIT_FILES_IN =
|
|
OPENRC_CONF_FILES =
|
|
SYSCONF_FILES =
|
|
sbin_PROGRAMS =
|
|
DRIVER_SOURCES =
|
|
|
|
COMMON_UNIT_VARS = \
|
|
-e 's|[@]runstatedir[@]|$(runstatedir)|g' \
|
|
-e 's|[@]sbindir[@]|$(sbindir)|g' \
|
|
-e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
|
|
$(NULL)
|
|
|
|
# Set these variables before we include any of the subdirs as libvirt-admin.la
|
|
# has to be installed after libvirt.la.
|
|
lib_LTLIBRARIES += libvirt.la libvirt-qemu.la libvirt-lxc.la
|
|
|
|
include util/Makefile.inc.am
|
|
include conf/Makefile.inc.am
|
|
include cpu/Makefile.inc.am
|
|
include cpu_map/Makefile.inc.am
|
|
include security/Makefile.inc.am
|
|
include access/Makefile.inc.am
|
|
include logging/Makefile.inc.am
|
|
include locking/Makefile.inc.am
|
|
include admin/Makefile.inc.am
|
|
include rpc/Makefile.inc.am
|
|
include phyp/Makefile.inc.am
|
|
include test/Makefile.inc.am
|
|
include esx/Makefile.inc.am
|
|
include hyperv/Makefile.inc.am
|
|
include vmx/Makefile.inc.am
|
|
include vmware/Makefile.inc.am
|
|
include vbox/Makefile.inc.am
|
|
include openvz/Makefile.inc.am
|
|
include qemu/Makefile.inc.am
|
|
include bhyve/Makefile.inc.am
|
|
include libxl/Makefile.inc.am
|
|
include vz/Makefile.inc.am
|
|
include lxc/Makefile.inc.am
|
|
include interface/Makefile.inc.am
|
|
include network/Makefile.inc.am
|
|
include nwfilter/Makefile.inc.am
|
|
include node_device/Makefile.inc.am
|
|
include secret/Makefile.inc.am
|
|
include storage/Makefile.inc.am
|
|
include remote/Makefile.inc.am
|
|
|
|
|
|
THREAD_LIBS = $(LIB_PTHREAD) $(LTLIBMULTITHREAD)
|
|
|
|
SECDRIVER_CFLAGS =
|
|
SECDRIVER_LIBS =
|
|
if WITH_SECDRIVER_SELINUX
|
|
SECDRIVER_CFLAGS += $(SELINUX_CFLAGS)
|
|
SECDRIVER_LIBS += $(SELINUX_LIBS)
|
|
endif WITH_SECDRIVER_SELINUX
|
|
if WITH_SECDRIVER_APPARMOR
|
|
SECDRIVER_CFLAGS += $(APPARMOR_CFLAGS)
|
|
SECDRIVER_LIBS += $(APPARMOR_LIBS)
|
|
endif WITH_SECDRIVER_APPARMOR
|
|
|
|
|
|
moddir = $(libdir)/libvirt/connection-driver
|
|
|
|
confdir = $(sysconfdir)/libvirt
|
|
conf_DATA += libvirt.conf
|
|
|
|
CLEANFILES += $(nodist_conf_DATA)
|
|
BUILT_SOURCES += $(nodist_conf_DATA)
|
|
|
|
augeasdir = $(datadir)/augeas/lenses
|
|
|
|
augeastestdir = $(datadir)/augeas/lenses/tests
|
|
|
|
CLEANFILES += $(augeastest_DATA)
|
|
|
|
# Internal generic driver infrastructure
|
|
DATATYPES_SOURCES = datatypes.h datatypes.c
|
|
DRIVER_SOURCES += \
|
|
driver.c driver.h \
|
|
driver-hypervisor.h \
|
|
driver-interface.h \
|
|
driver-network.h \
|
|
driver-nodedev.h \
|
|
driver-nwfilter.h \
|
|
driver-secret.h \
|
|
driver-state.h \
|
|
driver-storage.h \
|
|
driver-stream.h \
|
|
internal.h \
|
|
$(DATATYPES_SOURCES) \
|
|
libvirt.c libvirt_internal.h \
|
|
libvirt-domain.c \
|
|
libvirt-domain-checkpoint.c \
|
|
libvirt-domain-snapshot.c \
|
|
libvirt-host.c \
|
|
libvirt-interface.c \
|
|
libvirt-network.c \
|
|
libvirt-nodedev.c \
|
|
libvirt-nwfilter.c \
|
|
libvirt-secret.c \
|
|
libvirt-storage.c \
|
|
libvirt-stream.c \
|
|
$(NULL)
|
|
|
|
|
|
|
|
|
|
# .libs/libvirt.so is built by libtool as a side-effect of the Makefile
|
|
# rule for libvirt.la. However, checking symbols relies on Linux ELF layout
|
|
if WITH_LINUX
|
|
check-symfile: libvirt.syms libvirt.la
|
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(top_srcdir)/scripts/check-symfile.py \
|
|
libvirt.syms .libs/libvirt.so
|
|
else ! WITH_LINUX
|
|
check-symfile:
|
|
endif ! WITH_LINUX
|
|
check-symsorting:
|
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(top_srcdir)/scripts/check-symsorting.py \
|
|
$(srcdir) $(SYM_FILES)
|
|
|
|
# Keep this list synced with RPC_PROBE_FILES
|
|
PROTOCOL_STRUCTS = \
|
|
$(srcdir)/remote_protocol-structs \
|
|
$(srcdir)/lxc_protocol-structs \
|
|
$(srcdir)/qemu_protocol-structs \
|
|
$(srcdir)/virnetprotocol-structs \
|
|
$(srcdir)/virkeepaliveprotocol-structs \
|
|
$(srcdir)/lxc_monitor_protocol-structs \
|
|
$(srcdir)/lock_protocol-structs \
|
|
$(srcdir)/admin_protocol-structs \
|
|
$(NULL)
|
|
|
|
if WITH_REMOTE
|
|
check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)
|
|
|
|
# Ensure that we don't change the struct or member names or member ordering
|
|
# in remote_protocol.x The check-remote-protocol.py script post-processes
|
|
# output to extract the bits we want.
|
|
|
|
CHECK_REMOTE_PROTOCOL = $(top_srcdir)/scripts/check-remote-protocol.py
|
|
|
|
# The .o file that pdwtags parses is created as a side effect of running
|
|
# libtool; but from make's perspective we depend on the .lo file.
|
|
$(srcdir)/remote_protocol-struct \
|
|
$(srcdir)/qemu_protocol-struct \
|
|
$(srcdir)/lxc_protocol-struct: \
|
|
$(srcdir)/%-struct: remote/libvirt_driver_remote_la-%.lo
|
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(CHECK_REMOTE_PROTOCOL) \
|
|
"$(CC)" "$(OBJEXT)" $< $(@)s
|
|
$(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \
|
|
$(srcdir)/%-struct: rpc/libvirt_net_rpc_la-%.lo
|
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(CHECK_REMOTE_PROTOCOL) \
|
|
"$(CC)" "$(OBJEXT)" $< $(@)s
|
|
if WITH_LXC
|
|
$(srcdir)/lxc_monitor_protocol-struct: \
|
|
$(srcdir)/%-struct: lxc/libvirt_driver_lxc_impl_la-%.lo
|
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(CHECK_REMOTE_PROTOCOL) \
|
|
"$(CC)" "$(OBJEXT)" $< $(@)s
|
|
endif WITH_LXC
|
|
$(srcdir)/lock_protocol-struct: \
|
|
$(srcdir)/%-struct: locking/lockd_la-%.lo
|
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(CHECK_REMOTE_PROTOCOL) \
|
|
"$(CC)" "$(OBJEXT)" $< $(@)s
|
|
$(srcdir)/admin_protocol-struct: \
|
|
$(srcdir)/%-struct: admin/libvirt_admin_la-%.lo
|
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(CHECK_REMOTE_PROTOCOL) \
|
|
"$(CC)" "$(OBJEXT)" $< $(@)s
|
|
|
|
else !WITH_REMOTE
|
|
# The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be
|
|
# re-generated when configured --without-remote.
|
|
check-protocol:
|
|
endif !WITH_REMOTE
|
|
EXTRA_DIST += $(PROTOCOL_STRUCTS)
|
|
|
|
DRIVERS = \
|
|
$(srcdir)/driver-hypervisor.h \
|
|
$(srcdir)/driver-interface.h \
|
|
$(srcdir)/driver-network.h \
|
|
$(srcdir)/driver-nodedev.h \
|
|
$(srcdir)/driver-nwfilter.h \
|
|
$(srcdir)/driver-secret.h \
|
|
$(srcdir)/driver-state.h \
|
|
$(srcdir)/driver-storage.h \
|
|
$(srcdir)/driver-stream.h \
|
|
$(NULL)
|
|
|
|
check-drivername:
|
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(top_srcdir)/scripts/check-drivername.py \
|
|
$(DRIVERS) \
|
|
$(srcdir)/libvirt_public.syms \
|
|
$(srcdir)/libvirt_qemu.syms \
|
|
$(srcdir)/libvirt_lxc.syms
|
|
|
|
check-driverimpls:
|
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(top_srcdir)/scripts/check-driverimpls.py \
|
|
$(DRIVER_SOURCE_FILES)
|
|
|
|
check-aclrules:
|
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(top_srcdir)/scripts/check-aclrules.py \
|
|
$(REMOTE_PROTOCOL) \
|
|
$(STATEFUL_DRIVER_SOURCE_FILES)
|
|
|
|
check-aclperms:
|
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(top_srcdir)/scripts/check-aclperms.py \
|
|
$(srcdir)/access/viraccessperm.h \
|
|
$(srcdir)/access/viraccessperm.c
|
|
|
|
check-local: check-protocol check-symfile check-symsorting \
|
|
check-drivername check-driverimpls check-aclrules \
|
|
check-aclperms check-admin
|
|
.PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
|
|
|
|
|
|
#########################
|
|
#
|
|
# Build up list of libvirt.la source files based on configure conditions
|
|
#
|
|
# First deal with sources usable in non-daemon context
|
|
|
|
|
|
noinst_LTLIBRARIES += libvirt_driver.la
|
|
libvirt_la_BUILT_LIBADD += libvirt_driver.la
|
|
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
|
|
|
|
libvirt_driver_la_CFLAGS = \
|
|
$(GNUTLS_CFLAGS) $(CURL_CFLAGS) $(XDR_CFLAGS) \
|
|
-I$(srcdir)/conf $(AM_CFLAGS)
|
|
libvirt_driver_la_LIBADD = \
|
|
$(GNUTLS_LIBS) $(CURL_LIBS) $(DLOPEN_LIBS)
|
|
|
|
# All .syms files should be placed in exactly one of these three lists,
|
|
# depending on whether they are stored in git and/or used in the build.
|
|
SYM_FILES += $(USED_SYM_FILES)
|
|
USED_SYM_FILES += $(srcdir)/libvirt_private.syms
|
|
GENERATED_SYM_FILES += \
|
|
libvirt.syms libvirt.def libvirt_qemu.def libvirt_lxc.def \
|
|
$(NULL)
|
|
|
|
|
|
|
|
%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
|
|
$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
|
|
$< $(subst $(srcdir)/,,$@)
|
|
|
|
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
|
|
$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
|
|
$< $(subst $(srcdir)/,,$@)
|
|
|
|
check-local: check-augeas
|
|
|
|
check-augeas: $(augeas_DATA) $(augeastest_DATA)
|
|
$(AM_V_GEN) \
|
|
if test -x "$(AUGPARSE)"; then \
|
|
for f in $(augeastest_DATA); do \
|
|
DIR=$$(dirname "$$f"); \
|
|
FILE=$$(basename "$$f"); \
|
|
"$(AUGPARSE)" \
|
|
-I "$(srcdir)/$$DIR" -I "$(builddir)/$$DIR" \
|
|
"$$DIR/$$FILE"; \
|
|
done; \
|
|
fi
|
|
.PHONY: check-augeas
|
|
|
|
AUG_GENTEST_SCRIPT = $(top_srcdir)/scripts/augeas-gentest.py
|
|
AUG_GENTEST = $(RUNUTF8) $(PYTHON) $(AUG_GENTEST_SCRIPT)
|
|
|
|
|
|
#
|
|
# Build our version script. This is composed of three parts:
|
|
#
|
|
# 1. libvirt_public.syms - public API. These functions are always
|
|
# present in the library and should never change incompatibly.
|
|
#
|
|
# 2. libvirt_private.syms - private API. These symbols are private and
|
|
# semantics may change on every release, hence the version number is
|
|
# spliced in at build time. This ensures that if libvirtd, virsh, or a
|
|
# driver module was built against one libvirt release, it will refuse to
|
|
# load with another where symbols may have same names but different
|
|
# semantics. Such symbols should never be visible in an (installed)
|
|
# public header file.
|
|
#
|
|
# 3. libvirt_*.syms - dynamic private API. Like libvirt_private.syms,
|
|
# except that build options (such as --enable-debug) can mean these
|
|
# symbols aren't present at all.
|
|
#
|
|
|
|
USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
|
|
|
|
if WITH_LINUX
|
|
USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
|
|
else ! WITH_LINUX
|
|
SYM_FILES += $(srcdir)/libvirt_linux.syms
|
|
endif ! WITH_LINUX
|
|
|
|
if WITH_SASL
|
|
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
|
|
else ! WITH_SASL
|
|
SYM_FILES += $(srcdir)/libvirt_sasl.syms
|
|
endif ! WITH_SASL
|
|
|
|
if WITH_SSH2
|
|
USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
|
|
else ! WITH_SSH2
|
|
SYM_FILES += $(srcdir)/libvirt_libssh2.syms
|
|
endif ! WITH_SSH2
|
|
|
|
if WITH_ATOMIC_OPS_PTHREAD
|
|
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
|
|
else ! WITH_ATOMIC_OPS_PTHREAD
|
|
SYM_FILES += $(srcdir)/libvirt_atomic.syms
|
|
endif ! WITH_ATOMIC_OPS_PTHREAD
|
|
|
|
if WITH_LIBSSH
|
|
USED_SYM_FILES += $(srcdir)/libvirt_libssh.syms
|
|
else ! WITH_LIBSSH
|
|
SYM_FILES += $(srcdir)/libvirt_libssh.syms
|
|
endif ! WITH_LIBSSH
|
|
|
|
EXTRA_DIST += \
|
|
libvirt_public.syms \
|
|
libvirt_lxc.syms \
|
|
libvirt_qemu.syms \
|
|
$(SYM_FILES) \
|
|
$(NULL)
|
|
|
|
BUILT_SOURCES += $(GENERATED_SYM_FILES)
|
|
|
|
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
|
|
$(ACCESS_DRIVER_SYM_FILES) \
|
|
$(top_builddir)/config.status
|
|
$(AM_V_GEN)rm -f $@-tmp $@ ; \
|
|
printf '# WARNING: generated from the following:\n# $^\n\n' >$@-tmp && \
|
|
cat $(srcdir)/libvirt_public.syms >>$@-tmp && \
|
|
printf '\n\n# Private symbols\n\n' >>$@-tmp && \
|
|
printf 'LIBVIRT_PRIVATE_$(VERSION) {\n\n' >>$@-tmp && \
|
|
printf 'global:\n\n' >>$@-tmp && \
|
|
cat $(USED_SYM_FILES) $(ACCESS_DRIVER_SYM_FILES) >>$@-tmp && \
|
|
printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
|
|
chmod a-w $@-tmp && \
|
|
mv $@-tmp libvirt.syms
|
|
|
|
%.def: %.syms
|
|
$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
|
|
printf 'EXPORTS\n' > $@-tmp && \
|
|
sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d' \
|
|
-e 's/[ ]*\(.*\)\;/ \1/g' $^ >> $@-tmp && \
|
|
chmod a-w $@-tmp && \
|
|
mv $@-tmp $@
|
|
|
|
# Empty source list - it merely links a bunch of convenience libs together
|
|
libvirt_la_SOURCES =
|
|
libvirt_la_LDFLAGS = \
|
|
$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
|
|
-version-info $(LIBVIRT_VERSION_INFO) \
|
|
$(LIBVIRT_NODELETE) \
|
|
$(NO_UNDEFINED_LDFLAGS) \
|
|
$(AM_LDFLAGS)
|
|
if WITH_MACOS
|
|
# macOS has two-level namespaces by default.
|
|
# Override it to allow symbol replacement with DYLD_INSERT_LIBRARIES
|
|
libvirt_la_LDFLAGS += -Wl,-flat_namespace
|
|
endif WITH_MACOS
|
|
libvirt_la_LDFLAGS += $(NULL)
|
|
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
|
|
libvirt_la_LIBADD += \
|
|
$(DRIVER_MODULES_LIBS) \
|
|
$(CYGWIN_EXTRA_LIBADD)
|
|
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
|
|
# Because we specify libvirt_la_DEPENDENCIES for $(LIBVIRT_SYMBOL_FILE), we
|
|
# lose automake's automatic dependencies on an appropriate subset of
|
|
# $(libvirt_la_LIBADD). But we were careful to create
|
|
# $(libvirt_la_BUILT_LIBADD) as the subset that automake would have
|
|
# picked out for us.
|
|
libvirt_la_DEPENDENCIES = $(libvirt_la_BUILT_LIBADD) $(LIBVIRT_SYMBOL_FILE)
|
|
|
|
if WITH_DTRACE_PROBES
|
|
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
|
|
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
|
|
nodist_libvirt_la_SOURCES = libvirt_probes.h
|
|
|
|
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp
|
|
|
|
|
|
tapsetdir = $(datadir)/systemtap/tapset
|
|
tapset_DATA += libvirt_probes.stp libvirt_functions.stp
|
|
|
|
%_probes.h: %_probes.d
|
|
$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<
|
|
|
|
.PRECIOUS: %_probes.o
|
|
%_probes.o: %_probes.d
|
|
$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<
|
|
|
|
%_probes.lo: %_probes.o
|
|
$(AM_V_GEN)printf %s\\n \
|
|
'# $@ - a libtool object file' \
|
|
'# Generated by libtool (GNU libtool) 2.4' \
|
|
'# Actually generated by Makefile.am, in order to shut up libtool' \
|
|
"pic_object='$<'" \
|
|
"non_pic_object='$<'" \
|
|
> $@
|
|
|
|
# Keep this list synced with PROTOCOL_STRUCTS
|
|
RPC_PROBE_FILES += $(srcdir)/rpc/virnetprotocol.x \
|
|
$(srcdir)/rpc/virkeepaliveprotocol.x \
|
|
$(srcdir)/remote/remote_protocol.x \
|
|
$(srcdir)/remote/lxc_protocol.x \
|
|
$(srcdir)/remote/qemu_protocol.x \
|
|
$(srcdir)/admin/admin_protocol.x
|
|
|
|
libvirt_functions.stp: $(RPC_PROBE_FILES) $(top_srcdir)/scripts/gensystemtap.py
|
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(top_srcdir)/scripts/gensystemtap.py \
|
|
$(RPC_PROBE_FILES) > $@
|
|
|
|
%_probes.stp: %_probes.d $(top_srcdir)/scripts/dtrace2systemtap.py \
|
|
$(top_builddir)/config.status
|
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(top_srcdir)/scripts/dtrace2systemtap.py \
|
|
$(bindir) $(sbindir) $(libdir) $< > $@
|
|
|
|
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
|
|
libvirt_functions.stp libvirt_probes.stp
|
|
endif WITH_DTRACE_PROBES
|
|
|
|
EXTRA_DIST += libvirt_probes.d
|
|
|
|
libvirt_qemu_la_SOURCES = libvirt-qemu.c
|
|
libvirt_qemu_la_LDFLAGS = \
|
|
$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
|
|
-version-info $(LIBVIRT_VERSION_INFO) \
|
|
$(LIBVIRT_NODELETE) \
|
|
$(AM_LDFLAGS) \
|
|
$(NULL)
|
|
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
|
|
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
|
|
|
|
libvirt_lxc_la_SOURCES = libvirt-lxc.c
|
|
libvirt_lxc_la_LDFLAGS = \
|
|
$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_LXC_SYMBOL_FILE) \
|
|
-version-info $(LIBVIRT_VERSION_INFO) \
|
|
$(LIBVIRT_NODELETE) \
|
|
$(AM_LDFLAGS) \
|
|
$(NULL)
|
|
libvirt_lxc_la_CFLAGS = $(AM_CFLAGS)
|
|
libvirt_lxc_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
|
|
|
|
EXTRA_DIST += \
|
|
$(SYSCONF_FILES) \
|
|
$(OPENRC_CONF_FILES)
|
|
|
|
install-sysconfig:
|
|
$(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
|
|
for f in $(SYSCONF_FILES:%.sysconf=%) ; \
|
|
do \
|
|
tgt=`basename $$f`; \
|
|
$(INSTALL_DATA) $(srcdir)/$$f.sysconf \
|
|
$(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \
|
|
done
|
|
|
|
uninstall-sysconfig:
|
|
for f in $(SYSCONF_FILES:%.sysconf=%) ; \
|
|
do \
|
|
tgt=`basename $$f`; \
|
|
rm -f $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \
|
|
done
|
|
rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
|
|
|
|
OPENRC_CONF_DIR = $(sysconfdir)/conf.d
|
|
|
|
install-openrc-conf:
|
|
$(MKDIR_P) $(DESTDIR)$(OPENRC_CONF_DIR)
|
|
for f in $(OPENRC_CONF_FILES:%.confd=%) ; \
|
|
do \
|
|
tgt=`basename $$f`; \
|
|
$(INSTALL_DATA) $(srcdir)/$$f.confd \
|
|
$(DESTDIR)$(OPENRC_CONF_DIR)/$$tgt; \
|
|
done
|
|
|
|
uninstall-openrc-conf:
|
|
for f in $(OPENRC_CONF_FILES:%.confd=%) ; \
|
|
do \
|
|
tgt=`basename $$f`; \
|
|
rm -f $(DESTDIR)$(OPENRC_CONF_DIR)/$$tgt; \
|
|
done
|
|
rmdir $(DESTDIR)$(OPENRC_CONF_DIR) || :
|
|
|
|
LOGROTATE_FILES := $(LOGROTATE_FILES_IN:remote/%.in=%)
|
|
|
|
EXTRA_DIST += $(LOGROTATE_FILES_IN)
|
|
|
|
BUILT_SOURCES += $(LOGROTATE_FILES)
|
|
CLEANFILES += $(LOGROTATE_FILES)
|
|
|
|
%.logrotate: remote/%.logrotate.in
|
|
$(AM_V_GEN)sed \
|
|
-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
|
|
< $< > $@-t && \
|
|
mv $@-t $@
|
|
|
|
if WITH_LIBVIRTD
|
|
install-logrotate: $(LOGROTATE_FILES)
|
|
$(MKDIR_P) $(DESTDIR)$(sysconfdir)/logrotate.d/
|
|
for f in $(LOGROTATE_FILES) ; \
|
|
do \
|
|
tgt=`echo $$f | sed -e 's/.logrotate//'`; \
|
|
$(INSTALL_DATA) $$f \
|
|
$(DESTDIR)$(sysconfdir)/logrotate.d/$$tgt; \
|
|
done
|
|
|
|
uninstall-logrotate:
|
|
rm -f $(LOGROTATE_FILES:%.logrotate=$(DESTDIR)$(sysconfdir)/logrotate.d/%)
|
|
rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || :
|
|
|
|
INSTALL_DATA_LOCAL += install-logrotate
|
|
UNINSTALL_LOCAL += uninstall-logrotate
|
|
endif WITH_LIBVIRTD
|
|
|
|
|
|
EXTRA_DIST += \
|
|
$(SYSTEMD_UNIT_FILES_IN) \
|
|
$(OPENRC_INIT_FILES_IN) \
|
|
$(NULL)
|
|
|
|
|
|
if WITH_LIBVIRTD
|
|
if LIBVIRT_INIT_SCRIPT_SYSTEMD
|
|
|
|
SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
|
|
|
|
BUILT_SOURCES += $(SYSTEMD_UNIT_FILES)
|
|
DISTCLEANFILES += $(SYSTEMD_UNIT_FILES)
|
|
|
|
install-systemd: $(SYSTEMD_UNIT_FILES) install-sysconfig
|
|
$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
|
|
for f in $(SYSTEMD_UNIT_FILES); \
|
|
do \
|
|
$(INSTALL_DATA) $$f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ ; \
|
|
done
|
|
|
|
uninstall-systemd: uninstall-sysconfig
|
|
rm -f $(SYSTEMD_UNIT_FILES:%=$(DESTDIR)$(SYSTEMD_UNIT_DIR)/%)
|
|
rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
|
|
|
|
INSTALL_DATA_LOCAL += install-systemd
|
|
UNINSTALL_LOCAL += uninstall-systemd
|
|
endif LIBVIRT_INIT_SCRIPT_SYSTEMD
|
|
|
|
if LIBVIRT_INIT_SCRIPT_OPENRC
|
|
|
|
OPENRC_INIT_DIR = $(sysconfdir)/init.d
|
|
|
|
BUILT_SOURCES += $(OPENRC_INIT_FILES)
|
|
DISTCLEANFILES += $(OPENRC_INIT_FILES)
|
|
|
|
install-openrc: $(OPENRC_INIT_FILES) install-openrc-conf
|
|
$(MKDIR_P) $(DESTDIR)$(OPENRC_INIT_DIR)
|
|
for f in $(OPENRC_INIT_FILES:%.init=%) ; \
|
|
do \
|
|
tgt=`basename $$f`; \
|
|
$(INSTALL_SCRIPT) $$f.init \
|
|
$(DESTDIR)$(OPENRC_INIT_DIR)/$$tgt ; \
|
|
done
|
|
|
|
uninstall-openrc: uninstall-openrc-conf
|
|
for f in $(OPENRC_INIT_FILES:%.init=%) ; \
|
|
do \
|
|
tgt=`basename $$f`; \
|
|
rm -f $(DESTDIR)$(OPENRC_INIT_DIR)/$$tgt ; \
|
|
done
|
|
rmdir $(DESTDIR)$(OPENRC_INIT_DIR) || :
|
|
|
|
INSTALL_DATA_LOCAL += install-openrc
|
|
UNINSTALL_LOCAL += uninstall-openrc
|
|
endif LIBVIRT_INIT_SCRIPT_OPENRC
|
|
|
|
endif WITH_LIBVIRTD
|
|
|
|
|
|
if WITH_LIBVIRTD
|
|
libexec_PROGRAMS += libvirt_iohelper
|
|
libvirt_iohelper_SOURCES = $(UTIL_IO_HELPER_SOURCES)
|
|
libvirt_iohelper_LDFLAGS = \
|
|
$(AM_LDFLAGS) \
|
|
$(PIE_LDFLAGS) \
|
|
$(NULL)
|
|
libvirt_iohelper_LDADD = \
|
|
libvirt.la \
|
|
$(GLIB_LIBS) \
|
|
../gnulib/lib/libgnu.la
|
|
if WITH_DTRACE_PROBES
|
|
libvirt_iohelper_LDADD += libvirt_probes.lo
|
|
endif WITH_DTRACE_PROBES
|
|
|
|
libvirt_iohelper_CFLAGS = \
|
|
$(AM_CFLAGS) \
|
|
$(PIE_CFLAGS) \
|
|
$(NULL)
|
|
|
|
|
|
endif WITH_LIBVIRTD
|
|
|
|
|
|
generated-sources: $(BUILT_SOURCES)
|
|
|
|
|
|
install-data-local: $(INSTALL_DATA_LOCAL) \
|
|
$(INSTALL_DATA_DIRS:%=install-data-%)
|
|
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
|
|
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
|
|
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems"
|
|
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
|
|
|
|
uninstall-local: $(UNINSTALL_LOCAL) \
|
|
$(INSTALL_DATA_DIRS:%=uninstall-data-%)
|
|
rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
|
|
rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
|
|
rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
|
|
rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
|
|
rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
|
|
|
|
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
|
|
DISTCLEANFILES += $(GENERATED_SYM_FILES)
|