mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-29 09:05:25 +00:00
22437d06cd
The same make variables will be useful for building both libvirtd and the split daemons, so refactor & rename variables to facilitate reuse. Automake gets annoyed if you define a variable ending LDFLAGS: src/remote/Makefile.inc.am:53: warning: variable 'REMOTE_DAEMON_LDFLAGS' is defined but no program or src/remote/Makefile.inc.am:53: library has 'REMOTE_DAEMON' as canonical name (possible typo) So we trick it by using an LD_FLAGS or LD_ADD suffix instead. Reviewed-by: Andrea Bolognani <abologna@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
381 lines
9.8 KiB
Makefile
381 lines
9.8 KiB
Makefile
# vim: filetype=automake
|
|
|
|
REMOTE_DRIVER_GENERATED = \
|
|
remote/remote_protocol.c \
|
|
remote/remote_protocol.h \
|
|
remote/remote_client_bodies.h \
|
|
remote/lxc_protocol.c \
|
|
remote/lxc_protocol.h \
|
|
remote/lxc_client_bodies.h \
|
|
remote/qemu_protocol.c \
|
|
remote/qemu_protocol.h \
|
|
remote/qemu_client_bodies.h \
|
|
$(NULL)
|
|
|
|
REMOTE_DRIVER_SOURCES = \
|
|
remote/remote_driver.c \
|
|
remote/remote_driver.h \
|
|
$(REMOTE_DRIVER_GENERATED) \
|
|
$(NULL)
|
|
|
|
REMOTE_DAEMON_GENERATED = \
|
|
remote/remote_daemon_dispatch_stubs.h \
|
|
remote/remote_daemon_dispatch_lxc_stubs.h \
|
|
remote/remote_daemon_dispatch_qemu_stubs.h \
|
|
$(NULL)
|
|
|
|
REMOTE_DAEMON_SOURCES = \
|
|
remote/remote_daemon.c \
|
|
remote/remote_daemon.h \
|
|
remote/remote_daemon_config.c \
|
|
remote/remote_daemon_config.h \
|
|
remote/remote_daemon_dispatch.c \
|
|
remote/remote_daemon_dispatch.h \
|
|
remote/remote_daemon_stream.c \
|
|
remote/remote_daemon_stream.h \
|
|
$(REMOTE_DAEMON_GENERATED) \
|
|
$(NULL)
|
|
|
|
REMOTE_DAEMON_CFLAGS = \
|
|
$(LIBXML_CFLAGS) \
|
|
$(GNUTLS_CFLAGS) \
|
|
$(SASL_CFLAGS) \
|
|
$(XDR_CFLAGS) \
|
|
$(DBUS_CFLAGS) \
|
|
$(LIBNL_CFLAGS) \
|
|
$(WARN_CFLAGS) \
|
|
$(PIE_CFLAGS) \
|
|
-I$(srcdir)/access \
|
|
-I$(srcdir)/conf \
|
|
-I$(srcdir)/rpc \
|
|
$(NULL)
|
|
|
|
REMOTE_DAEMON_LD_FLAGS = \
|
|
$(RELRO_LDFLAGS) \
|
|
$(PIE_LDFLAGS) \
|
|
$(NO_INDIRECT_LDFLAGS) \
|
|
$(NO_UNDEFINED_LDFLAGS) \
|
|
$(NULL)
|
|
|
|
REMOTE_DAEMON_LD_ADD = \
|
|
libvirt_driver_admin.la \
|
|
libvirt-lxc.la \
|
|
libvirt-qemu.la \
|
|
libvirt.la \
|
|
$(LIBXML_LIBS) \
|
|
$(GNUTLS_LIBS) \
|
|
$(SASL_LIBS) \
|
|
$(DBUS_LIBS) \
|
|
$(LIBNL_LIBS) \
|
|
$(NULL)
|
|
|
|
if WITH_DTRACE_PROBES
|
|
REMOTE_DAEMON_LD_ADD += ../src/libvirt_probes.lo
|
|
endif WITH_DTRACE_PROBES
|
|
|
|
REMOTE_DAEMON_LD_ADD += \
|
|
../gnulib/lib/libgnu.la \
|
|
$(NULL)
|
|
|
|
LOGROTATE_FILES_IN += \
|
|
remote/libvirtd.qemu.logrotate.in \
|
|
remote/libvirtd.lxc.logrotate.in \
|
|
remote/libvirtd.libxl.logrotate.in \
|
|
remote/libvirtd.logrotate.in \
|
|
$(NULL)
|
|
|
|
SYSCONF_FILES += remote/libvirtd.sysconf
|
|
|
|
PODFILES += remote/libvirtd.pod
|
|
MANINFILES += libvirtd.8.in
|
|
|
|
SYSTEMD_UNIT_FILES_IN += \
|
|
remote/libvirtd.service.in \
|
|
remote/libvirtd.socket.in \
|
|
remote/libvirtd-ro.socket.in \
|
|
remote/libvirtd-admin.socket.in \
|
|
remote/libvirtd-tcp.socket.in \
|
|
remote/libvirtd-tls.socket.in \
|
|
remote/virt-guest-shutdown.target.in \
|
|
$(NULL)
|
|
|
|
REMOTE_PROTOCOL = $(srcdir)/remote/remote_protocol.x
|
|
LXC_PROTOCOL = $(srcdir)/remote/lxc_protocol.x
|
|
QEMU_PROTOCOL = $(srcdir)/remote/qemu_protocol.x
|
|
REMOTE_DRIVER_PROTOCOL = \
|
|
$(REMOTE_PROTOCOL) \
|
|
$(QEMU_PROTOCOL) \
|
|
$(LXC_PROTOCOL) \
|
|
$(NULL)
|
|
|
|
DRIVER_SOURCE_FILES += $(REMOTE_DRIVER_SOURCES)
|
|
|
|
EXTRA_DIST += \
|
|
$(REMOTE_DRIVER_PROTOCOL) \
|
|
$(REMOTE_DRIVER_SOURCES) \
|
|
$(REMOTE_DAEMON_SOURCES) \
|
|
remote/test_libvirtd.aug.in \
|
|
remote/libvirtd.aug.in \
|
|
remote/libvirtd.conf.in \
|
|
remote/libvirtd.policy \
|
|
remote/libvirtd.rules \
|
|
remote/libvirtd.sasl \
|
|
remote/libvirtd.sysctl \
|
|
$(NULL)
|
|
|
|
# Needed to build libvirt.pot, so must be listed outside
|
|
# the WITH_REMOTE/WITH_LIBVIRTD conditionals
|
|
BUILT_SOURCES += \
|
|
$(REMOTE_DRIVER_GENERATED) \
|
|
$(REMOTE_DAEMON_GENERATED) \
|
|
$(NULL)
|
|
MAINTAINERCLEANFILES += \
|
|
$(REMOTE_DRIVER_GENERATED) \
|
|
$(REMOTE_DAEMON_GENERATED) \
|
|
$(NULL)
|
|
CLEANFILES += \
|
|
remote/libvirtd.conf \
|
|
$(NULL)
|
|
|
|
if WITH_REMOTE
|
|
noinst_LTLIBRARIES += libvirt_driver_remote.la
|
|
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
|
|
libvirt_driver_remote_la_CFLAGS = \
|
|
$(XDR_CFLAGS) \
|
|
-I$(srcdir)/conf \
|
|
-I$(srcdir)/rpc \
|
|
$(AM_CFLAGS) \
|
|
$(NULL)
|
|
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
|
|
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
|
|
|
|
if WITH_SASL
|
|
libvirt_driver_remote_la_CFLAGS += \
|
|
$(SASL_CFLAGS) \
|
|
$(NULL)
|
|
endif WITH_SASL
|
|
|
|
endif WITH_REMOTE
|
|
|
|
if WITH_REMOTE
|
|
USED_SYM_FILES += $(srcdir)/libvirt_remote.syms
|
|
else ! WITH_REMOTE
|
|
SYM_FILES += $(srcdir)/libvirt_remote.syms
|
|
endif ! WITH_REMOTE
|
|
|
|
if WITH_LIBVIRTD
|
|
|
|
sbin_PROGRAMS += libvirtd
|
|
|
|
augeas_DATA += remote/libvirtd.aug
|
|
|
|
augeastest_DATA += remote/test_libvirtd.aug
|
|
|
|
nodist_conf_DATA += remote/libvirtd.conf
|
|
|
|
CLEANFILES += remote/libvirtd.aug
|
|
|
|
man8_MANS += libvirtd.8
|
|
|
|
libvirtd_SOURCES = $(REMOTE_DAEMON_SOURCES)
|
|
|
|
libvirtd_CFLAGS = \
|
|
$(REMOTE_DAEMON_CFLAGS) \
|
|
-DSOCK_PREFIX="\"libvirt\"" \
|
|
-DDAEMON_NAME="\"libvirtd\"" \
|
|
-DWITH_IP \
|
|
$(NULL)
|
|
|
|
libvirtd_LDFLAGS = $(REMOTE_DAEMON_LD_FLAGS)
|
|
|
|
libvirtd_LDADD = $(REMOTE_DAEMON_LD_ADD)
|
|
|
|
remote/libvirtd.conf: remote/libvirtd.conf.in
|
|
$(AM_V_GEN)$(SED) \
|
|
-e '/[@]CUT_ENABLE_IP[@]/d' \
|
|
-e '/[@]END[@]/d' \
|
|
-e 's|[@]DAEMON_NAME[@]|libvirtd|' \
|
|
$< > $@
|
|
|
|
INSTALL_DATA_DIRS += remote
|
|
|
|
install-data-remote:
|
|
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt"
|
|
|
|
uninstall-data-remote:
|
|
rmdir "$(DESTDIR)$(localstatedir)/log/libvirt" ||:
|
|
|
|
remote/libvirtd.aug: remote/libvirtd.aug.in
|
|
$(AM_V_GEN)$(SED) \
|
|
-e '/[@]CUT_ENABLE_IP[@]/d' \
|
|
-e '/[@]END[@]/d' \
|
|
-e 's|[@]DAEMON_NAME[@]|libvirtd|' \
|
|
-e 's|[@]DAEMON_NAME_UC[@]|Libvirtd|' \
|
|
$< > $@
|
|
|
|
remote/test_libvirtd.aug: remote/test_libvirtd.aug.in \
|
|
remote/libvirtd.conf $(AUG_GENTEST)
|
|
$(AM_V_GEN)$(AUG_GENTEST) remote/libvirtd.conf \
|
|
$(srcdir)/remote/test_libvirtd.aug.in | \
|
|
$(SED) \
|
|
-e '/[@]CUT_ENABLE_IP[@]/d' \
|
|
-e '/[@]END[@]/d' \
|
|
-e 's|[@]DAEMON_NAME[@]|libvirtd|' \
|
|
-e 's|[@]DAEMON_NAME_UC[@]|Libvirtd|' \
|
|
> $@ || rm -f $@
|
|
|
|
if WITH_SYSCTL
|
|
# Use $(prefix)/lib rather than $(libdir), since man sysctl.d insists on
|
|
# /usr/lib/sysctl.d/ even when libdir is /usr/lib64
|
|
sysctldir = $(prefix)/lib/sysctl.d
|
|
|
|
install-sysctl:
|
|
$(MKDIR_P) $(DESTDIR)$(sysctldir)
|
|
$(INSTALL_DATA) $(srcdir)/remote/libvirtd.sysctl \
|
|
$(DESTDIR)$(sysctldir)/60-libvirtd.conf
|
|
|
|
uninstall-sysctl:
|
|
rm -f $(DESTDIR)$(sysctldir)/60-libvirtd.conf
|
|
rmdir $(DESTDIR)$(sysctldir) || :
|
|
|
|
INSTALL_DATA_LOCAL += install-sysctl
|
|
UNINSTALL_LOCAL += uninstall-sysctl
|
|
endif WITH_SYSCTL
|
|
|
|
if WITH_POLKIT
|
|
polkitdir = $(datadir)/polkit-1
|
|
polkitactionsdir = $(polkitdir)/actions
|
|
polkitrulesdir = $(polkitdir)/rules.d
|
|
|
|
install-polkit:
|
|
$(MKDIR_P) $(DESTDIR)$(polkitactionsdir)
|
|
$(INSTALL_DATA) $(srcdir)/remote/libvirtd.policy \
|
|
$(DESTDIR)$(polkitactionsdir)/org.libvirt.unix.policy
|
|
$(MKDIR_P) $(DESTDIR)$(polkitrulesdir)
|
|
$(INSTALL_DATA) $(srcdir)/remote/libvirtd.rules \
|
|
$(DESTDIR)$(polkitrulesdir)/50-libvirt.rules
|
|
|
|
uninstall-polkit:
|
|
rm -f $(DESTDIR)$(polkitactionsdir)/org.libvirt.unix.policy
|
|
rmdir $(DESTDIR)$(polkitactionsdir) || :
|
|
rm -f $(DESTDIR)$(polkitrulesdir)/50-libvirt.rules
|
|
rmdir $(DESTDIR)$(polkitrulesdir) || :
|
|
|
|
INSTALL_DATA_LOCAL += install-polkit
|
|
UNINSTALL_LOCAL += uninstall-polkit
|
|
endif WITH_POLKIT
|
|
|
|
endif WITH_LIBVIRTD
|
|
|
|
.PHONY: \
|
|
install-data-remote \
|
|
uninstall-data-remote \
|
|
$(NULL)
|
|
|
|
# This is needed for clients too, so can't wrap in
|
|
# the WITH_LIBVIRTD conditional
|
|
if WITH_SASL
|
|
sasldir = $(sysconfdir)/sasl2
|
|
|
|
install-sasl:
|
|
$(MKDIR_P) $(DESTDIR)$(sasldir)
|
|
$(INSTALL_DATA) $(srcdir)/remote/libvirtd.sasl \
|
|
$(DESTDIR)$(sasldir)/libvirt.conf
|
|
|
|
uninstall-sasl:
|
|
rm -f $(DESTDIR)$(sasldir)/libvirt.conf
|
|
rmdir $(DESTDIR)$(sasldir) || :
|
|
|
|
INSTALL_DATA_LOCAL += install-sasl
|
|
UNINSTALL_LOCAL += uninstall-sasl
|
|
endif WITH_SASL
|
|
|
|
libvirtd.service: remote/libvirtd.service.in $(top_builddir)/config.status
|
|
$(AM_V_GEN)sed \
|
|
-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
|
|
-e 's|[@]sbindir[@]|$(sbindir)|g' \
|
|
-e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
|
|
< $< > $@-t && \
|
|
mv $@-t $@
|
|
|
|
libvirtd.socket: remote/libvirtd.socket.in $(top_builddir)/config.status
|
|
$(AM_V_GEN)sed \
|
|
-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
|
|
< $< > $@-t && \
|
|
mv $@-t $@
|
|
|
|
libvirtd-ro.socket: remote/libvirtd-ro.socket.in $(top_builddir)/config.status
|
|
$(AM_V_GEN)sed \
|
|
-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
|
|
< $< > $@-t && \
|
|
mv $@-t $@
|
|
|
|
libvirtd-admin.socket: remote/libvirtd-admin.socket.in $(top_builddir)/config.status
|
|
$(AM_V_GEN)sed \
|
|
-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
|
|
< $< > $@-t && \
|
|
mv $@-t $@
|
|
|
|
libvirtd-tcp.socket: remote/libvirtd-tcp.socket.in $(top_builddir)/config.status
|
|
$(AM_V_GEN)sed \
|
|
-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
|
|
< $< > $@-t && \
|
|
mv $@-t $@
|
|
|
|
libvirtd-tls.socket: remote/libvirtd-tls.socket.in $(top_builddir)/config.status
|
|
$(AM_V_GEN)sed \
|
|
-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
|
|
< $< > $@-t && \
|
|
mv $@-t $@
|
|
|
|
virt-guest-shutdown.target: remote/virt-guest-shutdown.target.in \
|
|
$(top_builddir)/config.status
|
|
$(AM_V_GEN)cp $< $@
|
|
|
|
|
|
remote/remote_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
|
|
$(REMOTE_PROTOCOL) Makefile.am
|
|
$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
|
|
remote REMOTE $(REMOTE_PROTOCOL) \
|
|
> $(srcdir)/remote/remote_client_bodies.h
|
|
|
|
remote/lxc_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
|
|
$(LXC_PROTOCOL) Makefile.am
|
|
$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
|
|
lxc LXC $(LXC_PROTOCOL) \
|
|
> $(srcdir)/remote/lxc_client_bodies.h
|
|
|
|
remote/qemu_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
|
|
$(QEMU_PROTOCOL) Makefile.am
|
|
$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
|
|
qemu QEMU $(QEMU_PROTOCOL) \
|
|
> $(srcdir)/remote/qemu_client_bodies.h
|
|
|
|
remote/remote_daemon_dispatch_stubs.h: $(srcdir)/rpc/gendispatch.pl \
|
|
$(REMOTE_PROTOCOL) Makefile.am
|
|
$(AM_V_GEN)$(PERL) -w $(top_srcdir)/src/rpc/gendispatch.pl \
|
|
--mode=server remote REMOTE $(REMOTE_PROTOCOL) \
|
|
> $(srcdir)/remote/remote_daemon_dispatch_stubs.h
|
|
|
|
remote/remote_daemon_dispatch_lxc_stubs.h: $(srcdir)/rpc/gendispatch.pl \
|
|
$(LXC_PROTOCOL) Makefile.am
|
|
$(AM_V_GEN)$(PERL) -w $(top_srcdir)/src/rpc/gendispatch.pl \
|
|
--mode=server lxc LXC $(LXC_PROTOCOL) \
|
|
> $(srcdir)/remote/remote_daemon_dispatch_lxc_stubs.h
|
|
|
|
remote/remote_daemon_dispatch_qemu_stubs.h: $(srcdir)/rpc/gendispatch.pl \
|
|
$(QEMU_PROTOCOL) Makefile.am
|
|
$(AM_V_GEN)$(PERL) -w $(top_srcdir)/src/rpc/gendispatch.pl \
|
|
--mode=server qemu QEMU $(QEMU_PROTOCOL) \
|
|
> $(srcdir)/remote/remote_daemon_dispatch_qemu_stubs.h
|
|
|
|
libvirtd.8.in: remote/libvirtd.pod
|
|
$(AM_V_GEN)$(POD2MAN) --section=8 $< $@-t1 && \
|
|
if grep 'POD ERROR' $@-t1; then rm $@-t1; exit 1; fi && \
|
|
sed \
|
|
-e 's|SYSCONFDIR|\@sysconfdir\@|g' \
|
|
-e 's|LOCALSTATEDIR|\@localstatedir\@|g' \
|
|
< $@-t1 > $@-t2 && \
|
|
rm -f $@-t1 && \
|
|
mv $@-t2 $@
|