Makefile.am 92.5 KB
Newer Older
D
Daniel Veillard 已提交
1 2
## Process this file with automake to produce Makefile.in

3
## Copyright (C) 2005-2018 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 20
# old automake does not provide abs_{src,build}dir variables
abs_builddir = $(shell pwd)
21
abs_topbuilddir = $(shell cd .. && pwd)
22
abs_srcdir = $(shell cd $(srcdir) && pwd)
M
Michal Privoznik 已提交
23
abs_topsrcdir = $(shell cd $(top_srcdir) && pwd)
24

25 26
# No libraries with the exception of LIBXML should be listed
# here. List them against the individual XXX_la_CFLAGS targets
27
# that actually use them. Also keep GETTEXT_CPPFLAGS at the end.
28 29 30 31 32 33 34 35 36 37
INCLUDES =	-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_topbuilddir="\"$(abs_topbuilddir)\"" \
		-Dabs_topsrcdir="\"$(abs_topsrcdir)\"" \
38
		$(GETTEXT_CPPFLAGS)
E
Eric Blake 已提交
39

40 41
WARN_CFLAGS += $(STRICT_FRAME_LIMIT_CFLAGS)

42 43 44 45
AM_CFLAGS =	$(LIBXML_CFLAGS) \
		$(WARN_CFLAGS) \
		$(LOCK_CHECKING_CFLAGS) \
		$(WIN32_EXTRA_CFLAGS) \
E
Eric Blake 已提交
46
		$(COVERAGE_CFLAGS)
47 48 49 50 51 52
AM_LDFLAGS =	$(DRIVER_MODULES_LDFLAGS) \
		$(COVERAGE_LDFLAGS) \
		$(RELRO_LDFLAGS) \
		$(NO_INDIRECT_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
G
Guido Günther 已提交
53
		$(NULL)
54
AM_LDFLAGS_MOD = -module -avoid-version $(AM_LDFLAGS)
55
AM_LDFLAGS_MOD_NOUNDEF = $(AM_LDFLAGS_MOD) $(NO_UNDEFINED_LDFLAGS)
56

57 58
POD2MAN = pod2man -c "Virtualization Support" -r "$(PACKAGE)-$(VERSION)"

59
EXTRA_DIST = $(conf_DATA)
60

61
BUILT_SOURCES =
62 63 64
CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES =
65
nodist_conf_DATA =
66 67 68 69 70
DRIVER_SOURCE_FILES =
STATEFUL_DRIVER_SOURCE_FILES =
noinst_LTLIBRARIES =
mod_LTLIBRARIES =
INSTALL_DATA_DIRS =
71
libvirt_la_BUILT_LIBADD =
72 73 74
SYM_FILES =
USED_SYM_FILES =
GENERATED_SYM_FILES =
75 76 77 78 79 80 81
augeas_DATA =
augeastest_DATA =
conf_DATA =
AUGEAS_DIRS =
if WITH_DTRACE_PROBES
tapset_DATA =
endif WITH_DTRACE_PROBES
82 83

include uml/Makefile.inc.am
84
include phyp/Makefile.inc.am
85
include test/Makefile.inc.am
86
include esx/Makefile.inc.am
87
include hyperv/Makefile.inc.am
88
include vmware/Makefile.inc.am
89
include vbox/Makefile.inc.am
90
include openvz/Makefile.inc.am
91
include qemu/Makefile.inc.am
92
include bhyve/Makefile.inc.am
93
include xenconfig/Makefile.inc.am
94
include libxl/Makefile.inc.am
95
include xen/Makefile.inc.am
96
include xenapi/Makefile.inc.am
97 98 99 100

install-data-extra: $(INSTALL_DATA_DIRS:%=install-data-%)
uninstall-data-extra: $(INSTALL_DATA_DIRS:%=install-data-%)

101

E
Eric Blake 已提交
102 103
THREAD_LIBS = $(LIB_PTHREAD) $(LTLIBMULTITHREAD)

J
Jim Fehlig 已提交
104
SECDRIVER_CFLAGS =
105 106
SECDRIVER_LIBS =
if WITH_SECDRIVER_SELINUX
J
Jim Fehlig 已提交
107
SECDRIVER_CFLAGS += $(SELINUX_CFLAGS)
108
SECDRIVER_LIBS += $(SELINUX_LIBS)
109
endif WITH_SECDRIVER_SELINUX
110
if WITH_SECDRIVER_APPARMOR
J
Jim Fehlig 已提交
111
SECDRIVER_CFLAGS += $(APPARMOR_CFLAGS)
112
SECDRIVER_LIBS += $(APPARMOR_LIBS)
113
endif WITH_SECDRIVER_APPARMOR
114

115 116
if WITH_NETWORK
UUID=$(shell uuidgen 2>/dev/null)
117
endif WITH_NETWORK
118

119
lib_LTLIBRARIES = libvirt.la libvirt-qemu.la libvirt-lxc.la
120

121
moddir = $(libdir)/libvirt/connection-driver
122
sbin_PROGRAMS =
123

A
Amy Griffis 已提交
124
confdir = $(sysconfdir)/libvirt
125
conf_DATA += libvirt.conf libvirt-admin.conf
126

127 128 129 130
augeasdir = $(datadir)/augeas/lenses

augeastestdir = $(datadir)/augeas/lenses/tests

131 132
# These files are not related to driver APIs. Simply generic
# helper APIs for various purposes
133 134 135 136 137 138 139 140 141 142 143 144
UTIL_SOURCES = \
		util/viralloc.c util/viralloc.h \
		util/virarch.h util/virarch.c \
		util/viratomic.h util/viratomic.c \
		util/viraudit.c util/viraudit.h \
		util/virauth.c util/virauth.h \
		util/virauthconfig.c util/virauthconfig.h \
		util/virbitmap.c util/virbitmap.h \
		util/virbuffer.c util/virbuffer.h \
		util/virperf.c util/virperf.h \
		util/vircgroup.c util/vircgroup.h util/vircgrouppriv.h \
		util/virclosecallbacks.c util/virclosecallbacks.h \
145
		util/vircommand.c util/vircommand.h util/vircommandpriv.h \
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
		util/virconf.c util/virconf.h \
		util/vircrypto.c util/vircrypto.h \
		util/virdbus.c util/virdbus.h util/virdbuspriv.h \
		util/virdnsmasq.c util/virdnsmasq.h \
		util/virebtables.c util/virebtables.h \
		util/virendian.h \
		util/virerror.c util/virerror.h \
		util/virevent.c util/virevent.h \
		util/vireventpoll.c util/vireventpoll.h \
		util/virfcp.c util/virfcp.h \
		util/virfdstream.c util/virfdstream.h \
		util/virfile.c util/virfile.h \
		util/virfirewall.c util/virfirewall.h \
		util/virfirewallpriv.h \
		util/virfirmware.c util/virfirmware.h \
		util/virgettext.c util/virgettext.h \
		util/virgic.c util/virgic.h \
		util/virhash.c util/virhash.h \
		util/virhashcode.c util/virhashcode.h \
		util/virhook.c util/virhook.h \
166
		util/virhostcpu.c util/virhostcpu.h util/virhostcpupriv.h \
167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
		util/virhostdev.c util/virhostdev.h \
		util/virhostmem.c util/virhostmem.h \
		util/viridentity.c util/viridentity.h \
		util/virinitctl.c util/virinitctl.h \
		util/viriptables.c util/viriptables.h \
		util/viriscsi.c util/viriscsi.h \
		util/virjson.c util/virjson.h \
		util/virkeycode.c util/virkeycode.h \
		util/virkeyfile.c util/virkeyfile.h \
		util/virlease.c util/virlease.h \
		util/virlockspace.c util/virlockspace.h \
		util/virlog.c util/virlog.h \
		util/virmacaddr.h util/virmacaddr.c \
		util/virmacmap.h util/virmacmap.c \
		util/virnetdev.h util/virnetdev.c \
182
		util/virnetdevbandwidth.h util/virnetdevbandwidth.c \
183 184 185
		util/virnetdevbridge.h util/virnetdevbridge.c \
		util/virnetdevip.h util/virnetdevip.c \
		util/virnetdevmacvlan.c util/virnetdevmacvlan.h \
186
		util/virnetdevmidonet.h util/virnetdevmidonet.c \
A
Ansis Atteka 已提交
187
		util/virnetdevopenvswitch.h util/virnetdevopenvswitch.c \
188 189 190
		util/virnetdevtap.h util/virnetdevtap.c \
		util/virnetdevveth.h util/virnetdevveth.c \
		util/virnetdevvlan.h util/virnetdevvlan.c \
191
		util/virnetdevvportprofile.h util/virnetdevvportprofile.c \
192 193 194 195 196 197 198 199
		util/virnetlink.c util/virnetlink.h \
		util/virnodesuspend.c util/virnodesuspend.h \
		util/virkmod.c util/virkmod.h \
		util/virnuma.c util/virnuma.h \
		util/virobject.c util/virobject.h \
		util/virpci.c util/virpci.h \
		util/virpidfile.c util/virpidfile.h \
		util/virpolkit.c util/virpolkit.h \
D
Daniel P. Berrange 已提交
200
		util/virportallocator.c util/virportallocator.h \
201 202 203 204
		util/virprobe.h \
		util/virprocess.c util/virprocess.h \
		util/virqemu.c util/virqemu.h \
		util/virrandom.h util/virrandom.c \
205
		util/virresctrl.h util/virresctrl.c util/virresctrlpriv.h \
206 207 208 209 210 211 212 213
		util/virrotatingfile.h util/virrotatingfile.c \
		util/virscsi.c util/virscsi.h \
		util/virscsihost.c util/virscsihost.h \
		util/virscsivhost.c util/virscsivhost.h \
		util/virseclabel.c util/virseclabel.h \
		util/virsecret.c util/virsecret.h \
		util/virsexpr.c util/virsexpr.h \
		util/virsocketaddr.h util/virsocketaddr.c \
214
		util/virstorageencryption.c util/virstorageencryption.h \
215
		util/virstoragefile.c util/virstoragefile.h \
216
		util/virstoragefilebackend.c util/virstoragefilebackend.h \
217 218
		util/virstring.h util/virstring.c \
		util/virsysinfo.c util/virsysinfo.h util/virsysinfopriv.h \
219
		util/virsystemd.c util/virsystemd.h util/virsystemdpriv.h \
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
		util/virthread.c util/virthread.h \
		util/virthreadjob.c util/virthreadjob.h \
		util/virthreadpool.c util/virthreadpool.h \
		util/virtime.h util/virtime.c \
		util/virtpm.h util/virtpm.c \
		util/virtypedparam.c util/virtypedparam.h \
		util/virusb.c util/virusb.h \
		util/viruri.h util/viruri.c \
		util/virutil.c util/virutil.h \
		util/viruuid.c util/viruuid.h \
		util/virvhba.c util/virvhba.h \
		util/virxdrdefs.h \
		util/virxml.c util/virxml.h \
		util/virmdev.c util/virmdev.h \
		util/virfilecache.c util/virfilecache.h \
235
		$(NULL)
L
Lai Jiangshan 已提交
236

237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261
EXTRA_DIST += \
	$(srcdir)/keycodemapdb/data/keymaps.csv \
	$(srcdir)/keycodemapdb/tools/keymap-gen \
	$(NULL)

util/virkeycodetable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \
			$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
	$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeycodetable_,,' \
					      -e 's,\.h,,'` && \
		$(MKDIR_P) util/ && \
		$(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
			--lang stdc --varname virKeyCodeTable_$$NAME code-table \
			$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > $@-tmp && \
		mv $@-tmp $@ || rm -f $@-tmp

util/virkeynametable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \
			$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
	$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeynametable_,,' \
					      -e 's,\.h,,'` && \
		$(MKDIR_P) util/ && \
		$(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
			--lang stdc --varname virKeyNameTable_$$NAME name-table \
			$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > $@-tmp && \
		mv $@-tmp $@ || rm -f $@-tmp

262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291
util/virkeycode-%.pod: $(srcdir)/keycodemapdb/data/keymaps.csv \
			$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
	$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeycode-,,' \
					      -e 's,\.pod,,'` && \
		$(MKDIR_P) util/ && \
		$(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
		--lang pod --varname "Key code values for $$NAME" code-docs \
		$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > \
			$@-tmp && mv $@-tmp $@ || rm $@-tmp

util/virkeyname-%.pod: $(srcdir)/keycodemapdb/data/keymaps.csv \
			$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
	$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeyname-,,' \
					      -e 's,\.pod,,'` && \
		$(MKDIR_P) util/ && \
		$(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
		--lang pod --varname "Key name values for $$NAME" name-docs \
		$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > \
			$@-tmp && mv $@-tmp $@ || rm $@-tmp

util/virkey%.7: util/virkey%.pod
	$(AM_V_GEN)$(POD2MAN) --section=7 $< $@-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 $@

292
KEYCODES = linux osx atset1 atset2 atset3 xtkbd usb win32 rfb
293 294 295 296 297 298 299
KEYNAMES = linux osx win32

KEYTABLES = \
	$(KEYCODES:%=util/virkeycodetable_%.h) \
	$(KEYNAMES:%=util/virkeynametable_%.h) \
	$(NULL)

300 301 302 303 304 305
KEYPODS = $(KEYCODES:%=util/virkeycode-%.pod) \
	  $(KEYNAMES:%=util/virkeyname-%.pod)
KEYMANS = $(KEYPODS:%.pod=%.7)

man7_MANS = $(KEYMANS)

306 307 308
UTIL_SOURCES += $(KEYTABLES)
BUILT_SOURCES += $(KEYTABLES)
MAINTAINERCLEANFILES += $(KEYTABLES)
309
CLEANFILES += $(KEYMANS) $(KEYPODS)
L
Lai Jiangshan 已提交
310

311
# Internal generic driver infrastructure
O
Osier Yang 已提交
312
DATATYPES_SOURCES = datatypes.h datatypes.c
313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341
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-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 \
		locking/lock_manager.c locking/lock_manager.h \
		locking/lock_driver.h \
		locking/lock_driver_nop.h locking/lock_driver_nop.c \
		locking/domain_lock.h locking/domain_lock.c \
		logging/log_manager.c logging/log_manager.h \
342
		$(NULL)
343

344 345 346
LOCK_DRIVER_SANLOCK_SOURCES = \
		locking/lock_driver_sanlock.c

347 348
LOCK_DRIVER_SANLOCK_HELPER_SOURCES = \
		locking/sanlock_helper.c
349

350
LOCK_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
351 352
		locking/lock_protocol.h \
		locking/lock_protocol.c \
353 354
		$(NULL)

355 356 357
LOCK_PROTOCOL = $(srcdir)/locking/lock_protocol.x
EXTRA_DIST += $(LOCK_PROTOCOL) \
	$(LOCK_PROTOCOL_GENERATED)
358 359 360
BUILT_SOURCES += $(LOCK_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(LOCK_PROTOCOL_GENERATED)

361
LOCK_DAEMON_GENERATED = \
362
		locking/lock_daemon_dispatch_stubs.h
363 364 365
		$(NULL)

BUILT_SOURCES += $(LOCK_DAEMON_GENERATED)
366
EXTRA_DIST += $(LOCK_DAEMON_GENERATED)
367 368
MAINTAINERCLEANFILES += $(LOCK_DAEMON_GENERATED)

369 370
LOCK_DRIVER_LOCKD_SOURCES = \
		locking/lock_driver_lockd.c \
371
		locking/lock_driver_lockd.h \
372 373
		$(NULL)

374 375 376 377 378
LOCK_DAEMON_SOURCES = \
		locking/lock_daemon.h \
		locking/lock_daemon.c \
		locking/lock_daemon_config.h \
		locking/lock_daemon_config.c \
379 380
		locking/lock_daemon_dispatch.c \
		locking/lock_daemon_dispatch.h \
381 382
		$(NULL)

E
Eric Blake 已提交
383
locking/lock_daemon_dispatch_stubs.h: $(LOCK_PROTOCOL) \
384
		$(srcdir)/rpc/gendispatch.pl Makefile.am
385 386
	$(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl --mode=server \
	    virLockSpaceProtocol VIR_LOCK_SPACE_PROTOCOL \
E
Eric Blake 已提交
387
	    $(LOCK_PROTOCOL) > $(srcdir)/locking/lock_daemon_dispatch_stubs.h
388 389


390 391 392 393 394
LOG_PROTOCOL_GENERATED = \
		logging/log_protocol.h \
		logging/log_protocol.c \
		$(NULL)

395 396
DRIVER_SOURCES += $(LOG_PROTOCOL_GENERATED)

397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417
LOG_PROTOCOL = $(srcdir)/logging/log_protocol.x
EXTRA_DIST += $(LOG_PROTOCOL) \
	$(LOG_PROTOCOL_GENERATED)
BUILT_SOURCES += $(LOG_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(LOG_PROTOCOL_GENERATED)

LOG_DAEMON_GENERATED = \
		logging/log_daemon_dispatch_stubs.h
		$(NULL)

BUILT_SOURCES += $(LOG_DAEMON_GENERATED)
EXTRA_DIST += $(LOG_DAEMON_GENERATED)
MAINTAINERCLEANFILES += $(LOG_DAEMON_GENERATED)

LOG_DAEMON_SOURCES = \
		logging/log_daemon.h \
		logging/log_daemon.c \
		logging/log_daemon_config.h \
		logging/log_daemon_config.c \
		logging/log_daemon_dispatch.c \
		logging/log_daemon_dispatch.h \
418 419
		logging/log_handler.c \
		logging/log_handler.h \
420 421 422 423 424 425 426 427 428
		$(NULL)

logging/log_daemon_dispatch_stubs.h: $(LOG_PROTOCOL) \
		$(srcdir)/rpc/gendispatch.pl Makefile.am
	$(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl --mode=server \
	    virLogManagerProtocol VIR_LOG_MANAGER_PROTOCOL \
	    $(LOG_PROTOCOL) > $(srcdir)/logging/log_daemon_dispatch_stubs.h


429
NETDEV_CONF_SOURCES = \
430
		conf/netdev_bandwidth_conf.h conf/netdev_bandwidth_conf.c \
431 432
		conf/netdev_vport_profile_conf.h conf/netdev_vport_profile_conf.c \
		conf/netdev_vlan_conf.h conf/netdev_vlan_conf.c
433

434
# XML configuration format handling sources
435
# Domain driver generic impl APIs
436 437 438 439 440 441 442 443 444 445
DOMAIN_CONF_SOURCES = \
		conf/capabilities.c conf/capabilities.h \
		conf/domain_addr.c conf/domain_addr.h \
		conf/domain_capabilities.c conf/domain_capabilities.h \
		conf/domain_conf.c conf/domain_conf.h \
		conf/domain_audit.c conf/domain_audit.h \
		conf/domain_nwfilter.c conf/domain_nwfilter.h \
		conf/virsavecookie.c conf/virsavecookie.h \
		conf/snapshot_conf.c conf/snapshot_conf.h \
		conf/numa_conf.c conf/numa_conf.h \
446
		conf/virdomainobjlist.c conf/virdomainobjlist.h
447

448
OBJECT_EVENT_SOURCES = \
449 450 451
		conf/object_event.c conf/object_event.h \
		conf/object_event_private.h

452
DOMAIN_EVENT_SOURCES = \
453
		conf/domain_event.c conf/domain_event.h
454

455
NETWORK_EVENT_SOURCES = \
456 457
		conf/network_event.c conf/network_event.h

458
STORAGE_EVENT_SOURCES = \
459 460
                conf/storage_event.c conf/storage_event.h

461
NODE_DEVICE_EVENT_SOURCES = \
462 463
                conf/node_device_event.c conf/node_device_event.h

464
SECRET_EVENT_SOURCES = \
465 466
                conf/secret_event.c conf/secret_event.h

467
# Network driver generic impl APIs
468 469 470
NETWORK_CONF_SOURCES = \
		conf/network_conf.c conf/network_conf.h \
		conf/virnetworkobj.c conf/virnetworkobj.h \
471
		conf/networkcommon_conf.c conf/networkcommon_conf.h
472

473
# Network filter driver generic impl APIs
474 475 476 477 478
NWFILTER_PARAM_CONF_SOURCES = \
		conf/nwfilter_params.c conf/nwfilter_params.h \
		conf/nwfilter_ipaddrmap.c \
		conf/nwfilter_ipaddrmap.h \
		conf/nwfilter_conf.h \
J
John Ferlan 已提交
479
		conf/virnwfilterobj.h
480

481 482 483
NWFILTER_CONF_SOURCES = \
		$(NWFILTER_PARAM_CONF_SOURCES) \
		conf/nwfilter_conf.c conf/nwfilter_conf.h \
J
John Ferlan 已提交
484
		conf/virnwfilterobj.c conf/virnwfilterobj.h
485

486
# Storage driver generic impl APIs
487
STORAGE_CONF_SOURCES = \
488
		conf/storage_adapter_conf.h conf/storage_adapter_conf.c \
489
		conf/storage_conf.h conf/storage_conf.c \
J
John Ferlan 已提交
490
		conf/virstorageobj.h conf/virstorageobj.c
491

492
# Interface driver generic impl APIs
493 494
INTERFACE_CONF_SOURCES = \
		conf/interface_conf.c conf/interface_conf.h \
J
John Ferlan 已提交
495
		conf/virinterfaceobj.c conf/virinterfaceobj.h
496

497
# Secret driver generic impl APIs
498 499
SECRET_CONF_SOURCES = \
		conf/secret_conf.h conf/secret_conf.c \
500
		conf/virsecretobj.h conf/virsecretobj.c
501 502

# Network driver generic impl APIs
503
NODE_DEVICE_CONF_SOURCES = \
J
John Ferlan 已提交
504 505
		conf/node_device_conf.c conf/node_device_conf.h \
		conf/virnodedeviceobj.c conf/virnodedeviceobj.h
506

507
CPU_CONF_SOURCES = \
508
		conf/cpu_conf.c conf/cpu_conf.h
509

510
# Safe character device handling helper APIs
511
CHRDEV_CONF_SOURCES = \
512
		conf/virchrdev.c conf/virchrdev.h
513

514
# Device Helper APIs
515
DEVICE_CONF_SOURCES = \
516 517
		conf/device_conf.c conf/device_conf.h

518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534
CONF_SOURCES = \
		$(NETDEV_CONF_SOURCES) \
		$(DOMAIN_CONF_SOURCES) \
		$(OBJECT_EVENT_SOURCES) \
		$(DOMAIN_EVENT_SOURCES) \
		$(NETWORK_EVENT_SOURCES) \
		$(STORAGE_EVENT_SOURCES) \
		$(NODE_DEVICE_EVENT_SOURCES) \
		$(SECRET_EVENT_SOURCES) \
		$(NETWORK_CONF_SOURCES) \
		$(NWFILTER_CONF_SOURCES) \
		$(NODE_DEVICE_CONF_SOURCES) \
		$(STORAGE_CONF_SOURCES) \
		$(INTERFACE_CONF_SOURCES) \
		$(SECRET_CONF_SOURCES) \
		$(CPU_CONF_SOURCES) \
		$(CHRDEV_CONF_SOURCES) \
535
		$(DEVICE_CONF_SOURCES)
536

537
# The remote RPC driver, covering domains, storage, networks, etc
538
REMOTE_DRIVER_GENERATED = \
539 540 541 542 543 544 545 546 547
		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 \
E
Eric Blake 已提交
548
		$(NULL)
E
Eric Blake 已提交
549 550

REMOTE_PROTOCOL = $(srcdir)/remote/remote_protocol.x
551
LXC_PROTOCOL = $(srcdir)/remote/lxc_protocol.x
E
Eric Blake 已提交
552
QEMU_PROTOCOL = $(srcdir)/remote/qemu_protocol.x
553
REMOTE_DRIVER_PROTOCOL = $(REMOTE_PROTOCOL) $(QEMU_PROTOCOL) $(LXC_PROTOCOL)
554

E
Eric Blake 已提交
555
remote/remote_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
556
		$(REMOTE_PROTOCOL) Makefile.am
557
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
558 559
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/remote/remote_client_bodies.h
560

E
Eric Blake 已提交
561
remote/lxc_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
562
		$(LXC_PROTOCOL) Makefile.am
563
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
564 565
	  lxc LXC $(LXC_PROTOCOL) \
	  > $(srcdir)/remote/lxc_client_bodies.h
566

E
Eric Blake 已提交
567
remote/qemu_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
568
		$(QEMU_PROTOCOL) Makefile.am
569
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
570 571
	  qemu QEMU $(QEMU_PROTOCOL) \
	  > $(srcdir)/remote/qemu_client_bodies.h
572

573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590
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

591 592
REMOTE_DRIVER_SOURCES = \
		remote/remote_driver.c remote/remote_driver.h \
593
		$(REMOTE_DRIVER_GENERATED)
594

595 596 597 598 599 600 601 602 603 604 605 606 607
LIBVIRTD_GENERATED = \
		remote/remote_daemon_dispatch_stubs.h \
		remote/remote_daemon_dispatch_lxc_stubs.h \
		remote/remote_daemon_dispatch_qemu_stubs.h \
		$(NULL)

LIBVIRTD_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 \
		$(LIBVIRTD_GENERATED)

608
EXTRA_DIST +=  $(REMOTE_DRIVER_PROTOCOL) \
609 610 611
		$(REMOTE_DRIVER_GENERATED) \
		$(LIBVIRTD_SOURCES) \
		$(NULL)
612

M
Martin Kletzander 已提交
613 614 615
ADMIN_PROTOCOL = $(srcdir)/admin/admin_protocol.x

ADMIN_PROTOCOL_GENERATED = \
616 617
		admin/admin_protocol.c \
		admin/admin_protocol.h \
618 619 620
		admin/admin_client.h \
		admin/admin_server_dispatch_stubs.h \
		$(NULL)
621 622 623 624 625 626

admin/admin_client.h: $(srcdir)/rpc/gendispatch.pl \
		$(ADMIN_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
	  admin ADMIN $(ADMIN_PROTOCOL) \
	  > $(srcdir)/admin/admin_client.h
M
Martin Kletzander 已提交
627

628 629 630 631 632 633
admin/admin_server_dispatch_stubs.h: $(srcdir)/rpc/gendispatch.pl \
		$(ADMIN_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=server \
	  admin ADMIN $(ADMIN_PROTOCOL) \
	  > $(srcdir)/admin/admin_server_dispatch_stubs.h

M
Martin Kletzander 已提交
634 635 636 637
EXTRA_DIST += $(ADMIN_PROTOCOL) $(ADMIN_PROTOCOL_GENERATED)
BUILT_SOURCES += $(ADMIN_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(ADMIN_PROTOCOL_GENERATED)

638 639 640 641 642 643 644 645 646 647
# Ensure that we don't change the struct or member names or member ordering
# in remote_protocol.x  The embedded perl below needs a few comments, and
# presumes you know what pdwtags output looks like:
# * use -0777 -n to slurp the entire file into $_.
# * the "split" splits on the /* DD */ comments, so that $p iterates
#     through the struct definitions.
# * process only "struct remote_..." entries
# * remove comments and preceding TAB throughout
# * remove empty lines throughout
# * remove white space at end of buffer
648 649 650 651

# With pdwtags 1.8, --verbose output includes separators like these:
# /* 93 */
# /* <0> (null):0 */
652 653
# with the second line omitted for intrinsic types.
# Whereas with pdwtags 1.3, they look like this:
654
# /* <2d2> /usr/include/libio.h:180 */
655 656
# The alternation of the following regexps matches both cases.
r1 = /\* \d+ \*/
657
r2 = /\* <[[:xdigit:]]+> \S+:\d+ \*/
M
Martin Kletzander 已提交
658 659 660
libs_prefix = remote_|qemu_|lxc_|admin_
other_prefix = keepalive|vir(Net|LockSpace|LXCMonitor)
struct_prefix = ($(libs_prefix)|$(other_prefix))
661

662
# Depending on configure options, libtool creates one or both of
E
Eric Blake 已提交
663 664
# remote/{,.libs/}libvirt_driver_remote_la-remote_protocol.o.  We want
# the newest of the two, in case configure options changed and a stale
665
# file is left around from an earlier build.
666
PDWTAGS = \
667 668 669 670 671 672 673 674
	$(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then \
	  o=`ls -t $(<:.lo=.$(OBJEXT)) \
	     $(subst /,/.libs/,$(<:.lo=.$(OBJEXT))) \
	    2>/dev/null | sed -n 1p`; \
	  test -f "$$o" || { echo ".o for $< not found" >&2; exit 1; }; \
	  pdwtags --verbose $$o > $(@F)-t1 2> $(@F)-t2; \
	  if test ! -s $(@F)-t1 && test -s $(@F)-t2; then \
	    rm -rf $(@F)-t?; \
675
	    echo 'WARNING: pdwtags appears broken; skipping the $@ test' >&2;\
676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693
	  else \
	    $(PERL) -0777 -n \
		-e 'foreach my $$p (split m!\n*(?:$(r1)|$(r2))\n!) {' \
		-e '  if ($$p =~ /^(struct|enum) $(struct_prefix)/ ||' \
		-e '      $$p =~ /^enum \{/) {' \
		-e '    $$p =~ s!\t*/\*.*?\*/!!sg;' \
		-e '    $$p =~ s!\s+\n!\n!sg;' \
		-e '    $$p =~ s!\s+$$!!;' \
		-e '    $$p =~ s!\t!        !g;' \
		-e '    print "$$p\n";' \
		-e '    $$n++;' \
		-e '  }' \
		-e '}' \
		-e 'BEGIN {' \
		-e '  print "/* -*- c -*- */\n";' \
		-e '}' \
		-e 'END {' \
		-e '  if ($$n < 1) {' \
694
		-e '    warn "WARNING: your pdwtags program is too old\n";' \
695
		-e '    warn "WARNING: skipping the $@ test\n";' \
696
		-e '    warn "WARNING: install dwarves-1.3 or newer\n";' \
697 698 699 700
		-e '    exit 8;' \
		-e '  }' \
		-e '}' \
		< $(@F)-t1 > $(@F)-t3; \
701
	    case $$? in 8) rm -f $(@F)-t?; exit 0;; 0) ;; *) exit 1;; esac;\
702 703 704 705
	    diff -u $(@)s $(@F)-t3; st=$$?; rm -f $(@F)-t?; exit $$st; \
	  fi; \
	else \
	  echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2; \
706
	  echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
707
	fi
708

709
# .libs/libvirt.so is built by libtool as a side-effect of the Makefile
710 711
# rule for libvirt.la.  However, checking symbols relies on Linux ELF layout
if WITH_LINUX
712 713 714
check-symfile: libvirt.syms libvirt.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \
	  .libs/libvirt.so
715 716 717
check-admin-symfile: libvirt_admin.syms libvirt-admin.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt_admin.syms \
	  .libs/libvirt-admin.so
718
else ! WITH_LINUX
719
check-symfile:
720
check-admin-symfile:
721
endif ! WITH_LINUX
722
check-symsorting:
723
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl \
724
		$(srcdir) $(SYM_FILES)
725 726 727
check-admin-symsorting:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl \
		$(srcdir) $(ADMIN_SYM_FILES)
J
Jiri Denemark 已提交
728
EXTRA_DIST += check-symfile.pl check-symsorting.pl
729

E
Eric Blake 已提交
730
# Keep this list synced with RPC_PROBE_FILES
731 732
PROTOCOL_STRUCTS = \
	$(srcdir)/remote_protocol-structs \
733
	$(srcdir)/lxc_protocol-structs \
734
	$(srcdir)/qemu_protocol-structs \
J
Jiri Denemark 已提交
735
	$(srcdir)/virnetprotocol-structs \
E
Eric Blake 已提交
736 737 738
	$(srcdir)/virkeepaliveprotocol-structs \
	$(srcdir)/lxc_monitor_protocol-structs \
	$(srcdir)/lock_protocol-structs \
M
Martin Kletzander 已提交
739
	$(srcdir)/admin_protocol-structs \
E
Eric Blake 已提交
740 741
	$(NULL)

742
if WITH_REMOTE
743 744
check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)

745 746
# 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.
747 748 749
$(srcdir)/remote_protocol-struct \
	$(srcdir)/qemu_protocol-struct \
	$(srcdir)/lxc_protocol-struct: \
E
Eric Blake 已提交
750
		$(srcdir)/%-struct: remote/libvirt_driver_remote_la-%.lo
751
	$(PDWTAGS)
752
$(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \
E
Eric Blake 已提交
753
		$(srcdir)/%-struct: rpc/libvirt_net_rpc_la-%.lo
754
	$(PDWTAGS)
E
Eric Blake 已提交
755
$(srcdir)/lxc_monitor_protocol-struct: \
E
Eric Blake 已提交
756
		$(srcdir)/%-struct: lxc/libvirt_driver_lxc_impl_la-%.lo
E
Eric Blake 已提交
757 758
	$(PDWTAGS)
$(srcdir)/lock_protocol-struct: \
E
Eric Blake 已提交
759
		$(srcdir)/%-struct: locking/lockd_la-%.lo
E
Eric Blake 已提交
760
	$(PDWTAGS)
M
Martin Kletzander 已提交
761 762 763
$(srcdir)/admin_protocol-struct: \
		$(srcdir)/%-struct: admin/libvirt_admin_la-%.lo
	$(PDWTAGS)
E
Eric Blake 已提交
764

765
else !WITH_REMOTE
766 767 768
# The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be
# re-generated when configured --without-remote.
check-protocol:
769
endif !WITH_REMOTE
J
Jiri Denemark 已提交
770
EXTRA_DIST += $(PROTOCOL_STRUCTS)
771 772 773 774 775

check-drivername:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-drivername.pl \
		$(srcdir)/driver.h \
		$(srcdir)/libvirt_public.syms \
776
		$(srcdir)/libvirt_admin_public.syms \
777 778 779 780 781
		$(srcdir)/libvirt_qemu.syms \
		$(srcdir)/libvirt_lxc.syms

EXTRA_DIST += check-drivername.pl

782
DRIVER_SOURCE_FILES += \
783 784 785 786 787 788 789
	$(INTERFACE_DRIVER_SOURCES) \
	$(LXC_DRIVER_SOURCES) \
	$(NETWORK_DRIVER_SOURCES) \
	$(NODE_DEVICE_DRIVER_SOURCES) \
	$(NODE_DEVICE_DRIVER_HAL_SOURCES) \
	$(NODE_DEVICE_DRIVER_UDEV_SOURCES) \
	$(NWFILTER_DRIVER_SOURCES) \
790
	$(VZ_DRIVER_SOURCES) \
791 792 793
	$(REMOTE_DRIVER_SOURCES) \
	$(SECRET_DRIVER_SOURCES) \
	$(STORAGE_DRIVER_SOURCES) \
794 795
	$(NULL)

796
STATEFUL_DRIVER_SOURCE_FILES += \
797 798 799 800 801 802 803
	$(INTERFACE_DRIVER_SOURCES) \
	$(LXC_DRIVER_SOURCES) \
	$(NETWORK_DRIVER_SOURCES) \
	$(NODE_DEVICE_DRIVER_SOURCES) \
	$(NWFILTER_DRIVER_SOURCES) \
	$(SECRET_DRIVER_SOURCES) \
	$(STORAGE_DRIVER_SOURCES) \
804
	$(VZ_DRIVER_SOURCES) \
805 806
	$(NULL)

807 808 809

check-driverimpls:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-driverimpls.pl \
810
		$(filter /%,$(DRIVER_SOURCE_FILES)) \
E
Eric Blake 已提交
811 812 813
		$(filter $(srcdir)/%,$(DRIVER_SOURCE_FILES)) \
		$(addprefix $(srcdir)/,$(filter-out $(srcdir)/%, \
			$(filter-out /%,$(DRIVER_SOURCE_FILES))))
814

815 816
check-aclrules:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclrules.pl \
E
Eric Blake 已提交
817
		$(REMOTE_PROTOCOL) \
818
		$(addprefix $(srcdir)/,$(filter-out /%,$(STATEFUL_DRIVER_SOURCE_FILES)))
819

820 821 822 823 824
check-aclperms:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclperms.pl \
		$(srcdir)/access/viraccessperm.h \
		$(srcdir)/access/viraccessperm.c

G
Guido Günther 已提交
825
EXTRA_DIST += check-driverimpls.pl check-aclrules.pl check-aclperms.pl
826

827
check-local: check-protocol check-symfile check-symsorting \
828
	check-drivername check-driverimpls check-aclrules \
829
	check-aclperms check-admin-symfile check-admin-symsorting
830
.PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
831

832

833
LXC_MONITOR_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
834 835
	lxc/lxc_monitor_protocol.h \
	lxc/lxc_monitor_protocol.c \
836 837 838
	$(NULL)

LXC_MONITOR_GENERATED = \
E
Eric Blake 已提交
839
	lxc/lxc_monitor_dispatch.h \
840 841 842
	$(NULL)

LXC_CONTROLLER_GENERATED = \
E
Eric Blake 已提交
843
	lxc/lxc_controller_dispatch.h \
844 845 846
	$(NULL)

LXC_GENERATED = \
847
	$(LXC_MONITOR_PROTOCOL_GENERATED) \
848 849 850 851
	$(LXC_MONITOR_GENERATED) \
	$(LXC_CONTROLLER_GENERATED) \
	$(NULL)

852
LXC_MONITOR_PROTOCOL = $(srcdir)/lxc/lxc_monitor_protocol.x
853

E
Eric Blake 已提交
854
lxc/lxc_monitor_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
855
		$(LXC_MONITOR_PROTOCOL) Makefile.am
856
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
857 858
	  virLXCMonitor VIR_LXC_MONITOR $(LXC_MONITOR_PROTOCOL) > \
	  $(srcdir)/lxc/lxc_monitor_dispatch.h
859

E
Eric Blake 已提交
860
lxc/lxc_controller_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
861
		$(REMOTE_PROTOCOL) Makefile.am
862
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=server \
E
Eric Blake 已提交
863 864
	  virLXCMonitor VIR_LXC_MONITOR $(LXC_MONITOR_PROTOCOL) > \
	  $(srcdir)/lxc/lxc_controller_dispatch.h
865 866

EXTRA_DIST += \
867
	$(LXC_MONITOR_PROTOCOL) \
868 869 870 871 872
	$(LXC_GENERATED) \
	$(NULL)

BUILT_SOURCES += $(LXC_GENERATED)

873 874
CLEANFILES += $(LXC_GENERATED)

875 876 877 878 879 880 881 882 883 884 885 886
LXC_DRIVER_SOURCES = \
		$(LXC_MONITOR_PROTOCOL_GENERATED) \
		$(LXC_MONITOR_GENERATED) \
		lxc/lxc_conf.c lxc/lxc_conf.h \
		lxc/lxc_container.c lxc/lxc_container.h \
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h \
		lxc/lxc_domain.c lxc/lxc_domain.h \
		lxc/lxc_hostdev.c lxc/lxc_hostdev.h \
		lxc/lxc_monitor.c lxc/lxc_monitor.h \
		lxc/lxc_process.c lxc/lxc_process.h \
		lxc/lxc_fuse.c lxc/lxc_fuse.h \
		lxc/lxc_native.c lxc/lxc_native.h \
887
		lxc/lxc_driver.c lxc/lxc_driver.h
888

889 890 891 892 893 894 895 896
LXC_CONTROLLER_SOURCES = \
		$(LXC_MONITOR_PROTOCOL_GENERATED) \
		$(LXC_CONTROLLER_GENERATED) \
		lxc/lxc_conf.c lxc/lxc_conf.h \
		lxc/lxc_container.c lxc/lxc_container.h \
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h \
		lxc/lxc_domain.c lxc/lxc_domain.h \
		lxc/lxc_fuse.c lxc/lxc_fuse.h \
897
		lxc/lxc_controller.c
898

899 900
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES = \
		$(DATATYPES_SOURCES) \
J
Jamie Strandboge 已提交
901 902
		security/virt-aa-helper.c

903 904 905 906 907 908
VZ_DRIVER_SOURCES = \
		vz/vz_driver.h \
		vz/vz_driver.c \
		vz/vz_utils.c \
		vz/vz_utils.h \
		vz/vz_sdk.h \
909
		vz/vz_sdk.c
D
Dmitry Guryanov 已提交
910

911
NETWORK_DRIVER_SOURCES = \
912
		network/bridge_driver.h network/bridge_driver.c \
913 914
		network/bridge_driver_platform.h \
		network/bridge_driver_platform.c \
915 916
		$(NULL)
EXTRA_DIST += network/bridge_driver_linux.c network/bridge_driver_nop.c
917

918 919 920
INTERFACE_DRIVER_SOURCES =

if WITH_INTERFACE
921 922
INTERFACE_DRIVER_SOURCES += \
		interface/interface_driver.h \
923
		interface/interface_driver.c
924 925

if WITH_NETCF
926
INTERFACE_DRIVER_SOURCES += \
927
		interface/interface_backend_netcf.c
928
endif WITH_NETCF
929
if WITH_UDEV
930
INTERFACE_DRIVER_SOURCES += \
931
		interface/interface_backend_udev.c
932 933
endif WITH_UDEV
endif WITH_INTERFACE
934

935
SECRET_UTIL_SOURCES = \
936 937
		secret/secret_util.h secret/secret_util.c

938
SECRET_DRIVER_SOURCES = \
939
		secret/secret_driver.h secret/secret_driver.c
940

941
# Storage backend specific impls
942 943 944
STORAGE_DRIVER_BACKEND_SOURCES = \
		storage/storage_backend.h storage/storage_backend.c

945 946
STORAGE_DRIVER_SOURCES = \
		storage/storage_driver.h storage/storage_driver.c \
947
		$(STORAGE_DRIVER_BACKEND_SOURCES) \
948
		storage/storage_util.h storage/storage_util.c
949

950
STORAGE_DRIVER_FS_SOURCES = \
951
		storage/storage_backend_fs.h storage/storage_backend_fs.c
R
Richard W.M. Jones 已提交
952

953 954
STORAGE_DRIVER_LVM_SOURCES = \
		storage/storage_backend_logical.h \
955
		storage/storage_backend_logical.c
956

957
STORAGE_DRIVER_ISCSI_SOURCES = \
958
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
959

960
STORAGE_DRIVER_SCSI_SOURCES = \
961
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
962

963
STORAGE_DRIVER_MPATH_SOURCES = \
964
		storage/storage_backend_mpath.h storage/storage_backend_mpath.c
D
Dave Allan 已提交
965

966
STORAGE_DRIVER_DISK_SOURCES = \
967
		storage/storage_backend_disk.h storage/storage_backend_disk.c
968

969
STORAGE_DRIVER_RBD_SOURCES = \
970 971
		storage/storage_backend_rbd.h storage/storage_backend_rbd.c

972
STORAGE_DRIVER_SHEEPDOG_SOURCES = \
973 974
		storage/storage_backend_sheepdog.h storage/storage_backend_sheepdog.c \
		storage/storage_backend_sheepdog_priv.h
975

976
STORAGE_DRIVER_GLUSTER_SOURCES = \
977 978
		storage/storage_backend_gluster.h storage/storage_backend_gluster.c

979
STORAGE_DRIVER_ZFS_SOURCES = \
R
Roman Bogorodskiy 已提交
980 981
                storage/storage_backend_zfs.h storage/storage_backend_zfs.c

982 983
STORAGE_DRIVER_VSTORAGE_SOURCES = \
                storage/storage_backend_vstorage.h \
984 985
                storage/storage_backend_vstorage.c

986
STORAGE_HELPER_DISK_SOURCES = \
987
		storage/parthelper.c
988

989
UTIL_IO_HELPER_SOURCES = \
990 991
		util/iohelper.c

992
NETWORK_LEASES_HELPER_SOURCES = \
993 994
               network/leaseshelper.c

995
# Network filters
996 997 998 999 1000 1001 1002 1003 1004 1005
NWFILTER_DRIVER_SOURCES = \
		nwfilter/nwfilter_driver.h nwfilter/nwfilter_driver.c \
		nwfilter/nwfilter_tech_driver.h \
		nwfilter/nwfilter_gentech_driver.c \
		nwfilter/nwfilter_gentech_driver.h \
		nwfilter/nwfilter_dhcpsnoop.c \
		nwfilter/nwfilter_dhcpsnoop.h \
		nwfilter/nwfilter_ebiptables_driver.c \
		nwfilter/nwfilter_ebiptables_driver.h \
		nwfilter/nwfilter_learnipaddr.c \
1006
		nwfilter/nwfilter_learnipaddr.h
1007

1008

1009
# Security framework and drivers for various models
1010 1011 1012 1013 1014
SECURITY_DRIVER_SOURCES = \
		security/security_driver.h security/security_driver.c \
		security/security_nop.h security/security_nop.c \
		security/security_stack.h security/security_stack.c \
		security/security_dac.h security/security_dac.c \
1015
		security/security_manager.h security/security_manager.c
1016

1017
SECURITY_DRIVER_SELINUX_SOURCES = \
1018
		security/security_selinux.h security/security_selinux.c
1019

1020
SECURITY_DRIVER_APPARMOR_SOURCES = \
J
Jamie Strandboge 已提交
1021 1022
		security/security_apparmor.h security/security_apparmor.c

1023
ACCESS_DRIVER_GENERATED = \
E
Eric Blake 已提交
1024 1025 1026 1027 1028 1029 1030
		access/viraccessapicheck.h \
		access/viraccessapicheck.c \
		access/viraccessapicheckqemu.h \
		access/viraccessapicheckqemu.c \
		access/viraccessapichecklxc.h \
		access/viraccessapichecklxc.c \
		$(NULL)
1031

1032
ACCESS_DRIVER_SYM_FILES = \
1033 1034 1035
		libvirt_access.syms \
		libvirt_access_qemu.syms \
		libvirt_access_lxc.syms
1036

1037 1038 1039 1040 1041
ACCESS_DRIVER_API_FILES = \
		libvirt_access.xml \
		libvirt_access_qemu.xml \
		libvirt_access_lxc.xml

1042 1043 1044 1045 1046 1047 1048
ACCESS_DRIVER_SOURCES = \
		access/viraccessperm.h access/viraccessperm.c \
		access/viraccessmanager.h access/viraccessmanager.c \
		access/viraccessdriver.h \
		access/viraccessdrivernop.h access/viraccessdrivernop.c \
		access/viraccessdriverstack.h access/viraccessdriverstack.c

1049 1050 1051 1052
ACCESS_DRIVER_POLKIT_SOURCES = \
		access/viraccessdriverpolkit.h access/viraccessdriverpolkit.c

ACCESS_DRIVER_POLKIT_POLICY = \
1053
		$(srcdir)/access/org.libvirt.api.policy
1054 1055


1056 1057
NODE_DEVICE_DRIVER_SOURCES = \
		node_device/node_device_driver.c \
1058
		node_device/node_device_driver.h
1059

1060 1061
NODE_DEVICE_DRIVER_HAL_SOURCES = \
		node_device/node_device_hal.c \
1062
		node_device/node_device_hal.h
1063

1064 1065
NODE_DEVICE_DRIVER_UDEV_SOURCES = \
		node_device/node_device_udev.c \
D
Daniel Veillard 已提交
1066
		node_device/node_device_udev.h
1067

1068 1069 1070 1071 1072 1073 1074
CPU_SOURCES = \
		cpu/cpu.h cpu/cpu.c \
		cpu/cpu_x86.h cpu/cpu_x86.c cpu/cpu_x86_data.h \
		cpu/cpu_s390.h cpu/cpu_s390.c \
		cpu/cpu_arm.h cpu/cpu_arm.c \
		cpu/cpu_ppc64.h cpu/cpu_ppc64.c \
		cpu/cpu_ppc64_data.h \
1075
		cpu/cpu_map.h cpu/cpu_map.c
1076

1077
VMX_SOURCES = \
1078 1079
		vmx/vmx.c vmx/vmx.h

1080

J
Jiri Denemark 已提交
1081 1082
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
1083
EXTRA_DIST +=	$(pkgdata_DATA)
1084

1085 1086 1087 1088 1089 1090
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

1091
noinst_LTLIBRARIES += libvirt_util.la
1092
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
1093
libvirt_la_BUILT_LIBADD += libvirt_util.la
1094
libvirt_util_la_SOURCES = \
1095
		$(UTIL_SOURCES)
1096
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
1097
		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS) \
1098
		$(DBUS_CFLAGS) $(LDEXP_LIBM) $(NUMACTL_CFLAGS) \
1099
		$(POLKIT_CFLAGS) $(GNUTLS_CFLAGS) $(ACL_CFLAGS)
1100
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
1101
		$(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
1102
		$(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(WIN32_EXTRA_LIBS) $(LIBXML_LIBS) \
M
Michal Privoznik 已提交
1103
		$(SECDRIVER_LIBS) $(NUMACTL_LIBS) $(ACL_LIBS) \
1104
		$(POLKIT_LIBS) $(GNUTLS_LIBS)
1105

1106 1107

noinst_LTLIBRARIES += libvirt_conf.la
1108
libvirt_la_BUILT_LIBADD += libvirt_conf.la
1109
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
1110 1111
libvirt_conf_la_CFLAGS = \
		-I$(srcdir)/conf $(AM_CFLAGS)
1112
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
1113
libvirt_conf_la_LIBADD = $(LIBXML_LIBS)
1114

J
Jiri Denemark 已提交
1115
noinst_LTLIBRARIES += libvirt_cpu.la
1116
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
1117
libvirt_cpu_la_CFLAGS = \
1118
		-I$(srcdir)/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
1119 1120
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

1121 1122 1123 1124 1125 1126
noinst_LTLIBRARIES += libvirt_secret.la
libvirt_la_BUILT_LIBADD += libvirt_secret.la
libvirt_secret_la_CFLAGS = $(AM_CFLAGS)
libvirt_secret_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_secret_la_SOURCES = $(SECRET_UTIL_SOURCES)

1127 1128 1129 1130
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
1131
		-I$(srcdir)/conf $(AM_CFLAGS)
1132
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
1133
endif WITH_VMX
1134

1135

1136
noinst_LTLIBRARIES += libvirt_driver.la
1137
libvirt_la_BUILT_LIBADD += libvirt_driver.la
1138
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
1139

1140
libvirt_driver_la_CFLAGS = \
1141
		$(GNUTLS_CFLAGS) $(CURL_CFLAGS) $(XDR_CFLAGS) \
1142
		-I$(srcdir)/conf $(AM_CFLAGS)
1143
libvirt_driver_la_LIBADD = \
1144
		$(GNUTLS_LIBS) $(CURL_LIBS) $(DLOPEN_LIBS)
1145

1146 1147
# 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.
1148 1149 1150
SYM_FILES += $(USED_SYM_FILES)
USED_SYM_FILES += $(srcdir)/libvirt_private.syms
GENERATED_SYM_FILES += \
1151 1152
	$(ACCESS_DRIVER_SYM_FILES) \
	libvirt.syms libvirt.def libvirt_qemu.def libvirt_lxc.def \
1153
	libvirt_admin.syms libvirt_admin.def \
1154
	$(NULL)
1155

1156
if WITH_REMOTE
1157
noinst_LTLIBRARIES += libvirt_driver_remote.la
1158
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
1159 1160 1161 1162
libvirt_driver_remote_la_CFLAGS = \
		$(XDR_CFLAGS) \
		-I$(srcdir)/conf \
		-I$(srcdir)/rpc \
1163 1164
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
1165
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
1166

E
Eric Blake 已提交
1167
BUILT_SOURCES += $(REMOTE_DRIVER_GENERATED)
C
Chris Lalancette 已提交
1168

1169 1170
endif WITH_REMOTE

1171 1172 1173 1174 1175 1176 1177

if WITH_LIBVIRTD

sbin_PROGRAMS += libvirtd

BUILT_SOURCES += $(LIBVIRTD_GENERATED)

1178 1179 1180 1181 1182 1183
augeas_DATA += remote/libvirtd.aug

augeastest_DATA += test_libvirtd.aug

conf_DATA += remote/libvirtd.conf

1184
CLEANFILES += test_libvirtd.aug
1185

1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196
if WITH_POLKIT
if WITH_POLKIT0
policydir = $(datadir)/PolicyKit/policy
policyauth = auth_admin_keep_session
else ! WITH_POLKIT0
policydir = $(datadir)/polkit-1/actions
policyauth = auth_admin_keep
endif ! WITH_POLKIT0
endif WITH_POLKIT

BUILT_SOURCES += libvirtd.policy
1197
CLEANFILES += libvirtd.policy
1198 1199 1200 1201 1202 1203 1204

libvirtd.policy: remote/libvirtd.policy.in $(top_builddir)/config.status
	$(AM_V_GEN) sed \
	    -e 's|[@]authaction[@]|$(policyauth)|g' \
	    < $< > $@-t && \
	mv $@-t $@

1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245
libvirtd_SOURCES = $(LIBVIRTD_SOURCES)

libvirtd_CFLAGS = \
	$(LIBXML_CFLAGS) $(GNUTLS_CFLAGS) $(SASL_CFLAGS) \
	$(XDR_CFLAGS) $(DBUS_CFLAGS) $(LIBNL_CFLAGS) \
	$(WARN_CFLAGS) $(PIE_CFLAGS) \
	$(COVERAGE_CFLAGS) \
	-I$(srcdir)/access \
	-I$(srcdir)/conf \
	-I$(srcdir)/rpc \
	$(NULL)

libvirtd_LDFLAGS = \
	$(RELRO_LDFLAGS) \
	$(PIE_LDFLAGS) \
	$(COVERAGE_LDFLAGS) \
	$(NO_INDIRECT_LDFLAGS) \
	$(NO_UNDEFINED_LDFLAGS) \
	$(NULL)

libvirtd_LDADD = \
	$(LIBXML_LIBS) \
	$(GNUTLS_LIBS) \
	$(SASL_LIBS) \
	$(DBUS_LIBS) \
	$(LIBNL_LIBS) \
	$(NULL)

if WITH_DTRACE_PROBES
libvirtd_LDADD += ../src/libvirt_probes.lo
endif WITH_DTRACE_PROBES

libvirtd_LDADD += \
	libvirt_driver_admin.la \
	libvirt-lxc.la \
	libvirt-qemu.la \
	libvirt.la \
	../gnulib/lib/libgnu.la $(LIBSOCKET) \
	$(NULL)

endif WITH_LIBVIRTD
1246 1247 1248 1249
EXTRA_DIST += \
	remote/test_libvirtd.aug.in \
	remote/libvirtd.aug \
	remote/libvirtd.conf \
1250 1251 1252 1253
	remote/libvirtd.policy.in \
	remote/libvirtd.rules \
	remote/libvirtd.sasl \
	remote/libvirtd.sysctl \
1254
	$(NULL)
1255

1256
%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
1257
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
1258
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
1259

1260
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
1261
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
1262
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
1263

1264

J
Jim Fehlig 已提交
1265

1266

1267 1268

if WITH_LXC
E
Eric Blake 已提交
1269 1270 1271
noinst_LTLIBRARIES += libvirt_driver_lxc_impl.la
libvirt_driver_lxc_la_SOURCES =
libvirt_driver_lxc_la_LIBADD = libvirt_driver_lxc_impl.la
1272
mod_LTLIBRARIES += libvirt_driver_lxc.la
1273
libvirt_driver_lxc_la_LIBADD += libvirt.la ../gnulib/lib/libgnu.la
1274
libvirt_driver_lxc_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
E
Eric Blake 已提交
1275 1276

libvirt_driver_lxc_impl_la_CFLAGS = \
S
Serge Hallyn 已提交
1277
		$(LIBNL_CFLAGS) \
G
Gao feng 已提交
1278
		$(FUSE_CFLAGS) \
P
Pavel Fedin 已提交
1279
		$(XDR_CFLAGS) \
1280 1281
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1282
		$(AM_CFLAGS)
I
ik.nitk 已提交
1283 1284 1285 1286 1287 1288
libvirt_driver_lxc_impl_la_LIBADD = \
               $(CAPNG_LIBS) \
               $(LIBNL_LIBS) \
               $(LIBXML_LIBS) \
               $(FUSE_LIBS)

1289
if WITH_BLKID
E
Eric Blake 已提交
1290 1291
libvirt_driver_lxc_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_lxc_impl_la_LIBADD += $(BLKID_LIBS)
1292
endif WITH_BLKID
1293
libvirt_driver_lxc_impl_la_LIBADD += $(SECDRIVER_LIBS)
E
Eric Blake 已提交
1294
libvirt_driver_lxc_impl_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
1295 1296 1297

conf_DATA += lxc/lxc.conf

1298
augeas_DATA += lxc/libvirtd_lxc.aug
1299 1300
augeastest_DATA += test_libvirtd_lxc.aug
CLEANFILES += test_libvirtd_lxc.aug
1301

1302
endif WITH_LXC
1303
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug.in
1304

1305

D
Daniel Veillard 已提交
1306

M
Matthias Bolte 已提交
1307 1308


1309
if WITH_VZ
1310 1311 1312 1313
noinst_LTLIBRARIES += libvirt_driver_vz_impl.la
libvirt_driver_vz_la_SOURCES =
libvirt_driver_vz_la_LIBADD = libvirt_driver_vz_impl.la
mod_LTLIBRARIES += libvirt_driver_vz.la
1314
libvirt_driver_vz_la_LIBADD += libvirt.la ../gnulib/lib/libgnu.la
1315
libvirt_driver_vz_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
1316
libvirt_driver_vz_impl_la_CFLAGS = \
1317 1318 1319
		-I$(srcdir)/conf \
		-I$(srcdir)/access \
		$(AM_CFLAGS) \
1320
		$(PARALLELS_SDK_CFLAGS) $(LIBNL_CFLAGS)
1321 1322
libvirt_driver_vz_impl_la_SOURCES = $(VZ_DRIVER_SOURCES)
libvirt_driver_vz_impl_la_LIBADD =  $(PARALLELS_SDK_LIBS) $(LIBNL_LIBS)
1323
endif WITH_VZ
D
Dmitry Guryanov 已提交
1324

R
Roman Bogorodskiy 已提交
1325

1326
if WITH_NETWORK
E
Eric Blake 已提交
1327 1328 1329
noinst_LTLIBRARIES += libvirt_driver_network_impl.la
libvirt_driver_network_la_SOURCES =
libvirt_driver_network_la_LIBADD = libvirt_driver_network_impl.la
1330
mod_LTLIBRARIES += libvirt_driver_network.la
1331
libvirt_driver_network_la_LIBADD += libvirt.la ../gnulib/lib/libgnu.la \
1332 1333 1334
	$(LIBNL_LIBS) \
	$(DBUS_LIBS) \
	$(NULL)
1335
libvirt_driver_network_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
E
Eric Blake 已提交
1336 1337

libvirt_driver_network_impl_la_CFLAGS = \
1338 1339
		$(LIBNL_CFLAGS) \
		$(DBUS_CFLAGS) \
1340 1341
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1342
		$(AM_CFLAGS)
E
Eric Blake 已提交
1343
libvirt_driver_network_impl_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
1344
libvirt_driver_network_impl_la_LIBADD  = $(DBUS_LIBS)
1345
endif WITH_NETWORK
1346 1347 1348
EXTRA_DIST += network/default.xml


1349
if WITH_INTERFACE
1350
mod_LTLIBRARIES += libvirt_driver_interface.la
1351
libvirt_driver_interface_la_CFLAGS = \
1352 1353
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1354
		$(AM_CFLAGS) $(LIBNL_CFLAGS)
1355
libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
1356 1357 1358 1359
libvirt_driver_interface_la_LIBADD =
if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
1360
endif WITH_NETCF
1361
if WITH_UDEV
1362 1363
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
1364
endif WITH_UDEV
1365
libvirt_driver_interface_la_LIBADD += libvirt.la ../gnulib/lib/libgnu.la
1366
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
1367
endif WITH_INTERFACE
D
Daniel Veillard 已提交
1368

D
Daniel P. Berrange 已提交
1369
if WITH_SECRETS
1370
mod_LTLIBRARIES += libvirt_driver_secret.la
1371
libvirt_driver_secret_la_CFLAGS = \
1372 1373
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1374
		$(AM_CFLAGS)
1375
libvirt_driver_secret_la_LIBADD = libvirt.la ../gnulib/lib/libgnu.la
1376
libvirt_driver_secret_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
1377
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
1378
endif WITH_SECRETS
1379

1380
# Needed to keep automake quiet about conditionals
1381 1382
libvirt_driver_storage_impl_la_SOURCES =
libvirt_driver_storage_impl_la_CFLAGS = \
1383 1384
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1385
		-I$(srcdir)/secret \
1386
		$(AM_CFLAGS)
1387 1388
libvirt_driver_storage_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_storage_impl_la_LIBADD =
1389
libvirt_driver_storage_impl_la_LIBADD += $(SECDRIVER_LIBS) $(LIBXML_LIBS)
1390
if WITH_BLKID
1391 1392
libvirt_driver_storage_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_storage_impl_la_LIBADD += $(BLKID_LIBS)
1393
endif WITH_BLKID
1394 1395 1396 1397

storagebackenddir = $(libdir)/libvirt/storage-backend
storagebackend_LTLIBRARIES =

1398
if WITH_STORAGE
1399 1400 1401
noinst_LTLIBRARIES += libvirt_driver_storage_impl.la
libvirt_driver_storage_la_SOURCES =
libvirt_driver_storage_la_LIBADD = libvirt_driver_storage_impl.la
1402
mod_LTLIBRARIES += libvirt_driver_storage.la
1403
libvirt_driver_storage_la_LIBADD += libvirt.la ../gnulib/lib/libgnu.la
1404
libvirt_driver_storage_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
1405
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
1406 1407 1408


libvirt_storage_backend_fs_la_SOURCES = $(STORAGE_DRIVER_FS_SOURCES)
1409
libvirt_storage_backend_fs_la_CFLAGS = \
1410 1411 1412
	-I$(srcdir)/conf \
	$(AM_CFLAGS)

1413
storagebackend_LTLIBRARIES += libvirt_storage_backend_fs.la
1414
libvirt_storage_backend_fs_la_LDFLAGS = $(AM_LDFLAGS_MOD)
1415
libvirt_storage_backend_fs_la_LIBADD = libvirt.la ../gnulib/lib/libgnu.la
1416
endif WITH_STORAGE
1417

1418
if WITH_STORAGE_LVM
1419 1420 1421 1422 1423 1424
libvirt_storage_backend_logical_la_SOURCES = \
	$(STORAGE_DRIVER_LVM_SOURCES)
libvirt_storage_backend_logical_la_CFLAGS = \
	-I$(srcdir)/conf \
	$(AM_CFLAGS)

1425
storagebackend_LTLIBRARIES += libvirt_storage_backend_logical.la
1426
libvirt_storage_backend_logical_la_LDFLAGS = $(AM_LDFLAGS_MOD)
1427
libvirt_storage_backend_logical_la_LIBADD = libvirt.la ../gnulib/lib/libgnu.la
1428
endif WITH_STORAGE_LVM
1429

1430
if WITH_STORAGE_ISCSI
1431 1432 1433 1434 1435 1436 1437
libvirt_storage_backend_iscsi_la_SOURCES = \
	$(STORAGE_DRIVER_ISCSI_SOURCES)
libvirt_storage_backend_iscsi_la_CFLAGS = \
	-I$(srcdir)/conf \
	-I$(srcdir)/secret \
	$(AM_CFLAGS)

1438
storagebackend_LTLIBRARIES += libvirt_storage_backend_iscsi.la
1439
libvirt_storage_backend_iscsi_la_LDFLAGS = $(AM_LDFLAGS_MOD)
1440
libvirt_storage_backend_iscsi_la_LIBADD = libvirt.la ../gnulib/lib/libgnu.la
1441
endif WITH_STORAGE_ISCSI
1442

1443
if WITH_STORAGE_SCSI
1444 1445 1446 1447 1448
libvirt_storage_backend_scsi_la_SOURCES = $(STORAGE_DRIVER_SCSI_SOURCES)
libvirt_storage_backend_scsi_la_CFLAGS = \
	-I$(srcdir)/conf \
	$(AM_CFLAGS)

1449
storagebackend_LTLIBRARIES += libvirt_storage_backend_scsi.la
1450
libvirt_storage_backend_scsi_la_LDFLAGS = $(AM_LDFLAGS_MOD)
1451
libvirt_storage_backend_scsi_la_LIBADD = libvirt.la ../gnulib/lib/libgnu.la
1452
endif WITH_STORAGE_SCSI
1453

D
Dave Allan 已提交
1454
if WITH_STORAGE_MPATH
1455 1456 1457
libvirt_storage_backend_mpath_la_SOURCES = \
	$(STORAGE_DRIVER_MPATH_SOURCES)
libvirt_storage_backend_mpath_la_LIBADD = $(DEVMAPPER_LIBS)
1458
libvirt_storage_backend_mpath_la_CFLAGS = \
1459 1460 1461 1462
	-I$(srcdir)/conf \
	$(DEVMAPPER_CFLAGS) \
	$(AM_CFLAGS)

1463
storagebackend_LTLIBRARIES += libvirt_storage_backend_mpath.la
1464
libvirt_storage_backend_mpath_la_LDFLAGS = $(AM_LDFLAGS_MOD)
1465
libvirt_storage_backend_mpath_la_LIBADD += libvirt.la ../gnulib/lib/libgnu.la
1466
endif WITH_STORAGE_MPATH
D
Dave Allan 已提交
1467

1468
if WITH_STORAGE_DISK
1469
libvirt_storage_backend_disk_la_SOURCES = $(STORAGE_DRIVER_DISK_SOURCES)
1470
libvirt_storage_backend_disk_la_CFLAGS = \
1471 1472 1473
	-I$(srcdir)/conf \
	$(AM_CFLAGS)

1474
storagebackend_LTLIBRARIES += libvirt_storage_backend_disk.la
1475
libvirt_storage_backend_disk_la_LDFLAGS = $(AM_LDFLAGS_MOD)
1476
libvirt_storage_backend_disk_la_LIBADD = libvirt.la ../gnulib/lib/libgnu.la
1477
endif WITH_STORAGE_DISK
1478

1479
if WITH_STORAGE_RBD
1480 1481 1482 1483 1484 1485 1486
libvirt_storage_backend_rbd_la_SOURCES = $(STORAGE_DRIVER_RBD_SOURCES)
libvirt_storage_backend_rbd_la_LIBADD = $(LIBRBD_LIBS)
libvirt_storage_backend_rbd_la_CFLAGS = \
	-I$(srcdir)/conf \
	-I$(srcdir)/secret \
	$(AM_CFLAGS)

1487
storagebackend_LTLIBRARIES += libvirt_storage_backend_rbd.la
1488
libvirt_storage_backend_rbd_la_LDFLAGS = $(AM_LDFLAGS_MOD)
1489
libvirt_storage_backend_rbd_la_LIBADD += libvirt.la ../gnulib/lib/libgnu.la
1490
endif WITH_STORAGE_RBD
1491

1492
if WITH_STORAGE_SHEEPDOG
1493 1494 1495 1496 1497 1498
libvirt_storage_backend_sheepdog_la_SOURCES = \
	$(STORAGE_DRIVER_SHEEPDOG_SOURCES)
libvirt_storage_backend_sheepdog_la_CFLAGS = \
	-I$(srcdir)/conf \
	$(AM_CFLAGS)

1499 1500 1501 1502 1503 1504 1505 1506 1507
libvirt_storage_backend_sheepdog_priv_la_SOURCES = \
	$(STORAGE_DRIVER_SHEEPDOG_SOURCES) \
	$(STORAGE_DRIVER_BACKEND_SOURCES)
libvirt_storage_backend_sheepdog_priv_la_CFLAGS = \
	-I$(srcdir)/conf \
	$(AM_CFLAGS)
noinst_LTLIBRARIES += libvirt_storage_backend_sheepdog_priv.la

storagebackend_LTLIBRARIES += libvirt_storage_backend_sheepdog.la
1508
libvirt_storage_backend_sheepdog_la_LDFLAGS = $(AM_LDFLAGS_MOD)
1509
libvirt_storage_backend_sheepdog_la_LIBADD = libvirt.la ../gnulib/lib/libgnu.la
1510
endif WITH_STORAGE_SHEEPDOG
1511

1512
if WITH_STORAGE_GLUSTER
1513 1514 1515 1516 1517 1518 1519 1520
libvirt_storage_backend_gluster_la_SOURCES = \
	$(STORAGE_DRIVER_GLUSTER_SOURCES)
libvirt_storage_backend_gluster_la_LIBADD = $(GLUSTERFS_LIBS)
libvirt_storage_backend_gluster_la_CFLAGS = \
	-I$(srcdir)/conf \
	$(GLUSTERFS_CFLAGS) \
	$(AM_CFLAGS)

1521
storagebackend_LTLIBRARIES += libvirt_storage_backend_gluster.la
1522
libvirt_storage_backend_gluster_la_LDFLAGS = $(AM_LDFLAGS_MOD)
1523
libvirt_storage_backend_gluster_la_LIBADD += libvirt.la ../gnulib/lib/libgnu.la
1524 1525
endif WITH_STORAGE_GLUSTER

R
Roman Bogorodskiy 已提交
1526
if WITH_STORAGE_ZFS
1527
libvirt_storage_backend_zfs_la_SOURCES = $(STORAGE_DRIVER_ZFS_SOURCES)
1528
libvirt_storage_backend_zfs_la_CFLAGS = \
1529 1530 1531
	-I$(srcdir)/conf \
	$(AM_CFLAGS)

1532
storagebackend_LTLIBRARIES += libvirt_storage_backend_zfs.la
1533
libvirt_storage_backend_zfs_la_LDFLAGS = $(AM_LDFLAGS_MOD)
1534
libvirt_storage_backend_zfs_la_LIBADD = libvirt.la ../gnulib/lib/libgnu.la
R
Roman Bogorodskiy 已提交
1535 1536
endif WITH_STORAGE_ZFS

1537
if WITH_STORAGE_VSTORAGE
1538 1539
libvirt_storage_backend_vstorage_la_SOURCES = \
	$(STORAGE_DRIVER_VSTORAGE_SOURCES)
1540
libvirt_storage_backend_vstorage_la_CFLAGS = \
1541 1542 1543
	-I$(srcdir)/conf \
	$(AM_CFLAGS)

1544
storagebackend_LTLIBRARIES += libvirt_storage_backend_vstorage.la
1545
libvirt_storage_backend_vstorage_la_LDFLAGS = $(AM_LDFLAGS_MOD)
1546
libvirt_storage_backend_vstorage_la_LIBADD = libvirt.la ../gnulib/lib/libgnu.la
1547 1548
endif WITH_STORAGE_VSTORAGE

1549 1550 1551 1552 1553
if WITH_NODE_DEVICES
# Needed to keep automake quiet about conditionals
mod_LTLIBRARIES += libvirt_driver_nodedev.la
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

1554
libvirt_driver_nodedev_la_CFLAGS = \
1555 1556
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1557
		$(AM_CFLAGS) $(LIBNL_CFLAGS)
1558
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
1559
libvirt_driver_nodedev_la_LIBADD =
1560

1561
if WITH_HAL
1562 1563
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
1564
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
1565
endif WITH_HAL
1566
if WITH_UDEV
1567
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
1568
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
1569
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
1570
endif WITH_UDEV
1571

1572
libvirt_driver_nodedev_la_LIBADD += libvirt.la ../gnulib/lib/libgnu.la
1573
endif WITH_NODE_DEVICES
1574 1575


1576
if WITH_NWFILTER
1577 1578 1579
noinst_LTLIBRARIES += libvirt_driver_nwfilter_impl.la
libvirt_driver_nwfilter_la_SOURCES =
libvirt_driver_nwfilter_la_LIBADD = libvirt_driver_nwfilter_impl.la
1580
mod_LTLIBRARIES += libvirt_driver_nwfilter.la
1581
libvirt_driver_nwfilter_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
1582
libvirt_driver_nwfilter_impl_la_CFLAGS = \
1583 1584 1585
		$(LIBPCAP_CFLAGS) \
		$(LIBNL_CFLAGS) \
		$(DBUS_CFLAGS) \
1586 1587
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1588
		$(AM_CFLAGS)
1589 1590 1591 1592 1593
libvirt_driver_nwfilter_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_nwfilter_impl_la_LIBADD = \
		$(LIBPCAP_LIBS) \
		$(LIBNL_LIBS) \
		$(DBUS_LIBS)
1594
libvirt_driver_nwfilter_impl_la_LIBADD += libvirt.la ../gnulib/lib/libgnu.la
1595
libvirt_driver_nwfilter_impl_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
1596
endif WITH_NWFILTER
1597 1598


1599 1600 1601 1602
libvirt_security_manager_la_SOURCES = $(SECURITY_DRIVER_SOURCES)
noinst_LTLIBRARIES += libvirt_security_manager.la
libvirt_la_BUILT_LIBADD += libvirt_security_manager.la
libvirt_security_manager_la_CFLAGS = \
1603
		-I$(srcdir)/conf $(AM_CFLAGS)
1604
libvirt_security_manager_la_LDFLAGS = $(AM_LDFLAGS)
1605
libvirt_security_manager_la_LIBADD = $(SECDRIVER_LIBS)
1606
if WITH_SECDRIVER_SELINUX
1607 1608
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
libvirt_security_manager_la_CFLAGS += $(SELINUX_CFLAGS)
1609
endif WITH_SECDRIVER_SELINUX
J
Jamie Strandboge 已提交
1610
if WITH_SECDRIVER_APPARMOR
1611 1612
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
libvirt_security_manager_la_CFLAGS += $(APPARMOR_CFLAGS)
1613
endif WITH_SECDRIVER_APPARMOR
1614

1615 1616
libvirt_driver_access_la_SOURCES = \
	$(ACCESS_DRIVER_SOURCES) $(ACCESS_DRIVER_GENERATED)
1617 1618 1619
noinst_LTLIBRARIES += libvirt_driver_access.la
libvirt_la_BUILT_LIBADD += libvirt_driver_access.la
libvirt_driver_access_la_CFLAGS = \
1620
		-I$(srcdir)/conf $(AM_CFLAGS)
1621 1622 1623
libvirt_driver_access_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_access_la_LIBADD =

1624 1625
EXTRA_DIST += access/genpolkit.pl

1626 1627 1628 1629
$(ACCESS_DRIVER_POLKIT_POLICY): $(srcdir)/access/viraccessperm.h \
    $(srcdir)/access/genpolkit.pl Makefile.am
	$(AM_V_GEN)$(PERL) $(srcdir)/access/genpolkit.pl < $< > $@ || rm -f $@

1630 1631 1632 1633
if WITH_POLKIT1
libvirt_driver_access_la_SOURCES += $(ACCESS_DRIVER_POLKIT_SOURCES)

polkitactiondir = $(datadir)/polkit-1/actions
1634
if WITH_LIBVIRTD
1635
polkitaction_DATA = $(ACCESS_DRIVER_POLKIT_POLICY)
1636
endif WITH_LIBVIRTD
1637 1638 1639

CLEANFILES += $(ACCESS_DRIVER_POLKIT_POLICY)
BUILT_SOURCES += $(ACCESS_DRIVER_POLKIT_POLICY)
1640
else ! WITH_POLKIT1
1641
EXTRA_DIST += $(ACCESS_DRIVER_POLKIT_SOURCES)
1642
endif ! WITH_POLKIT1
1643

1644

1645 1646
BUILT_SOURCES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
CLEANFILES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660

libvirt_access.syms: $(srcdir)/rpc/gendispatch.pl \
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclsym \
	  remote REMOTE $(REMOTE_PROTOCOL) > $@
libvirt_access_qemu.syms: $(srcdir)/rpc/gendispatch.pl \
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclsym \
	  qemu QEMU $(QEMU_PROTOCOL) > $@
libvirt_access_lxc.syms: $(srcdir)/rpc/gendispatch.pl \
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclsym \
	  lxc LXC $(LXC_PROTOCOL) > $@

1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673
libvirt_access.xml: $(srcdir)/rpc/gendispatch.pl \
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclapi \
	  remote REMOTE $(REMOTE_PROTOCOL) > $@
libvirt_access_qemu.xml: $(srcdir)/rpc/gendispatch.pl \
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclapi \
	  qemu QEMU $(QEMU_PROTOCOL) > $@
libvirt_access_lxc.xml: $(srcdir)/rpc/gendispatch.pl \
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclapi \
	  lxc LXC $(LXC_PROTOCOL) > $@

E
Eric Blake 已提交
1674
access/viraccessapicheck.h: $(srcdir)/rpc/gendispatch.pl \
1675 1676
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1677 1678 1679
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheck.h
access/viraccessapicheck.c: $(srcdir)/rpc/gendispatch.pl \
1680 1681
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1682 1683
	  remote REMOTE $(REMOTE_PROTOCOL) access/viraccessapicheck.h \
	  > $(srcdir)/access/viraccessapicheck.c
1684

E
Eric Blake 已提交
1685
access/viraccessapicheckqemu.h: $(srcdir)/rpc/gendispatch.pl \
1686 1687
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1688 1689 1690
	  qemu QEMU $(QEMU_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheckqemu.h
access/viraccessapicheckqemu.c: $(srcdir)/rpc/gendispatch.pl \
1691 1692
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1693 1694
	  qemu QEMU $(QEMU_PROTOCOL) access/viraccessapicheckqemu.h \
	  > $(srcdir)/access/viraccessapicheckqemu.c
1695

E
Eric Blake 已提交
1696
access/viraccessapichecklxc.h: $(srcdir)/rpc/gendispatch.pl \
1697 1698
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1699 1700 1701
	  lxc LXC $(LXC_PROTOCOL) \
	  > $(srcdir)/access/viraccessapichecklxc.h
access/viraccessapichecklxc.c: $(srcdir)/rpc/gendispatch.pl \
1702 1703
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1704 1705
	  lxc LXC $(LXC_PROTOCOL) access/viraccessapichecklxc.h \
	  > $(srcdir)/access/viraccessapichecklxc.c
1706

1707
# Add all conditional sources just in case...
1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733
EXTRA_DIST += \
		$(REMOTE_DRIVER_SOURCES) \
		$(LXC_DRIVER_SOURCES) \
		$(VZ_DRIVER_SOURCES) \
		$(NETWORK_DRIVER_SOURCES) \
		$(INTERFACE_DRIVER_SOURCES) \
		$(STORAGE_DRIVER_SOURCES) \
		$(STORAGE_DRIVER_FS_SOURCES) \
		$(STORAGE_DRIVER_LVM_SOURCES) \
		$(STORAGE_DRIVER_ISCSI_SOURCES) \
		$(STORAGE_DRIVER_SCSI_SOURCES) \
		$(STORAGE_DRIVER_MPATH_SOURCES) \
		$(STORAGE_DRIVER_DISK_SOURCES) \
		$(STORAGE_DRIVER_RBD_SOURCES) \
		$(STORAGE_DRIVER_SHEEPDOG_SOURCES) \
		$(STORAGE_DRIVER_GLUSTER_SOURCES) \
		$(STORAGE_DRIVER_ZFS_SOURCES) \
		$(STORAGE_DRIVER_VSTORAGE_SOURCES) \
		$(NODE_DEVICE_DRIVER_SOURCES) \
		$(NODE_DEVICE_DRIVER_HAL_SOURCES) \
		$(NODE_DEVICE_DRIVER_UDEV_SOURCES) \
		$(NWFILTER_DRIVER_SOURCES) \
		$(SECURITY_DRIVER_SELINUX_SOURCES) \
		$(SECURITY_DRIVER_APPARMOR_SOURCES) \
		$(SECRET_DRIVER_SOURCES) \
		$(SECRET_UTIL_SOURCES) \
1734
		$(ACCESS_DRIVER_POLKIT_POLICY)
1735

1736 1737
check-local: check-augeas

1738 1739 1740 1741
.PHONY: check-augeas \
	check-augeas-lxc \
	check-augeas-sanlock \
	check-augeas-lockd \
1742
	check-augeas-libvirtd \
1743
	$(NULL)
1744

1745 1746
check-augeas: $(AUGEAS_DIRS:%=check-augeas-%) \
	check-augeas-lxc check-augeas-sanlock \
1747
	check-augeas-lockd check-augeas-virtlockd \
1748
	check-augeas-virtlogd check-augeas-libvirtd
1749

1750
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1751
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1752

1753
if WITH_LXC
1754 1755
test_libvirtd_lxc.aug: lxc/test_libvirtd_lxc.aug.in \
		$(srcdir)/lxc/lxc.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1756
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/lxc/lxc.conf $< $@
1757

1758
check-augeas-lxc: test_libvirtd_lxc.aug
1759
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1760
	    '$(AUGPARSE)' -I $(srcdir)/lxc test_libvirtd_lxc.aug; \
1761
	fi
1762
else ! WITH_LXC
1763
check-augeas-lxc:
1764
endif ! WITH_LXC
1765

1766
if WITH_SANLOCK
1767 1768
test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
		locking/qemu-sanlock.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1769
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
1770

1771
check-augeas-sanlock: test_libvirt_sanlock.aug
1772
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1773
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_sanlock.aug; \
1774
	fi
1775
else ! WITH_SANLOCK
1776
check-augeas-sanlock:
1777
endif ! WITH_SANLOCK
1778

1779
if WITH_QEMU
1780 1781 1782
test_libvirt_lockd.aug: locking/test_libvirt_lockd.aug.in \
		locking/qemu-lockd.conf $(AUG_GENTEST)
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-lockd.conf $< $@
1783 1784 1785
else ! WITH_QEMU
test_libvirt_lockd.aug:
endif ! WITH_QEMU
1786

1787 1788
test_virtlockd.aug: locking/test_virtlockd.aug.in \
		locking/virtlockd.conf $(AUG_GENTEST)
1789
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/locking/virtlockd.conf $< $@
1790

1791
if WITH_QEMU
1792 1793 1794 1795
check-augeas-lockd: test_libvirt_lockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_lockd.aug; \
	fi
1796 1797 1798
else ! WITH_QEMU
check-augeas-lockd:
endif ! WITH_QEMU
1799

1800 1801 1802 1803 1804
check-augeas-virtlockd: test_virtlockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_virtlockd.aug; \
	fi

1805

1806 1807 1808 1809 1810 1811 1812 1813 1814
test_virtlogd.aug: logging/test_virtlogd.aug.in \
		logging/virtlogd.conf $(AUG_GENTEST)
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/logging/virtlogd.conf $< $@

check-augeas-virtlogd: test_virtlogd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/logging test_virtlogd.aug; \
	fi

1815 1816 1817
if WITH_LIBVIRTD
test_libvirtd.aug: remote/test_libvirtd.aug.in \
		remote/libvirtd.conf $(AUG_GENTEST)
1818
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/remote/libvirtd.conf $< $@
1819 1820 1821 1822 1823 1824 1825 1826

check-augeas-libvirtd: test_libvirtd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/remote test_libvirtd.aug; \
	fi
else ! WITH_LIBVIRTD
check-augeas-libvirtd:
endif ! WITH_LIBVIRTD
1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845
#
# 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.
#

1846
USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
1847

1848
if WITH_LINUX
1849
USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
1850
else ! WITH_LINUX
1851
SYM_FILES += $(srcdir)/libvirt_linux.syms
1852
endif ! WITH_LINUX
1853

E
Eric Blake 已提交
1854 1855 1856 1857 1858 1859
if WITH_REMOTE
USED_SYM_FILES += $(srcdir)/libvirt_remote.syms
else ! WITH_REMOTE
SYM_FILES += $(srcdir)/libvirt_remote.syms
endif ! WITH_REMOTE

1860
if WITH_VMX
1861
USED_SYM_FILES += $(srcdir)/libvirt_vmx.syms
1862
else ! WITH_VMX
1863
SYM_FILES += $(srcdir)/libvirt_vmx.syms
1864
endif ! WITH_VMX
1865

1866
if WITH_SASL
1867
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
1868
else ! WITH_SASL
1869
SYM_FILES += $(srcdir)/libvirt_sasl.syms
1870
endif ! WITH_SASL
E
Eric Blake 已提交
1871

1872 1873
if WITH_GNUTLS
USED_SYM_FILES += $(srcdir)/libvirt_gnutls.syms
1874
else ! WITH_GNUTLS
1875
SYM_FILES += $(srcdir)/libvirt_gnutls.syms
1876
endif ! WITH_GNUTLS
1877

1878
if WITH_SSH2
1879
USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
1880
else ! WITH_SSH2
1881
SYM_FILES += $(srcdir)/libvirt_libssh2.syms
1882
endif ! WITH_SSH2
1883

1884
if WITH_ATOMIC_OPS_PTHREAD
1885
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
1886
else ! WITH_ATOMIC_OPS_PTHREAD
1887
SYM_FILES += $(srcdir)/libvirt_atomic.syms
1888
endif ! WITH_ATOMIC_OPS_PTHREAD
1889

1890 1891 1892 1893 1894 1895
if WITH_LIBSSH
USED_SYM_FILES += $(srcdir)/libvirt_libssh.syms
else ! WITH_LIBSSH
SYM_FILES += $(srcdir)/libvirt_libssh.syms
endif ! WITH_LIBSSH

1896
EXTRA_DIST += \
1897 1898 1899 1900 1901 1902
	libvirt_public.syms \
	libvirt_lxc.syms \
	libvirt_qemu.syms \
	libvirt_admin_public.syms \
	$(SYM_FILES) \
	$(ADMIN_SYM_FILES) \
1903
	$(NULL)
1904

1905
BUILT_SOURCES += $(GENERATED_SYM_FILES)
1906

1907 1908
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(ACCESS_DRIVER_SYM_FILES) \
1909
		$(top_builddir)/config.status
1910 1911 1912 1913 1914 1915
	$(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 && \
1916
	cat $(USED_SYM_FILES) $(ACCESS_DRIVER_SYM_FILES) >>$@-tmp && \
1917 1918
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
1919
	mv $@-tmp libvirt.syms
1920

1921
%.def: %.syms
1922 1923
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
1924
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d' \
1925
	    -e 's/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1926
	chmod a-w $@-tmp && \
1927
	mv $@-tmp $@
1928

1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941
libvirt_admin.syms: libvirt_admin_public.syms $(ADMIN_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_admin_public.syms >>$@-tmp && \
	printf '\n\n# Private symbols\n\n' >>$@-tmp && \
	printf 'LIBVIRT_ADMIN_PRIVATE_$(VERSION) {\n\n'  >>$@-tmp && \
	printf 'global:\n\n' >>$@-tmp && \
	cat $(ADMIN_SYM_FILES) >>$@-tmp && \
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt_admin.syms

1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956

admin/admin_server_dispatch.c: admin/admin_server_dispatch_stubs.h

noinst_LTLIBRARIES += libvirt_driver_admin.la
libvirt_driver_admin_la_SOURCES = \
		admin/admin_protocol.c \
		admin/admin_protocol.h \
		admin/admin_server.c \
		admin/admin_server.h \
		admin/admin_server_dispatch.c \
		admin/admin_server_dispatch.h \
		admin/admin_server_dispatch_stubs.h \
		$(NULL)
libvirt_driver_admin_la_CFLAGS = \
		$(AM_CFLAGS) \
1957
		$(XDR_CFLAGS) \
1958 1959 1960 1961 1962 1963
		-I$(top_srcdir)/src/util \
		-I$(top_srcdir)/src/admin \
		$(NULL)
libvirt_driver_admin_la_LIBADD = ../gnulib/lib/libgnu.la
libvirt_driver_admin_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)

1964 1965 1966 1967
# admin/admin_remote.c is being included in libvirt-admin.c, so we
# need to include it in the dist
EXTRA_DIST += admin/admin_remote.c

M
Martin Kletzander 已提交
1968 1969
lib_LTLIBRARIES += libvirt-admin.la
libvirt_admin_la_SOURCES = \
1970 1971
		libvirt-admin.c \
		$(ADMIN_PROTOCOL_GENERATED) \
M
Martin Kletzander 已提交
1972 1973 1974
		$(DATATYPES_SOURCES)

libvirt_admin_la_LDFLAGS = \
1975 1976
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_ADMIN_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
1977
		$(AM_LDFLAGS)
M
Martin Kletzander 已提交
1978 1979

libvirt_admin_la_LIBADD = \
1980
		libvirt.la \
M
Martin Kletzander 已提交
1981 1982 1983
		$(CYGWIN_EXTRA_LIBADD)

libvirt_admin_la_CFLAGS = \
1984 1985 1986
		$(AM_CFLAGS) \
		-I$(srcdir)/remote \
		-I$(srcdir)/rpc \
M
Martin Kletzander 已提交
1987 1988 1989
		-I$(srcdir)/admin

libvirt_admin_la_CFLAGS += \
1990 1991 1992 1993 1994 1995
		$(XDR_CFLAGS) \
		$(CAPNG_CFLAGS) \
		$(YAJL_CFLAGS) \
		$(SSH2_CFLAGS) \
		$(SASL_CFLAGS) \
		$(GNUTLS_CFLAGS) \
1996
		$(LIBSSH_CFLAGS)
M
Martin Kletzander 已提交
1997 1998

libvirt_admin_la_LIBADD += \
1999 2000 2001 2002 2003 2004 2005
		$(CAPNG_LIBS) \
		$(YAJL_LIBS) \
		$(DEVMAPPER_LIBS) \
		$(LIBXML_LIBS) \
		$(SSH2_LIBS) \
		$(SASL_LIBS) \
		$(GNUTLS_LIBS) \
2006
		$(LIBSSH_LIBS)
M
Martin Kletzander 已提交
2007

2008 2009
ADMIN_SYM_FILES = $(srcdir)/libvirt_admin_private.syms

M
Martin Kletzander 已提交
2010 2011 2012 2013
if WITH_DTRACE_PROBES
libvirt_admin_la_LIBADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

2014 2015
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
D
Daniel P. Berrange 已提交
2016 2017 2018 2019
libvirt_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(LIBVIRT_NODELETE) \
2020
		$(NO_UNDEFINED_LDFLAGS) \
D
Daniel P. Berrange 已提交
2021 2022
		$(AM_LDFLAGS) \
		$(NULL)
2023
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
2024
libvirt_la_LIBADD += \
2025
		    $(DRIVER_MODULES_LIBS) \
2026
		    $(CYGWIN_EXTRA_LIBADD)
2027
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
2028 2029 2030 2031 2032 2033
# 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)
2034

2035
if WITH_DTRACE_PROBES
2036
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
2037
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
2038
nodist_libvirt_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
2039
if WITH_REMOTE
E
Eric Blake 已提交
2040
nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
2041
endif WITH_REMOTE
2042
DTRACE2SYSTEMTAP_FLAGS = --with-modules
2043

2044 2045
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

2046 2047

tapsetdir = $(datadir)/systemtap/tapset
2048
tapset_DATA += libvirt_probes.stp libvirt_functions.stp
2049

2050
%_probes.h: %_probes.d
2051 2052
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

E
Eric Blake 已提交
2053
.PRECIOUS: %_probes.o
2054
%_probes.o: %_probes.d
2055 2056
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

2057 2058 2059 2060 2061 2062 2063 2064 2065
%_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='$<'" \
	> $@

E
Eric Blake 已提交
2066
# Keep this list synced with PROTOCOL_STRUCTS
J
Jiri Denemark 已提交
2067 2068 2069
RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x \
		  $(srcdir)/rpc/virkeepaliveprotocol.x \
		  $(srcdir)/remote/remote_protocol.x \
2070
		  $(srcdir)/remote/lxc_protocol.x \
2071 2072
		  $(srcdir)/remote/qemu_protocol.x \
		  $(srcdir)/lxc/lxc_monitor_protocol.x \
M
Martin Kletzander 已提交
2073 2074
		  $(srcdir)/locking/lock_protocol.x \
		  $(srcdir)/admin/admin_protocol.x
2075 2076

libvirt_functions.stp: $(RPC_PROBE_FILES) $(srcdir)/rpc/gensystemtap.pl
2077
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gensystemtap.pl $(RPC_PROBE_FILES) > $@
2078

2079 2080
%_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl \
		$(top_builddir)/config.status
2081
	$(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
2082
	  $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
2083

2084
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
2085
              libvirt_functions.stp libvirt_probes.stp
2086
endif WITH_DTRACE_PROBES
2087

2088
EXTRA_DIST += libvirt_probes.d
2089

C
Chris Lalancette 已提交
2090
libvirt_qemu_la_SOURCES = libvirt-qemu.c
D
Daniel P. Berrange 已提交
2091 2092 2093 2094 2095
libvirt_qemu_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(NULL)
2096
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
2097
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
2098

2099
libvirt_lxc_la_SOURCES = libvirt-lxc.c
D
Daniel P. Berrange 已提交
2100 2101 2102 2103 2104
libvirt_lxc_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_LXC_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(NULL)
2105 2106 2107
libvirt_lxc_la_CFLAGS = $(AM_CFLAGS)
libvirt_lxc_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)

2108 2109 2110 2111 2112 2113 2114
# Since virt-login-shell will be setuid, we must do everything
# we can to avoid linking to other libraries. Many of them do
# unsafe things in functions marked __atttribute__((constructor)).
# This library is built to include the bare minimum required to
# have a RPC client for local UNIX socket access only. We use
# the ../config-post.h header to disable all external deps that
# we don't want
2115
if WITH_SETUID_RPC_CLIENT
2116 2117
noinst_LTLIBRARIES += libvirt-setuid-rpc-client.la

2118 2119
libvirt_setuid_rpc_client_la_SOURCES = \
		util/viralloc.c \
2120
		util/virarch.c \
2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185
		util/viratomic.c \
		util/viratomic.h \
		util/virbitmap.c \
		util/virbuffer.c \
		util/vircgroup.c \
		util/vircommand.c \
		util/virconf.c \
		util/virdbus.c \
		util/virerror.c \
		util/virevent.c \
		util/vireventpoll.c \
		util/virfile.c \
		util/virgettext.c \
		util/virhash.c \
		util/virhashcode.c \
		util/virhostcpu.c \
		util/virjson.c \
		util/virlog.c \
		util/virobject.c \
		util/virpidfile.c \
		util/virprocess.c \
		util/virrandom.c \
		util/virsocketaddr.c \
		util/virstring.c \
		util/virsystemd.c \
		util/virtime.c \
		util/virthread.c \
		util/virthreadjob.c \
		util/virtypedparam.c \
		util/viruri.c \
		util/virutil.c \
		util/viruuid.c \
		conf/domain_event.c \
		conf/network_event.c \
		conf/object_event.c \
		conf/storage_event.c \
		conf/node_device_event.c \
		conf/secret_event.c \
		rpc/virnetsocket.c \
		rpc/virnetsocket.h \
		rpc/virnetmessage.h \
		rpc/virnetmessage.c \
		rpc/virkeepalive.c \
		rpc/virkeepalive.h \
		rpc/virnetclient.c \
		rpc/virnetclientprogram.c \
		rpc/virnetclientstream.c \
		rpc/virnetprotocol.c \
		remote/remote_driver.c \
		remote/remote_protocol.c \
		remote/qemu_protocol.c \
		remote/lxc_protocol.c \
		datatypes.c \
		libvirt.c \
		libvirt-domain.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 \
		libvirt-lxc.c \
2186 2187
		$(NULL)

2188 2189 2190 2191
libvirt_setuid_rpc_client_la_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(LIBXML_LIBS) \
		$(SECDRIVER_LIBS) \
2192
		$(NULL)
2193 2194 2195 2196 2197 2198 2199
libvirt_setuid_rpc_client_la_CFLAGS = \
		-DLIBVIRT_SETUID_RPC_CLIENT \
		-I$(srcdir)/conf \
		-I$(srcdir)/rpc \
		$(AM_CFLAGS) \
		$(SECDRIVER_CFLAGS) \
		$(XDR_CFLAGS) \
2200
		$(NULL)
2201
endif WITH_SETUID_RPC_CLIENT
2202

2203 2204 2205
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES =

2206
if WITH_LIBVIRTD
2207 2208 2209 2210 2211
lockdriver_LTLIBRARIES += lockd.la
lockd_la_SOURCES = \
		$(LOCK_DRIVER_LOCKD_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
		$(NULL)
2212
lockd_la_CFLAGS = -I$(srcdir)/conf \
E
Eric Blake 已提交
2213 2214
		$(XDR_CFLAGS) \
		$(AM_CFLAGS)
2215
lockd_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
2216
lockd_la_LIBADD = libvirt.la ../gnulib/lib/libgnu.la
J
Jiri Denemark 已提交
2217
augeas_DATA += locking/libvirt_lockd.aug
2218 2219
if WITH_DTRACE_PROBES
lockd_la_LIBADD += libvirt_probes.lo
2220
endif WITH_DTRACE_PROBES
2221
if WITH_QEMU
2222 2223
augeastest_DATA += test_libvirt_lockd.aug
CLEANFILES += test_libvirt_lockd.aug
2224
nodist_conf_DATA += locking/qemu-lockd.conf
2225 2226
BUILT_SOURCES += locking/qemu-lockd.conf
DISTCLEANFILES += locking/qemu-lockd.conf
2227
endif WITH_QEMU
2228

2229 2230 2231 2232 2233 2234
if WITH_LIBXL
nodist_conf_DATA += locking/libxl-lockd.conf
BUILT_SOURCES += locking/libxl-lockd.conf
DISTCLEANFILES += locking/libxl-lockd.conf
endif WITH_LIBXL

2235 2236 2237 2238 2239
locking/%-lockd.conf: $(srcdir)/locking/lockd.conf
	$(AM_V_GEN)$(MKDIR_P) locking ; \
	cp $< $@


2240
sbin_PROGRAMS += virtlockd virtlogd
2241

2242 2243 2244
virtlockd_SOURCES = \
		$(LOCK_DAEMON_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
2245
		$(LOCK_DAEMON_GENERATED) \
2246
		$(NULL)
2247 2248
virtlockd_CFLAGS = \
		$(AM_CFLAGS) \
D
Daniel P. Berrange 已提交
2249
		$(PIE_CFLAGS) \
2250
		$(XDR_CFLAGS) \
2251 2252 2253
		$(NULL)
virtlockd_LDFLAGS = \
		$(AM_LDFLAGS) \
D
Daniel P. Berrange 已提交
2254
		$(PIE_LDFLAGS) \
2255
		$(NO_UNDEFINED_LDFLAGS) \
2256 2257
		$(NULL)
virtlockd_LDADD = \
2258
		libvirt_driver_admin.la \
2259 2260 2261 2262 2263 2264 2265 2266
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
		libvirt_util.la \
		../gnulib/lib/libgnu.la \
		$(CYGWIN_EXTRA_LIBADD) \
		$(NULL)
if WITH_DTRACE_PROBES
virtlockd_LDADD += libvirt_probes.lo
2267
endif WITH_DTRACE_PROBES
2268

2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282

virtlogd_SOURCES = \
		$(LOG_DAEMON_SOURCES) \
		$(LOG_PROTOCOL_GENERATED) \
		$(LOG_DAEMON_GENERATED) \
		$(NULL)
virtlogd_CFLAGS = \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(XDR_CFLAGS) \
		$(NULL)
virtlogd_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
2283
		$(NO_UNDEFINED_LDFLAGS) \
2284 2285
		$(NULL)
virtlogd_LDADD = \
2286
		libvirt_driver_admin.la \
2287 2288 2289 2290 2291 2292 2293 2294 2295 2296
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
		libvirt_util.la \
		../gnulib/lib/libgnu.la \
		$(CYGWIN_EXTRA_LIBADD) \
		$(NULL)
if WITH_DTRACE_PROBES
virtlogd_LDADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

2297
else ! WITH_LIBVIRTD
2298
EXTRA_DIST += $(LOCK_DAEMON_SOURCES) \
2299 2300
              $(LOCK_DRIVER_LOCKD_SOURCES) \
	      $(LOG_DAEMON_SOURCES)
2301
endif ! WITH_LIBVIRTD
2302

2303
SYSCONF_FILES = \
2304
	locking/virtlockd.sysconf \
2305
	logging/virtlogd.sysconf \
2306
	remote/libvirtd.sysconf \
2307 2308 2309
	$(NULL)

EXTRA_DIST += \
J
Jiri Denemark 已提交
2310 2311
	locking/lockd.conf \
	locking/libvirt_lockd.aug \
2312
	locking/test_libvirt_lockd.aug.in \
2313 2314
	$(SYSCONF_FILES) \
	$(NULL)
2315 2316

install-sysconfig:
E
Eric Blake 已提交
2317
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
2318 2319 2320
	for f in $(SYSCONF_FILES:%.sysconf=%) ; \
	do \
	  tgt=`basename $$f`; \
2321 2322
	  $(INSTALL_SCRIPT) $(srcdir)/$$f.sysconf \
	      $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \
2323
	done
2324 2325

uninstall-sysconfig:
2326 2327 2328 2329 2330
	for f in $(SYSCONF_FILES:%.sysconf=%) ; \
	do \
	  tgt=`basename $$f`; \
	  rm -f $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \
	done
E
Eric Blake 已提交
2331
	rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
2332

2333 2334 2335
SYSVINIT_FILES_IN = \
	locking/virtlockd.init.in \
	logging/virtlogd.init.in \
2336
	remote/libvirtd.init.in \
2337 2338 2339 2340 2341
	$(NULL)

SYSVINIT_FILES = $(notdir $(SYSVINIT_FILES_IN:%.in=%))

EXTRA_DIST += $(SYSVINIT_FILES_IN)
2342

2343 2344 2345 2346 2347 2348 2349 2350 2351 2352
LOGROTATE_FILES_IN = \
	remote/libvirtd.qemu.logrotate.in \
	remote/libvirtd.lxc.logrotate.in \
	remote/libvirtd.libxl.logrotate.in \
	remote/libvirtd.uml.logrotate.in \
	remote/libvirtd.logrotate.in \
	$(NULL)

EXTRA_DIST += $(LOGROTATE_FILES_IN)

2353
if WITH_LIBVIRTD
2354

2355 2356 2357
LOGROTATE_FILES := $(LOGROTATE_FILES_IN:remote/%.in=%)

BUILT_SOURCES += $(LOGROTATE_FILES)
2358
CLEANFILES += $(LOGROTATE_FILES)
2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378

%.logrotate: remote/%.logrotate.in
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
	mv $@-t $@

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 || :

2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417
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
install-sysctl:
	$(MKDIR_P) $(DESTDIR)$(prefix)/lib/sysctl.d
	$(INSTALL_DATA) $(srcdir)/remote/libvirtd.sysctl \
	  $(DESTDIR)$(prefix)/lib/sysctl.d/60-libvirtd.conf

uninstall-sysctl:
	rm -f $(DESTDIR)$(prefix)/lib/sysctl.d/60-libvirtd.conf
	rmdir $(DESTDIR)$(prefix)/lib/sysctl.d || :
else ! WITH_SYSCTL
install-sysctl:
uninstall-sysctl:
endif ! WITH_SYSCTL

if WITH_POLKIT
install-polkit::
	$(MKDIR_P) $(DESTDIR)$(policydir)
	$(INSTALL_DATA) libvirtd.policy $(DESTDIR)$(policydir)/org.libvirt.unix.policy
if ! WITH_POLKIT0
	$(MKDIR_P) $(DESTDIR)$(datadir)/polkit-1/rules.d
	$(INSTALL_DATA) $(srcdir)/remote/libvirtd.rules \
		$(DESTDIR)$(datadir)/polkit-1/rules.d/50-libvirt.rules
endif ! WITH_POLKIT0

uninstall-polkit::
	rm -f $(DESTDIR)$(policydir)/org.libvirt.unix.policy
	rmdir $(DESTDIR)$(policydir) || :
if ! WITH_POLKIT0
	rm -f $(DESTDIR)$(datadir)/polkit-1/rules.d/50-libvirt.rules
	rmdir $(DESTDIR)$(datadir)/polkit-1/rules.d || :
endif ! WITH_POLKIT0

else ! WITH_POLKIT
install-polkit::
uninstall-polkit::
endif ! WITH_POLKIT

2418
if LIBVIRT_INIT_SCRIPT_RED_HAT
2419
install-init:: $(SYSVINIT_FILES) install-sysconfig
E
Eric Blake 已提交
2420
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d
2421 2422 2423 2424
	for f in $(SYSVINIT_FILES:%.init=%) ; \
	do \
	  $(INSTALL_SCRIPT) $$f.init $(DESTDIR)$(sysconfdir)/rc.d/init.d/$$f; \
	done
2425 2426

uninstall-init:: uninstall-sysconfig
2427
	rm -f $(SYSVINIT_FILES:%.init=$(DESTDIR)$(sysconfdir)/rc.d/init.d/%)
E
Eric Blake 已提交
2428
	rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || :
2429

2430 2431
BUILT_SOURCES += $(SYSVINIT_FILES)
DISTCLEANFILES += $(SYSVINIT_FILES)
2432
else ! LIBVIRT_INIT_SCRIPT_RED_HAT
2433 2434
install-init::
uninstall-init::
2435 2436
endif ! LIBVIRT_INIT_SCRIPT_RED_HAT
else ! WITH_LIBVIRTD
2437 2438 2439 2440
install-polkit::
uninstall-polkit::
install-sysctl::
uninstall-sysctl::
2441 2442
install-init::
uninstall-init::
2443 2444
install-logrotate::
uninstall-logrotate::
2445
endif ! WITH_LIBVIRTD
2446

2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463
# This is needed for clients too, so can't wrap in
# the WITH_LIBVIRTD conditional
if WITH_SASL
install-sasl:
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/sasl2/
	$(INSTALL_DATA) $(srcdir)/remote/libvirtd.sasl \
		$(DESTDIR)$(sysconfdir)/sasl2/libvirt.conf

uninstall-sasl:
	rm -f $(DESTDIR)$(sysconfdir)/sasl2/libvirt.conf
	rmdir $(DESTDIR)$(sysconfdir)/sasl2/ || :
else ! WITH_SASL
install-sasl:
uninstall-sasl:
endif ! WITH_SASL


2464 2465 2466 2467 2468 2469 2470 2471 2472
libvirtd.init: remote/libvirtd.init.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 && \
	    chmod a+x $@-t && \
	    mv $@-t $@

2473
virtlockd.init: locking/virtlockd.init.in $(top_builddir)/config.status
2474 2475 2476 2477 2478 2479
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    -e 's|[@]sbindir[@]|$(sbindir)|g' \
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
	    < $< > $@-t && \
	    chmod a+x $@-t && \
2480 2481
	    mv $@-t $@

2482
virtlogd.init: logging/virtlogd.init.in $(top_builddir)/config.status
2483 2484 2485 2486 2487 2488
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    -e 's|[@]sbindir[@]|$(sbindir)|g' \
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
	    < $< > $@-t && \
	    chmod a+x $@-t && \
2489 2490
	    mv $@-t $@

2491
virtlockd.8.in: locking/virtlockd.pod
2492 2493 2494 2495 2496 2497 2498 2499
	$(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 $@
2500

2501
virtlogd.8.in: logging/virtlogd.pod
2502 2503 2504 2505 2506 2507 2508 2509
	$(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 $@
2510

2511 2512 2513 2514 2515 2516 2517 2518 2519 2520
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 $@

2521
%.8: %.8.in $(top_srcdir)/configure.ac
2522
	$(AM_V_GEN)sed \
2523 2524 2525
		-e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
		-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
		< $< > $@-t && \
2526 2527
	mv $@-t $@

2528
if WITH_LIBVIRTD
2529
man8_MANS = virtlockd.8 virtlogd.8 libvirtd.8
2530

2531
conf_DATA += locking/virtlockd.conf logging/virtlogd.conf
2532

2533 2534
augeas_DATA += locking/virtlockd.aug logging/virtlogd.aug
augeastest_DATA += test_virtlockd.aug test_virtlogd.aug
2535
endif WITH_LIBVIRTD
2536

A
Andrea Bolognani 已提交
2537 2538 2539
PODFILES = \
	locking/virtlockd.pod \
	logging/virtlogd.pod \
2540
	remote/libvirtd.pod \
A
Andrea Bolognani 已提交
2541 2542 2543 2544 2545
	$(NULL)

MANINFILES = \
	virtlockd.8.in \
	virtlogd.8.in \
2546
	libvirtd.8.in \
A
Andrea Bolognani 已提交
2547 2548 2549 2550
	$(NULL)

CLEANFILES += test_virtlockd.aug test_virtlogd.aug $(man8_MANS)
MAINTAINERCLEANFILES += $(MANINFILES)
2551

2552 2553 2554 2555 2556 2557 2558
SYSTEMD_UNIT_FILES_IN = \
	locking/virtlockd.service.in \
	locking/virtlockd.socket.in \
	locking/virtlockd-admin.socket.in \
	logging/virtlogd.service.in \
	logging/virtlogd.socket.in \
	logging/virtlogd-admin.socket.in \
2559 2560
	remote/libvirtd.service.in \
	remote/virt-guest-shutdown.target.in \
2561 2562
	$(NULL)

2563
EXTRA_DIST += \
2564
        $(SYSTEMD_UNIT_FILES_IN) \
2565 2566 2567
        locking/virtlockd.aug \
        locking/virtlockd.conf \
        locking/test_virtlockd.aug.in \
2568 2569 2570
        logging/virtlogd.aug \
        logging/virtlogd.conf \
        logging/test_virtlogd.aug.in \
A
Andrea Bolognani 已提交
2571 2572
        $(PODFILES) \
        $(MANINFILES) \
2573
        $(NULL)
2574

2575 2576 2577 2578

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_SYSTEMD

2579
SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
2580
SYSTEMD_UNIT_FILES = $(notdir $(SYSTEMD_UNIT_FILES_IN:%.in=%))
2581

2582 2583
BUILT_SOURCES += $(SYSTEMD_UNIT_FILES)
DISTCLEANFILES += $(SYSTEMD_UNIT_FILES)
2584

2585
install-systemd: $(SYSTEMD_UNIT_FILES) install-sysconfig
E
Eric Blake 已提交
2586
	$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
2587 2588 2589 2590
	for f in $(SYSTEMD_UNIT_FILES); \
	do \
	  $(INSTALL_DATA) $$f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ ; \
	done
2591 2592

uninstall-systemd: uninstall-sysconfig
2593
	rm -f $(SYSTEMD_UNIT_FILES:%=$(DESTDIR)$(SYSTEMD_UNIT_DIR)/%)
E
Eric Blake 已提交
2594
	rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
2595
else ! LIBVIRT_INIT_SCRIPT_SYSTEMD
2596 2597
install-systemd:
uninstall-systemd:
2598 2599
endif ! LIBVIRT_INIT_SCRIPT_SYSTEMD
else ! WITH_LIBVIRTD
2600 2601
install-systemd:
uninstall-systemd:
2602
endif ! WITH_LIBVIRTD
2603

2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615
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 $@

virt-guest-shutdown.target: remote/virt-guest-shutdown.target.in \
			$(top_builddir)/config.status
	$(AM_V_GEN)cp $< $@

2616
virtlockd.service: locking/virtlockd.service.in $(top_builddir)/config.status
2617 2618 2619
	$(AM_V_GEN)sed \
	    -e 's|[@]sbindir[@]|$(sbindir)|g' \
	    < $< > $@-t && \
2620 2621 2622
	    mv $@-t $@

virtlockd.socket: locking/virtlockd.socket.in $(top_builddir)/config.status
2623 2624 2625
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
2626 2627
	    mv $@-t $@

J
John Ferlan 已提交
2628 2629 2630 2631 2632 2633 2634
virtlockd-admin.socket: locking/virtlockd-admin.socket.in \
                        $(top_builddir)/config.status
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
	    mv $@-t $@

2635
virtlogd.service: logging/virtlogd.service.in $(top_builddir)/config.status
2636 2637 2638
	$(AM_V_GEN)sed \
	    -e 's|[@]sbindir[@]|$(sbindir)|g' \
	    < $< > $@-t && \
2639 2640 2641
	    mv $@-t $@

virtlogd.socket: logging/virtlogd.socket.in $(top_builddir)/config.status
J
John Ferlan 已提交
2642 2643 2644 2645 2646 2647 2648
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
	    mv $@-t $@

virtlogd-admin.socket: logging/virtlogd-admin.socket.in \
                       $(top_builddir)/config.status
2649 2650 2651
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
2652 2653
	    mv $@-t $@

2654

2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668
UPSTART_FILES = \
	remote/libvirtd.upstart \
	$(NULL)

EXTRA_DIST += $(UPSTART_FILES)

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_UPSTART

install-upstart: install-sysconfig
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/event.d
	for f in $(UPSTART_FILES:%.upstart=%); \
	do \
	  tgt=`basename $$f` ; \
2669 2670
	  $(INSTALL_SCRIPT) $(srcdir)/$$f.upstart \
	      $(DESTDIR)$(sysconfdir)/event.d/$$tgt ; \
2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688
	done

uninstall-upstart: uninstall-sysconfig
	for f in $(UPSTART_FILES:%.upstart=%); \
	do \
	  tgt=`basename $$f` ; \
	  rm -f $(DESTDIR)$(sysconfdir)/event.d/$$tgt ; \
	done
	rmdir $(DESTDIR)$(sysconfdir)/event.d || :
else ! LIBVIRT_INIT_SCRIPT_UPSTART
install-upstart:
uninstall-upstart:
endif ! LIBVIRT_INIT_SCRIPT_UPSTART
else ! WITH_LIBVIRTD
install-upstart:
uninstall-upstart:
endif ! WITH_LIBVIRTD

2689
if WITH_SANLOCK
2690
lockdriver_LTLIBRARIES += sanlock.la
2691
sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
2692
sanlock_la_CFLAGS = -I$(srcdir)/conf $(AM_CFLAGS)
2693
sanlock_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
2694
sanlock_la_LIBADD = -lsanlock_client libvirt.la ../gnulib/lib/libgnu.la
2695 2696

augeas_DATA += locking/libvirt_sanlock.aug
2697 2698
augeastest_DATA += test_libvirt_sanlock.aug
CLEANFILES += test_libvirt_sanlock.aug
2699

E
Eric Blake 已提交
2700
locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
2701
	$(AM_V_GEN)$(MKDIR_P) locking ; \
2702 2703 2704
	cp $< $@

if WITH_QEMU
2705
nodist_conf_DATA += locking/qemu-sanlock.conf
2706
BUILT_SOURCES += locking/qemu-sanlock.conf
E
Eric Blake 已提交
2707
DISTCLEANFILES += locking/qemu-sanlock.conf
2708
endif WITH_QEMU
2709 2710 2711 2712 2713 2714

if WITH_LIBXL
nodist_conf_DATA += locking/libxl-sanlock.conf
BUILT_SOURCES += locking/libxl-sanlock.conf
DISTCLEANFILES += locking/libxl-sanlock.conf
endif WITH_LIBXL
2715
else ! WITH_SANLOCK
2716
EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
2717
endif ! WITH_SANLOCK
2718 2719
EXTRA_DIST += locking/sanlock.conf \
	locking/libvirt_sanlock.aug \
2720
	locking/test_libvirt_sanlock.aug.in
2721

2722 2723 2724 2725
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
2726

2727 2728 2729 2730 2731
libvirt_la_BUILT_LIBADD += \
       libvirt-net-rpc.la \
       libvirt-net-rpc-server.la \
       libvirt-net-rpc-client.la

2732
EXTRA_DIST += \
E
Eric Blake 已提交
2733 2734 2735 2736
	dtrace2systemtap.pl \
	rpc/gendispatch.pl \
	rpc/genprotocol.pl \
	rpc/gensystemtap.pl \
J
Jiri Denemark 已提交
2737 2738
	rpc/virnetprotocol.x \
	rpc/virkeepaliveprotocol.x
2739

E
Eric Blake 已提交
2740
VIR_NET_RPC_GENERATED = \
2741 2742 2743 2744
	rpc/virnetprotocol.h \
	rpc/virnetprotocol.c \
	rpc/virkeepaliveprotocol.h \
	rpc/virkeepaliveprotocol.c
2745

2746
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
2747

2748
libvirt_net_rpc_la_SOURCES = \
2749
	rpc/virnetmessage.h rpc/virnetmessage.c \
2750
	rpc/virnetsocket.h rpc/virnetsocket.c \
2751 2752
	rpc/virkeepalive.h rpc/virkeepalive.c \
	$(VIR_NET_RPC_GENERATED)
2753
if WITH_SSH2
2754 2755
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
2756
else ! WITH_SSH2
2757 2758
EXTRA_DIST += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
2759
endif ! WITH_SSH2
2760
if WITH_GNUTLS
2761 2762
libvirt_net_rpc_la_SOURCES += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
2763
else ! WITH_GNUTLS
2764 2765
EXTRA_DIST += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
2766
endif ! WITH_GNUTLS
2767
if WITH_SASL
2768 2769
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2770
else ! WITH_SASL
2771 2772
EXTRA_DIST += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2773
endif ! WITH_SASL
2774 2775 2776 2777 2778 2779 2780
if WITH_LIBSSH
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetlibsshsession.h rpc/virnetlibsshsession.c
else ! WITH_LIBSSH
EXTRA_DIST += \
	rpc/virnetlibsshsession.h rpc/virnetlibsshsession.c
endif ! WITH_LIBSSH
2781
libvirt_net_rpc_la_CFLAGS = \
2782
			$(GNUTLS_CFLAGS) \
2783
			$(SASL_CFLAGS) \
2784
			$(SSH2_CFLAGS) \
2785
			$(LIBSSH_CFLAGS) \
2786
			$(XDR_CFLAGS) \
2787 2788
			$(AM_CFLAGS)
libvirt_net_rpc_la_LDFLAGS = \
2789
			$(GNUTLS_LIBS) \
2790
			$(SASL_LIBS) \
2791
			$(SSH2_LIBS)\
2792
			$(LIBSSH_LIBS) \
J
Jim Fehlig 已提交
2793
			$(SECDRIVER_LIBS) \
2794
			$(AM_LDFLAGS) \
2795
			$(NULL)
2796 2797 2798
libvirt_net_rpc_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

2799 2800 2801 2802
libvirt_net_rpc_server_la_SOURCES = \
	rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
	rpc/virnetserverservice.h rpc/virnetserverservice.c \
	rpc/virnetserverclient.h rpc/virnetserverclient.c \
2803
	rpc/virnetservermdns.h rpc/virnetservermdns.c \
2804
	rpc/virnetdaemon.h rpc/virnetdaemon.c \
2805 2806
	rpc/virnetserver.h rpc/virnetserver.c
libvirt_net_rpc_server_la_CFLAGS = \
2807
			$(AVAHI_CFLAGS) \
2808
			$(DBUS_CFLAGS) \
E
Eric Blake 已提交
2809
			$(XDR_CFLAGS) \
2810
			$(AM_CFLAGS)
2811 2812
libvirt_net_rpc_server_la_LDFLAGS = \
			$(AM_LDFLAGS) \
2813
			$(AVAHI_LIBS) \
2814
			$(DBUS_LIBS) \
2815
			$(NULL)
2816 2817 2818
libvirt_net_rpc_server_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

2819 2820 2821 2822 2823
libvirt_net_rpc_client_la_SOURCES = \
	rpc/virnetclientprogram.h rpc/virnetclientprogram.c \
	rpc/virnetclientstream.h rpc/virnetclientstream.c \
	rpc/virnetclient.h rpc/virnetclient.c
libvirt_net_rpc_client_la_CFLAGS = \
E
Eric Blake 已提交
2824 2825
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
2826
libvirt_net_rpc_client_la_LDFLAGS = $(AM_LDFLAGS)
2827 2828
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
2829

2830 2831
libexec_PROGRAMS =

2832
if WITH_LIBVIRTD
2833 2834
libexec_PROGRAMS += libvirt_iohelper
libvirt_iohelper_SOURCES = $(UTIL_IO_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
2835 2836 2837 2838
libvirt_iohelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2839 2840
libvirt_iohelper_LDADD = \
		libvirt_util.la \
2841
		../gnulib/lib/libgnu.la
2842 2843
if WITH_DTRACE_PROBES
libvirt_iohelper_LDADD += libvirt_probes.lo
2844
endif WITH_DTRACE_PROBES
2845

D
Daniel P. Berrange 已提交
2846 2847 2848 2849
libvirt_iohelper_CFLAGS = \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2850 2851 2852 2853

if WITH_NETWORK
libexec_PROGRAMS += libvirt_leaseshelper
libvirt_leaseshelper_SOURCES = $(NETWORK_LEASES_HELPER_SOURCES)
2854 2855 2856 2857
libvirt_leaseshelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2858 2859
libvirt_leaseshelper_LDADD = \
               libvirt_util.la \
2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872
               ../gnulib/lib/libgnu.la
if WITH_DTRACE_PROBES
libvirt_leaseshelper_LDADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

libvirt_leaseshelper_CFLAGS = \
	       $(AM_CFLAGS) \
               $(PIE_CFLAGS) \
               $(NULL)
else ! WITH_NETWORK
EXTRA_DIST += $(NETWORK_LEASES_HELPER_SOURCES)
endif ! WITH_NETWORK

2873
endif WITH_LIBVIRTD
2874

2875
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
2876
if WITH_LIBVIRTD
2877
libexec_PROGRAMS += libvirt_parthelper
2878

2879
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
D
Daniel P. Berrange 已提交
2880 2881 2882 2883
libvirt_parthelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2884 2885 2886
libvirt_parthelper_LDADD = \
		$(LIBPARTED_LIBS) \
		libvirt_util.la \
2887
		../gnulib/lib/libgnu.la
2888 2889
if WITH_DTRACE_PROBES
libvirt_parthelper_LDADD += libvirt_probes.lo
2890
endif WITH_DTRACE_PROBES
2891

D
Daniel P. Berrange 已提交
2892 2893 2894 2895 2896
libvirt_parthelper_CFLAGS = \
		$(LIBPARTED_CFLAGS) \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2897 2898
endif WITH_LIBVIRTD
endif WITH_STORAGE_DISK
2899 2900
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

2901

2902
if WITH_SANLOCK
2903 2904 2905
libexec_PROGRAMS += libvirt_sanlock_helper

libvirt_sanlock_helper_SOURCES = $(LOCK_DRIVER_SANLOCK_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
2906
libvirt_sanlock_helper_CFLAGS = \
2907
		-I$(srcdir)/conf \
D
Daniel P. Berrange 已提交
2908 2909 2910 2911 2912 2913 2914
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
libvirt_sanlock_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2915
libvirt_sanlock_helper_LDADD = libvirt.la
2916
endif WITH_SANLOCK
2917

2918 2919 2920 2921
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

2922 2923
libvirt_lxc_SOURCES = \
		$(LXC_CONTROLLER_SOURCES) \
O
Osier Yang 已提交
2924
		$(DATATYPES_SOURCES)
D
Daniel P. Berrange 已提交
2925 2926 2927
libvirt_lxc_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
2928 2929
		$(CAPNG_LIBS) \
		$(LIBXML_LIBS) \
D
Daniel P. Berrange 已提交
2930
		$(NULL)
2931
libvirt_lxc_LDADD = \
G
Gao feng 已提交
2932
		$(FUSE_LIBS) \
2933
		libvirt.la \
2934
		../gnulib/lib/libgnu.la
2935
if WITH_DTRACE_PROBES
2936
libvirt_lxc_LDADD += libvirt_probes.lo
2937
endif WITH_DTRACE_PROBES
2938
libvirt_lxc_LDADD += $(SECDRIVER_LIBS)
2939 2940 2941 2942
libvirt_lxc_CFLAGS = \
		-I$(srcdir)/conf \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
2943 2944
		$(CAPNG_CFLAGS) \
		$(LIBXML_CFLAGS) \
2945 2946 2947 2948
		$(LIBNL_CFLAGS) \
		$(FUSE_CFLAGS) \
		$(DBUS_CFLAGS) \
		$(XDR_CFLAGS) \
D
Daniel P. Berrange 已提交
2949
		$(NULL)
2950
if WITH_BLKID
2951 2952
libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
libvirt_lxc_LDADD += $(BLKID_LIBS)
2953
endif WITH_BLKID
J
Jim Fehlig 已提交
2954
libvirt_lxc_CFLAGS += $(SECDRIVER_CFLAGS)
2955 2956
endif WITH_LIBVIRTD
endif WITH_LXC
2957 2958
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
2959 2960 2961 2962 2963 2964
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

D
Daniel P. Berrange 已提交
2965 2966 2967 2968
virt_aa_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2969 2970 2971 2972 2973
virt_aa_helper_LDADD = \
		libvirt.la \
		libvirt_conf.la \
		libvirt_util.la \
		libvirt_driver_storage_impl.la \
C
Chris Lalancette 已提交
2974
		../gnulib/lib/libgnu.la
2975
if WITH_DTRACE_PROBES
2976
virt_aa_helper_LDADD += libvirt_probes.lo
2977
endif WITH_DTRACE_PROBES
2978 2979 2980 2981 2982
virt_aa_helper_CFLAGS = \
		-I$(srcdir)/conf \
		-I$(srcdir)/security \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
D
Daniel P. Berrange 已提交
2983
		$(NULL)
2984 2985
endif WITH_LIBVIRTD
endif WITH_SECDRIVER_APPARMOR
J
Jamie Strandboge 已提交
2986 2987
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

2988
if WITH_NSS
2989 2990
noinst_LTLIBRARIES += libvirt-nss.la

2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039
libvirt_nss_la_SOURCES = \
		util/viralloc.c \
		util/viralloc.h \
		util/viratomic.c \
		util/viratomic.h \
		util/virbitmap.c \
		util/virbitmap.h \
		util/virbuffer.c \
		util/virbuffer.h \
		util/vircommand.c \
		util/vircommand.h \
		util/virerror.c \
		util/virerror.h \
		util/virfile.c \
		util/virfile.h \
		util/virhash.c \
		util/virhash.h \
		util/virhashcode.c \
		util/virhashcode.h \
		util/virjson.c \
		util/virjson.h \
		util/virkmod.c \
		util/virkmod.h \
		util/virlease.c \
		util/virlease.h \
		util/virlog.c \
		util/virlog.h \
		util/virmacmap.c \
		util/virmacmap.h \
		util/virobject.c \
		util/virobject.h \
		util/virpidfile.c \
		util/virpidfile.h \
		util/virprocess.c \
		util/virprocess.h \
		util/virrandom.c \
		util/virrandom.h \
		util/virsocketaddr.c \
		util/virsocketaddr.h \
		util/virstring.c \
		util/virstring.h \
		util/virthread.c \
		util/virthread.h \
		util/virthreadjob.c \
		util/virthreadjob.h \
		util/virtime.c \
		util/virtime.h \
		util/virutil.c \
		util/virutil.h \
3040 3041
		$(NULL)

3042 3043 3044 3045
libvirt_nss_la_CFLAGS = \
		-DLIBVIRT_NSS \
		$(AM_CFLAGS) \
		$(YAJL_CFLAGS) \
3046
		$(NULL)
3047 3048
libvirt_nss_la_LDFLAGS = \
		$(AM_LDFLAGS) \
3049 3050
		$(NULL)

3051 3052
libvirt_nss_la_LIBADD = \
		$(YAJL_LIBS) \
3053
		$(NULL)
3054
endif WITH_NSS
3055 3056


3057
install-data-local: install-init install-systemd install-upstart \
3058
		install-sysctl install-polkit install-sasl \
3059
		install-logrotate install-data-extra
3060
if WITH_LIBVIRTD
3061
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt"
3062
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd"
3063
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files"
3064
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lockd"
3065
endif WITH_LIBVIRTD
3066 3067
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
3068
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems"
3069
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
3070
if WITH_SANLOCK
3071
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock"
3072
endif WITH_SANLOCK
3073 3074 3075
if WITH_LXC
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
3076
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/lxc"
3077
endif WITH_LXC
3078 3079
if WITH_NETWORK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/network"
3080
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
3081
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
3082
	$(MKDIR_P) "$(DESTDIR)$(confdir)/qemu/networks/autostart"
3083
	$(INSTALL_DATA) $(srcdir)/network/default.xml \
3084
	  $(DESTDIR)$(confdir)/qemu/networks/default.xml
3085
	test -z "$(UUID)" || \
3086 3087 3088
	  { sed -e "s,</name>,</name>;  <uuid>$(UUID)</uuid>," \
	      $(DESTDIR)$(confdir)/qemu/networks/default.xml | \
	      tr ";" "\n" > \
3089 3090 3091 3092
	      $(DESTDIR)$(confdir)/qemu/networks/default.xml.t && \
	    cp $(DESTDIR)$(confdir)/qemu/networks/default.xml.t \
	      $(DESTDIR)$(confdir)/qemu/networks/default.xml && \
	    rm $(DESTDIR)$(confdir)/qemu/networks/default.xml.t; }
A
Andrea Bolognani 已提交
3093
	( cd $(DESTDIR)$(confdir)/qemu/networks/autostart && \
3094 3095
	  rm -f default.xml && \
	  $(LN_S) ../default.xml default.xml )
3096
endif WITH_NETWORK
3097

3098
uninstall-local:: uninstall-init uninstall-systemd uninstall-upstart \
3099
		uninstall-sysctl uninstall-polkit uninstall-sasl \
3100
		uninstall-logrotate uninstall-data-extra
3101
if WITH_LIBVIRTD
3102
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt" ||:
3103
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files" ||:
3104 3105
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lockd" ||:
3106
endif WITH_LIBVIRTD
3107 3108
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
3109
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
3110
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
3111
if WITH_SANLOCK
3112
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
3113
endif WITH_SANLOCK
3114 3115 3116
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
3117
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/lxc" ||:
3118
endif WITH_LXC
3119
if WITH_NETWORK
3120 3121 3122 3123
	rm -f $(DESTDIR)$(confdir)/qemu/networks/autostart/default.xml
	rm -f $(DESTDIR)$(confdir)/qemu/networks/default.xml
	rmdir "$(DESTDIR)$(confdir)/qemu/networks/autostart" || :
	rmdir "$(DESTDIR)$(confdir)/qemu/networks" || :
3124 3125
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/network" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/network" ||:
3126
endif WITH_NETWORK
3127
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
R
Richard W.M. Jones 已提交
3128

3129 3130
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
3131 3132 3133 3134 3135
MAINTAINERCLEANFILES += \
	$(REMOTE_DRIVER_GENERATED) \
	$(LIBVIRTD_GENERATED) \
	$(VIR_NET_RPC_GENERATED) \
	$(NULL)