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

3
## Copyright (C) 2005-2015 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
INCLUDES =	-I../gnulib/lib					\
		-I$(top_srcdir)/gnulib/lib			\
30
		-I$(top_srcdir)					\
31
		-I../include					\
32
		-I$(top_srcdir)/include				\
33
		-I$(srcdir)/util				\
A
Andrea Bolognani 已提交
34
		-I./util					\
35
		-DIN_LIBVIRT					\
36
		-Dabs_topbuilddir="\"$(abs_topbuilddir)\""	\
37
		-Dabs_topsrcdir="\"$(abs_topsrcdir)\""		\
38
		$(GETTEXT_CPPFLAGS)
E
Eric Blake 已提交
39

40
AM_CFLAGS =	$(LIBXML_CFLAGS)				\
41
		$(WARN_CFLAGS)					\
E
Eric Blake 已提交
42 43 44
		$(LOCK_CHECKING_CFLAGS)				\
		$(WIN32_EXTRA_CFLAGS)				\
		$(COVERAGE_CFLAGS)
45
AM_LDFLAGS =	$(DRIVER_MODULE_LDFLAGS)			\
G
Guido Günther 已提交
46 47
		$(COVERAGE_LDFLAGS)				\
		$(RELRO_LDFLAGS)				\
48
		$(NO_INDIRECT_LDFLAGS)				\
G
Guido Günther 已提交
49
		$(NULL)
50

L
Lai Jiangshan 已提交
51
EXTRA_DIST = $(conf_DATA) util/keymaps.csv
52

53
BUILT_SOURCES =
54 55 56
CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES =
57
nodist_conf_DATA =
58

E
Eric Blake 已提交
59 60
THREAD_LIBS = $(LIB_PTHREAD) $(LTLIBMULTITHREAD)

J
Jim Fehlig 已提交
61
SECDRIVER_CFLAGS =
62 63
SECDRIVER_LIBS =
if WITH_SECDRIVER_SELINUX
J
Jim Fehlig 已提交
64
SECDRIVER_CFLAGS += $(SELINUX_CFLAGS)
65
SECDRIVER_LIBS += $(SELINUX_LIBS)
66
endif WITH_SECDRIVER_SELINUX
67
if WITH_SECDRIVER_APPARMOR
J
Jim Fehlig 已提交
68
SECDRIVER_CFLAGS += $(APPARMOR_CFLAGS)
69
SECDRIVER_LIBS += $(APPARMOR_LIBS)
70
endif WITH_SECDRIVER_APPARMOR
71

72 73
if WITH_NETWORK
UUID=$(shell uuidgen 2>/dev/null)
74
endif WITH_NETWORK
75

76
lib_LTLIBRARIES = libvirt.la libvirt-qemu.la libvirt-lxc.la
77

78
moddir = $(libdir)/libvirt/connection-driver
79 80
mod_LTLIBRARIES =

A
Amy Griffis 已提交
81
confdir = $(sysconfdir)/libvirt
82
conf_DATA = libvirt.conf libvirt-admin.conf
83

84 85 86 87 88 89
augeasdir = $(datadir)/augeas/lenses
augeas_DATA =

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

90 91
# These files are not related to driver APIs. Simply generic
# helper APIs for various purposes
92
UTIL_SOURCES =							\
93
		util/viralloc.c util/viralloc.h			\
94
		util/virarch.h util/virarch.c			\
95
		util/viratomic.h util/viratomic.c		\
96
		util/viraudit.c util/viraudit.h			\
97
		util/virauth.c util/virauth.h			\
98
		util/virauthconfig.c util/virauthconfig.h	\
99
		util/virbitmap.c util/virbitmap.h		\
100
		util/virbuffer.c util/virbuffer.h		\
101
		util/virperf.c util/virperf.h			\
102
		util/vircgroup.c util/vircgroup.h util/vircgrouppriv.h	\
103
		util/virclosecallbacks.c util/virclosecallbacks.h		\
104
		util/vircommand.c util/vircommand.h util/vircommandpriv.h \
105
		util/virconf.c util/virconf.h			\
106
		util/vircrypto.c util/vircrypto.h		\
L
Laine Stump 已提交
107
		util/virdbus.c util/virdbus.h util/virdbuspriv.h	\
108
		util/virdnsmasq.c util/virdnsmasq.h		\
109
		util/virebtables.c util/virebtables.h		\
E
Eric Blake 已提交
110
		util/virendian.h				\
111
		util/virerror.c util/virerror.h			\
112
		util/virevent.c util/virevent.h			\
113
		util/vireventpoll.c util/vireventpoll.h		\
E
Eric Blake 已提交
114
		util/virfile.c util/virfile.h			\
115 116
		util/virfirewall.c util/virfirewall.h		\
		util/virfirewallpriv.h				\
117
		util/virfirmware.c util/virfirmware.h		\
118
		util/virgettext.c util/virgettext.h		\
119
		util/virgic.c util/virgic.h			\
120 121
		util/virhash.c util/virhash.h			\
		util/virhashcode.c util/virhashcode.h		\
122
		util/virhook.c util/virhook.h			\
123
		util/virhostcpu.c util/virhostcpu.h util/virhostcpupriv.h \
124
		util/virhostdev.c util/virhostdev.h		\
125
		util/virhostmem.c util/virhostmem.h		\
126
		util/viridentity.c util/viridentity.h		\
127
		util/virinitctl.c util/virinitctl.h		\
128
		util/viriptables.c util/viriptables.h		\
129
		util/viriscsi.c util/viriscsi.h			\
130
		util/virjson.c util/virjson.h			\
L
Lai Jiangshan 已提交
131
		util/virkeycode.c util/virkeycode.h		\
132
		util/virkeyfile.c util/virkeyfile.h		\
133
		util/virkeymaps.h				\
134
		util/virlease.c util/virlease.h			\
135
		util/virlockspace.c util/virlockspace.h		\
136
		util/virlog.c util/virlog.h			\
137
		util/virmacaddr.h util/virmacaddr.c		\
138
		util/virnetdev.h util/virnetdev.c		\
139
		util/virnetdevbandwidth.h util/virnetdevbandwidth.c \
140
		util/virnetdevbridge.h util/virnetdevbridge.c	\
141
		util/virnetdevmacvlan.c util/virnetdevmacvlan.h	\
142
		util/virnetdevmidonet.h util/virnetdevmidonet.c \
A
Ansis Atteka 已提交
143
		util/virnetdevopenvswitch.h util/virnetdevopenvswitch.c \
144
		util/virnetdevtap.h util/virnetdevtap.c		\
145 146
		util/virnetdevveth.h util/virnetdevveth.c	\
		util/virnetdevvlan.h util/virnetdevvlan.c	\
147
		util/virnetdevvportprofile.h util/virnetdevvportprofile.c \
148
		util/virnetlink.c util/virnetlink.h		\
149
		util/virnodesuspend.c util/virnodesuspend.h	\
150
		util/virkmod.c util/virkmod.h                   \
151
		util/virnuma.c util/virnuma.h			\
152 153 154
		util/virobject.c util/virobject.h		\
		util/virpci.c util/virpci.h			\
		util/virpidfile.c util/virpidfile.h		\
155
		util/virpolkit.c util/virpolkit.h               \
D
Daniel P. Berrange 已提交
156
		util/virportallocator.c util/virportallocator.h \
157
		util/virprobe.h					\
158
		util/virprocess.c util/virprocess.h		\
159
		util/virqemu.c util/virqemu.h			\
160
		util/virrandom.h util/virrandom.c		\
161
		util/virrotatingfile.h util/virrotatingfile.c   \
162
		util/virscsi.c util/virscsi.h			\
163
		util/virseclabel.c util/virseclabel.h		\
164 165
		util/virsexpr.c util/virsexpr.h			\
		util/virsocketaddr.h util/virsocketaddr.c	\
166
		util/virstats.c util/virstats.h	\
167
		util/virstorageencryption.c util/virstorageencryption.h \
168 169 170
		util/virstoragefile.c util/virstoragefile.h	\
		util/virstring.h util/virstring.c		\
		util/virsysinfo.c util/virsysinfo.h		\
171
		util/virsystemd.c util/virsystemd.h		\
172
		util/virthread.c util/virthread.h		\
P
Pavel Hrdina 已提交
173
		util/virthreadjob.c util/virthreadjob.h		\
174 175
		util/virthreadpool.c util/virthreadpool.h	\
		util/virtime.h util/virtime.c			\
176
		util/virtpm.h util/virtpm.c			\
177
		util/virtypedparam.c util/virtypedparam.h	\
178
		util/virusb.c util/virusb.h			\
179 180
		util/viruri.h util/viruri.c			\
		util/virutil.c util/virutil.h			\
181
		util/viruuid.c util/viruuid.h			\
182
		util/virxdrdefs.h                               \
183
		util/virxml.c util/virxml.h			\
184
		$(NULL)
L
Lai Jiangshan 已提交
185

186
EXTRA_DIST += $(srcdir)/util/keymaps.csv $(srcdir)/util/virkeycode-mapgen.py
L
Lai Jiangshan 已提交
187

E
Eric Blake 已提交
188
BUILT_SOURCES += util/virkeymaps.h
189
MAINTAINERCLEANFILES += util/virkeymaps.h
190

E
Eric Blake 已提交
191
util/virkeymaps.h: $(srcdir)/util/keymaps.csv	\
L
Lai Jiangshan 已提交
192
		$(srcdir)/util/virkeycode-mapgen.py
193
	$(MKDIR_P) util/
194
	$(AM_V_GEN)$(PYTHON) $(srcdir)/util/virkeycode-mapgen.py \
195
	  <$(srcdir)/util/keymaps.csv >util/virkeymaps.h
L
Lai Jiangshan 已提交
196

197
# Internal generic driver infrastructure
198
NODE_INFO_SOURCES = nodeinfo.h nodeinfo.c
O
Osier Yang 已提交
199 200 201
DATATYPES_SOURCES = datatypes.h datatypes.c
DRIVER_SOURCES =							\
		driver.c driver.h					\
202 203 204 205 206 207 208 209 210
		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						\
O
Osier Yang 已提交
211 212 213 214 215
		internal.h						\
		$(DATATYPES_SOURCES)					\
		fdstream.c fdstream.h					\
		$(NODE_INFO_SOURCES)					\
		libvirt.c libvirt_internal.h				\
216
		libvirt-domain.c 					\
217
		libvirt-domain-snapshot.c 				\
218
		libvirt-host.c 						\
219
		libvirt-interface.c	 				\
220
		libvirt-network.c	 				\
221
		libvirt-nodedev.c	 				\
222
		libvirt-nwfilter.c	 				\
223
		libvirt-secret.c	 				\
224
		libvirt-storage.c	 				\
225
		libvirt-stream.c	 				\
O
Osier Yang 已提交
226 227 228
		locking/lock_manager.c locking/lock_manager.h		\
		locking/lock_driver.h					\
		locking/lock_driver_nop.h locking/lock_driver_nop.c	\
229 230 231
		locking/domain_lock.h locking/domain_lock.c		\
		logging/log_manager.c logging/log_manager.h		\
		$(NULL)
232

233 234 235
LOCK_DRIVER_SANLOCK_SOURCES = \
		locking/lock_driver_sanlock.c

236 237
LOCK_DRIVER_SANLOCK_HELPER_SOURCES = \
		locking/sanlock_helper.c
238

239
LOCK_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
240 241
		locking/lock_protocol.h \
		locking/lock_protocol.c \
242 243
		$(NULL)

244 245 246
LOCK_PROTOCOL = $(srcdir)/locking/lock_protocol.x
EXTRA_DIST += $(LOCK_PROTOCOL) \
	$(LOCK_PROTOCOL_GENERATED)
247 248 249
BUILT_SOURCES += $(LOCK_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(LOCK_PROTOCOL_GENERATED)

250
LOCK_DAEMON_GENERATED = \
251
		locking/lock_daemon_dispatch_stubs.h
252 253 254
		$(NULL)

BUILT_SOURCES += $(LOCK_DAEMON_GENERATED)
255
EXTRA_DIST += $(LOCK_DAEMON_GENERATED)
256 257
MAINTAINERCLEANFILES += $(LOCK_DAEMON_GENERATED)

258 259
LOCK_DRIVER_LOCKD_SOURCES = \
		locking/lock_driver_lockd.c \
260
		locking/lock_driver_lockd.h \
261 262
		$(NULL)

263 264 265 266 267
LOCK_DAEMON_SOURCES = \
		locking/lock_daemon.h \
		locking/lock_daemon.c \
		locking/lock_daemon_config.h \
		locking/lock_daemon_config.c \
268 269
		locking/lock_daemon_dispatch.c \
		locking/lock_daemon_dispatch.h \
270 271
		$(NULL)

E
Eric Blake 已提交
272
locking/lock_daemon_dispatch_stubs.h: $(LOCK_PROTOCOL) \
273
		$(srcdir)/rpc/gendispatch.pl Makefile.am
274 275
	$(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl --mode=server \
	    virLockSpaceProtocol VIR_LOCK_SPACE_PROTOCOL \
E
Eric Blake 已提交
276
	    $(LOCK_PROTOCOL) > $(srcdir)/locking/lock_daemon_dispatch_stubs.h
277 278


279 280 281 282 283
LOG_PROTOCOL_GENERATED = \
		logging/log_protocol.h \
		logging/log_protocol.c \
		$(NULL)

284 285
DRIVER_SOURCES += $(LOG_PROTOCOL_GENERATED)

286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306
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 \
307 308
		logging/log_handler.c \
		logging/log_handler.h \
309 310 311 312 313 314 315 316 317
		$(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


318 319
NETDEV_CONF_SOURCES =						\
		conf/netdev_bandwidth_conf.h conf/netdev_bandwidth_conf.c \
320 321
		conf/netdev_vport_profile_conf.h conf/netdev_vport_profile_conf.c \
		conf/netdev_vlan_conf.h conf/netdev_vlan_conf.c
322

323
# XML configuration format handling sources
324 325
# Domain driver generic impl APIs
DOMAIN_CONF_SOURCES =						\
326
		conf/capabilities.c conf/capabilities.h		\
327
		conf/domain_addr.c conf/domain_addr.h		\
M
Michal Privoznik 已提交
328
		conf/domain_capabilities.c conf/domain_capabilities.h	\
329
		conf/domain_conf.c conf/domain_conf.h		\
330
		conf/domain_audit.c conf/domain_audit.h		\
331
		conf/domain_nwfilter.c conf/domain_nwfilter.h	\
332
		conf/snapshot_conf.c conf/snapshot_conf.h	\
333 334
		conf/numa_conf.c conf/numa_conf.h	\
		conf/virdomainobjlist.c conf/virdomainobjlist.h
335

336 337 338 339
OBJECT_EVENT_SOURCES =						\
		conf/object_event.c conf/object_event.h \
		conf/object_event_private.h

340 341
DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
342

343 344 345
NETWORK_EVENT_SOURCES =						\
		conf/network_event.c conf/network_event.h

346 347 348
STORAGE_EVENT_SOURCES =						\
                conf/storage_event.c conf/storage_event.h

349
# Network driver generic impl APIs
350
NETWORK_CONF_SOURCES =						\
351 352
		conf/network_conf.c conf/network_conf.h \
		conf/networkcommon_conf.c conf/networkcommon_conf.h
353

354 355
# Network filter driver generic impl APIs
NWFILTER_PARAM_CONF_SOURCES =					\
356
		conf/nwfilter_params.c conf/nwfilter_params.h	\
357 358
		conf/nwfilter_ipaddrmap.c			\
		conf/nwfilter_ipaddrmap.h			\
359
		conf/nwfilter_conf.h
360

361
NWFILTER_CONF_SOURCES =						\
362 363 364
		$(NWFILTER_PARAM_CONF_SOURCES)			\
		conf/nwfilter_conf.c conf/nwfilter_conf.h

365
# Storage driver generic impl APIs
366 367
STORAGE_CONF_SOURCES =                                         \
		conf/storage_conf.h conf/storage_conf.c
368

369
# Interface driver generic impl APIs
370 371
INTERFACE_CONF_SOURCES =                                       \
		conf/interface_conf.c conf/interface_conf.h
372

373
# Secret driver generic impl APIs
374
SECRET_CONF_SOURCES =                                          \
375 376
		conf/secret_conf.h conf/secret_conf.c          \
		conf/virsecretobj.h conf/virsecretobj.c
377 378 379 380 381

# Network driver generic impl APIs
NODE_DEVICE_CONF_SOURCES =                                     \
		conf/node_device_conf.c conf/node_device_conf.h

382 383
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h
384

385 386
# Safe character device handling helper APIs
CHRDEV_CONF_SOURCES =						\
387
		conf/virchrdev.c conf/virchrdev.h
388

389 390 391 392
# Device Helper APIs
DEVICE_CONF_SOURCES =                                           \
		conf/device_conf.c conf/device_conf.h

393
CONF_SOURCES =							\
394
		$(NETDEV_CONF_SOURCES)				\
395
		$(DOMAIN_CONF_SOURCES)				\
396
		$(OBJECT_EVENT_SOURCES)				\
397
		$(DOMAIN_EVENT_SOURCES)				\
398
		$(NETWORK_EVENT_SOURCES)			\
399
		$(STORAGE_EVENT_SOURCES)			\
400
		$(NETWORK_CONF_SOURCES)				\
401
		$(NWFILTER_CONF_SOURCES)			\
402 403 404
		$(NODE_DEVICE_CONF_SOURCES)			\
		$(STORAGE_CONF_SOURCES)				\
		$(INTERFACE_CONF_SOURCES)			\
405
		$(SECRET_CONF_SOURCES)				\
406
		$(CPU_CONF_SOURCES)				\
407
		$(CHRDEV_CONF_SOURCES)				\
408
		$(DEVICE_CONF_SOURCES)
409

410
# The remote RPC driver, covering domains, storage, networks, etc
411
REMOTE_DRIVER_GENERATED = \
E
Eric Blake 已提交
412 413 414 415 416 417 418 419 420 421
		remote/remote_protocol.c		\
		remote/remote_protocol.h		\
		remote/remote_client_bodies.h		\
		remote/lxc_protocol.c			\
		remote/lxc_protocol.h			\
		remote/lxc_client_bodies.h		\
		remote/qemu_protocol.c			\
		remote/qemu_protocol.h			\
		remote/qemu_client_bodies.h		\
		$(NULL)
E
Eric Blake 已提交
422 423

REMOTE_PROTOCOL = $(srcdir)/remote/remote_protocol.x
424
LXC_PROTOCOL = $(srcdir)/remote/lxc_protocol.x
E
Eric Blake 已提交
425
QEMU_PROTOCOL = $(srcdir)/remote/qemu_protocol.x
426
REMOTE_DRIVER_PROTOCOL = $(REMOTE_PROTOCOL) $(QEMU_PROTOCOL) $(LXC_PROTOCOL)
427

E
Eric Blake 已提交
428
remote/remote_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
429
		$(REMOTE_PROTOCOL) Makefile.am
430
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
431 432
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/remote/remote_client_bodies.h
433

E
Eric Blake 已提交
434
remote/lxc_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
435
		$(LXC_PROTOCOL) Makefile.am
436
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
437 438
	  lxc LXC $(LXC_PROTOCOL) \
	  > $(srcdir)/remote/lxc_client_bodies.h
439

E
Eric Blake 已提交
440
remote/qemu_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
441
		$(QEMU_PROTOCOL) Makefile.am
442
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
443 444
	  qemu QEMU $(QEMU_PROTOCOL) \
	  > $(srcdir)/remote/qemu_client_bodies.h
445 446 447 448

REMOTE_DRIVER_SOURCES =						\
		remote/remote_driver.c remote/remote_driver.h	\
		$(REMOTE_DRIVER_GENERATED)
449

450
EXTRA_DIST +=  $(REMOTE_DRIVER_PROTOCOL) \
451
		$(REMOTE_DRIVER_GENERATED)
452

M
Martin Kletzander 已提交
453 454 455 456
ADMIN_PROTOCOL = $(srcdir)/admin/admin_protocol.x

ADMIN_PROTOCOL_GENERATED = \
		admin/admin_protocol.c	\
457 458 459 460 461 462 463 464
		admin/admin_protocol.h	\
		admin/admin_client.h

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 已提交
465 466 467 468 469

EXTRA_DIST += $(ADMIN_PROTOCOL) $(ADMIN_PROTOCOL_GENERATED)
BUILT_SOURCES += $(ADMIN_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(ADMIN_PROTOCOL_GENERATED)

470 471 472 473 474 475 476 477 478 479
# 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
480 481 482 483

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

494
# Depending on configure options, libtool creates one or both of
E
Eric Blake 已提交
495 496
# remote/{,.libs/}libvirt_driver_remote_la-remote_protocol.o.  We want
# the newest of the two, in case configure options changed and a stale
497
# file is left around from an earlier build.
498
PDWTAGS = \
499
	$(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then		\
E
Eric Blake 已提交
500 501
	  o=`ls -t $(<:.lo=.$(OBJEXT))					\
	     $(subst /,/.libs/,$(<:.lo=.$(OBJEXT)))			\
502 503 504
	    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;			\
E
Eric Blake 已提交
505
	  if test ! -s $(@F)-t1 && test -s $(@F)-t2; then		\
506 507 508
	    rm -rf $(@F)-t?;						\
	    echo 'WARNING: pdwtags appears broken; skipping the $@ test' >&2;\
	  else								\
509
	    $(PERL) -0777 -n						\
510
		-e 'foreach my $$p (split m!\n*(?:$(r1)|$(r2))\n!) {'	\
511
		-e '  if ($$p =~ /^(struct|enum) $(struct_prefix)/ ||'	\
512
		-e '      $$p =~ /^enum \{/) {'				\
513 514 515
		-e '    $$p =~ s!\t*/\*.*?\*/!!sg;'			\
		-e '    $$p =~ s!\s+\n!\n!sg;'				\
		-e '    $$p =~ s!\s+$$!!;'				\
516
		-e '    $$p =~ s!\t!        !g;'			\
517 518 519 520
		-e '    print "$$p\n";'					\
		-e '    $$n++;'						\
		-e '  }'						\
		-e '}'							\
521 522 523
		-e 'BEGIN {'						\
		-e '  print "/* -*- c -*- */\n";'			\
		-e '}'							\
524
		-e 'END {'						\
525
		-e '  if ($$n < 1) {'					\
526 527 528 529 530 531
		-e '    warn "WARNING: your pdwtags program is too old\n";' \
		-e '    warn "WARNING: skipping the $@ test\n";'	\
		-e '    warn "WARNING: install dwarves-1.3 or newer\n";' \
		-e '    exit 8;'					\
		-e '  }'						\
		-e '}'							\
532 533
		< $(@F)-t1 > $(@F)-t3;					\
	    case $$? in 8) rm -f $(@F)-t?; exit 0;; 0) ;; *) exit 1;; esac;\
534
	    diff -u $(@)s $(@F)-t3; st=$$?; rm -f $(@F)-t?; exit $$st;	\
535
	  fi;								\
536
	else								\
537 538
	  echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2;	\
	  echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
539
	fi
540

541
# .libs/libvirt.so is built by libtool as a side-effect of the Makefile
542 543
# rule for libvirt.la.  However, checking symbols relies on Linux ELF layout
if WITH_LINUX
544 545 546
check-symfile: libvirt.syms libvirt.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \
	  .libs/libvirt.so
547 548 549
check-admin-symfile: libvirt_admin.syms libvirt-admin.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt_admin.syms \
	  .libs/libvirt-admin.so
550
else ! WITH_LINUX
551
check-symfile:
552
check-admin-symfile:
553
endif ! WITH_LINUX
554
check-symsorting:
555
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl \
556
		$(srcdir) $(SYM_FILES)
557 558 559
check-admin-symsorting:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl \
		$(srcdir) $(ADMIN_SYM_FILES)
J
Jiri Denemark 已提交
560
EXTRA_DIST += check-symfile.pl check-symsorting.pl
561

E
Eric Blake 已提交
562
# Keep this list synced with RPC_PROBE_FILES
563 564
PROTOCOL_STRUCTS = \
	$(srcdir)/remote_protocol-structs \
565
	$(srcdir)/lxc_protocol-structs \
566
	$(srcdir)/qemu_protocol-structs \
J
Jiri Denemark 已提交
567
	$(srcdir)/virnetprotocol-structs \
E
Eric Blake 已提交
568 569 570
	$(srcdir)/virkeepaliveprotocol-structs \
	$(srcdir)/lxc_monitor_protocol-structs \
	$(srcdir)/lock_protocol-structs \
M
Martin Kletzander 已提交
571
	$(srcdir)/admin_protocol-structs \
E
Eric Blake 已提交
572 573
	$(NULL)

574
if WITH_REMOTE
575 576
check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)

577 578
# 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.
579 580 581
$(srcdir)/remote_protocol-struct \
	$(srcdir)/qemu_protocol-struct \
	$(srcdir)/lxc_protocol-struct: \
E
Eric Blake 已提交
582
		$(srcdir)/%-struct: remote/libvirt_driver_remote_la-%.lo
583
	$(PDWTAGS)
584
$(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \
E
Eric Blake 已提交
585
		$(srcdir)/%-struct: rpc/libvirt_net_rpc_la-%.lo
586
	$(PDWTAGS)
E
Eric Blake 已提交
587
$(srcdir)/lxc_monitor_protocol-struct: \
E
Eric Blake 已提交
588
		$(srcdir)/%-struct: lxc/libvirt_driver_lxc_impl_la-%.lo
E
Eric Blake 已提交
589 590
	$(PDWTAGS)
$(srcdir)/lock_protocol-struct: \
E
Eric Blake 已提交
591
		$(srcdir)/%-struct: locking/lockd_la-%.lo
E
Eric Blake 已提交
592
	$(PDWTAGS)
M
Martin Kletzander 已提交
593 594 595
$(srcdir)/admin_protocol-struct: \
		$(srcdir)/%-struct: admin/libvirt_admin_la-%.lo
	$(PDWTAGS)
E
Eric Blake 已提交
596

597
else !WITH_REMOTE
598 599 600
# The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be
# re-generated when configured --without-remote.
check-protocol:
601
endif !WITH_REMOTE
J
Jiri Denemark 已提交
602
EXTRA_DIST += $(PROTOCOL_STRUCTS)
603 604 605 606 607

check-drivername:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-drivername.pl \
		$(srcdir)/driver.h \
		$(srcdir)/libvirt_public.syms \
608
		$(srcdir)/libvirt_admin_public.syms \
609 610 611 612 613
		$(srcdir)/libvirt_qemu.syms \
		$(srcdir)/libvirt_lxc.syms

EXTRA_DIST += check-drivername.pl

614
DRIVER_SOURCE_FILES = \
615 616 617 618 619 620 621 622 623 624 625
	$(ESX_DRIVER_SOURCES) \
	$(HYPERV_DRIVER_SORUCES) \
	$(INTERFACE_DRIVER_SOURCES) \
	$(LIBXL_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) \
	$(OPENVZ_DRIVER_SOURCES) \
626
	$(VZ_DRIVER_SOURCES) \
627 628 629 630 631 632 633 634
	$(PHYP_DRIVER_SOURCES) \
	$(QEMU_DRIVER_SOURCES) \
	$(REMOTE_DRIVER_SOURCES) \
	$(SECRET_DRIVER_SOURCES) \
	$(STORAGE_DRIVER_SOURCES) \
	$(TEST_DRIVER_SOURCES) \
	$(UML_DRIVER_SOURCES) \
	$(VBOX_DRIVER_SOURCES) \
635
	vbox/vbox_tmpl.c \
636 637 638
	$(VMWARE_DRIVER_SOURCES) \
	$(XEN_DRIVER_SOURCES) \
	$(XENAPI_DRIVER_SOURCES) \
639 640
	$(NULL)

641
STATEFUL_DRIVER_SOURCE_FILES = \
R
Roman Bogorodskiy 已提交
642
	$(BHYVE_DRIVER_SOURCES) \
643 644 645 646 647 648 649 650 651 652 653 654 655
	$(INTERFACE_DRIVER_SOURCES) \
	$(LIBXL_DRIVER_SOURCES) \
	$(LXC_DRIVER_SOURCES) \
	$(NETWORK_DRIVER_SOURCES) \
	$(NODE_DEVICE_DRIVER_SOURCES) \
	$(NWFILTER_DRIVER_SOURCES) \
	$(QEMU_DRIVER_SOURCES) \
	$(SECRET_DRIVER_SOURCES) \
	$(STORAGE_DRIVER_SOURCES) \
	$(UML_DRIVER_SOURCES) \
	$(XEN_DRIVER_SOURCES) \
	$(NULL)

656 657 658

check-driverimpls:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-driverimpls.pl \
659
		$(filter /%,$(DRIVER_SOURCE_FILES)) \
E
Eric Blake 已提交
660 661 662
		$(filter $(srcdir)/%,$(DRIVER_SOURCE_FILES)) \
		$(addprefix $(srcdir)/,$(filter-out $(srcdir)/%, \
			$(filter-out /%,$(DRIVER_SOURCE_FILES))))
663

664 665
check-aclrules:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclrules.pl \
E
Eric Blake 已提交
666
		$(REMOTE_PROTOCOL) \
667
		$(addprefix $(srcdir)/,$(filter-out /%,$(STATEFUL_DRIVER_SOURCE_FILES)))
668

669 670 671 672 673
check-aclperms:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclperms.pl \
		$(srcdir)/access/viraccessperm.h \
		$(srcdir)/access/viraccessperm.c

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

676
check-local: check-protocol check-symfile check-symsorting \
677
	check-drivername check-driverimpls check-aclrules \
678
	check-aclperms check-admin-symfile check-admin-symsorting
679
.PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
680

681 682
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES =						\
683
		test/test_driver.c test/test_driver.h
684 685 686

# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
687 688 689 690 691 692
		xen/block_stats.c xen/block_stats.h		\
		xen/xen_hypervisor.c xen/xen_hypervisor.h	\
		xen/xen_driver.c xen/xen_driver.h		\
		xen/xend_internal.c xen/xend_internal.h		\
		xen/xm_internal.c xen/xm_internal.h		\
		xen/xs_internal.c xen/xs_internal.h
693
if WITH_XEN_INOTIFY
694
XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
695
endif WITH_XEN_INOTIFY
696

697
LXC_MONITOR_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
698 699
	lxc/lxc_monitor_protocol.h \
	lxc/lxc_monitor_protocol.c \
700 701 702
	$(NULL)

LXC_MONITOR_GENERATED = \
E
Eric Blake 已提交
703
	lxc/lxc_monitor_dispatch.h \
704 705 706
	$(NULL)

LXC_CONTROLLER_GENERATED = \
E
Eric Blake 已提交
707
	lxc/lxc_controller_dispatch.h \
708 709 710
	$(NULL)

LXC_GENERATED = \
711
	$(LXC_MONITOR_PROTOCOL_GENERATED) \
712 713 714 715
	$(LXC_MONITOR_GENERATED) \
	$(LXC_CONTROLLER_GENERATED) \
	$(NULL)

716
LXC_MONITOR_PROTOCOL = $(srcdir)/lxc/lxc_monitor_protocol.x
717

E
Eric Blake 已提交
718
lxc/lxc_monitor_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
719
		$(LXC_MONITOR_PROTOCOL) Makefile.am
720
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
721 722
	  virLXCMonitor VIR_LXC_MONITOR $(LXC_MONITOR_PROTOCOL) > \
	  $(srcdir)/lxc/lxc_monitor_dispatch.h
723

E
Eric Blake 已提交
724
lxc/lxc_controller_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
725
		$(REMOTE_PROTOCOL) Makefile.am
726
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=server \
E
Eric Blake 已提交
727 728
	  virLXCMonitor VIR_LXC_MONITOR $(LXC_MONITOR_PROTOCOL) > \
	  $(srcdir)/lxc/lxc_controller_dispatch.h
729 730

EXTRA_DIST += \
731
	$(LXC_MONITOR_PROTOCOL) \
732 733 734 735 736
	$(LXC_GENERATED) \
	$(NULL)

BUILT_SOURCES += $(LXC_GENERATED)

737 738
CLEANFILES += $(LXC_GENERATED)

739
LXC_DRIVER_SOURCES =						\
740
		$(LXC_MONITOR_PROTOCOL_GENERATED)		\
741
		$(LXC_MONITOR_GENERATED)			\
742 743
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
744
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
745
		lxc/lxc_domain.c lxc/lxc_domain.h		\
746
		lxc/lxc_hostdev.c lxc/lxc_hostdev.h		\
747
		lxc/lxc_monitor.c lxc/lxc_monitor.h		\
748
		lxc/lxc_process.c lxc/lxc_process.h		\
G
Gao feng 已提交
749
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
750
		lxc/lxc_native.c lxc/lxc_native.h		\
751
		lxc/lxc_driver.c lxc/lxc_driver.h
752

753
LXC_CONTROLLER_SOURCES =					\
754
		$(LXC_MONITOR_PROTOCOL_GENERATED)		\
755
		$(LXC_CONTROLLER_GENERATED)			\
756 757
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
758
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
759
		lxc/lxc_domain.c lxc/lxc_domain.h		\
G
Gao feng 已提交
760
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
761
		lxc/lxc_controller.c
762

J
Jamie Strandboge 已提交
763
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES =			\
E
Eric Blake 已提交
764
		$(DATATYPES_SOURCES)				\
J
Jamie Strandboge 已提交
765 766
		security/virt-aa-helper.c

767 768 769
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

770
OPENVZ_DRIVER_SOURCES =						\
771
		openvz/openvz_conf.c openvz/openvz_conf.h	\
772 773
		openvz/openvz_driver.c openvz/openvz_driver.h   \
		openvz/openvz_util.c openvz/openvz_util.h
774

E
Eric Blake 已提交
775
VMWARE_DRIVER_SOURCES =						\
776
		vmware/vmware_driver.c vmware/vmware_driver.h	\
777 778
		vmware/vmware_conf.c vmware/vmware_conf.h

779
VBOX_DRIVER_SOURCES =						\
E
Eric Blake 已提交
780 781
	vbox/vbox_glue.c vbox/vbox_glue.h			\
	vbox/vbox_driver.c vbox/vbox_driver.h			\
T
Taowei 已提交
782
	vbox/vbox_snapshot_conf.c vbox/vbox_snapshot_conf.h     \
E
Eric Blake 已提交
783 784 785 786
	vbox/vbox_V2_2.c vbox/vbox_CAPI_v2_2.h			\
	vbox/vbox_V3_0.c vbox/vbox_CAPI_v3_0.h			\
	vbox/vbox_V3_1.c vbox/vbox_CAPI_v3_1.h			\
	vbox/vbox_V3_2.c vbox/vbox_CAPI_v3_2.h			\
787
	vbox/vbox_V4_0.c vbox/vbox_CAPI_v4_0.h			\
788
	vbox/vbox_V4_1.c vbox/vbox_CAPI_v4_1.h			\
R
Ryota Ozaki 已提交
789
	vbox/vbox_V4_2.c vbox/vbox_CAPI_v4_2.h			\
T
Taowei 已提交
790
	vbox/vbox_V4_2_20.c vbox/vbox_CAPI_v4_2_20.h		\
791
	vbox/vbox_V4_3.c vbox/vbox_CAPI_v4_3.h			\
T
Taowei 已提交
792 793 794
	vbox/vbox_V4_3_4.c vbox/vbox_CAPI_v4_3_4.h              \
	vbox/vbox_common.c vbox/vbox_common.h                   \
	vbox/vbox_uniformed_api.h                               \
795 796 797
	vbox/vbox_get_driver.h					\
	vbox/vbox_network.c					\
	vbox/vbox_storage.c
T
Taowei Luo 已提交
798

E
Eric Blake 已提交
799
VBOX_DRIVER_EXTRA_DIST =					\
800 801 802
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
803

O
Osier Yang 已提交
804 805
QEMU_DRIVER_SOURCES =							\
		qemu/qemu_agent.c qemu/qemu_agent.h			\
806
		qemu/qemu_alias.c qemu/qemu_alias.h			\
807
		qemu/qemu_blockjob.c qemu/qemu_blockjob.h		\
O
Osier Yang 已提交
808 809
		qemu/qemu_capabilities.c qemu/qemu_capabilities.h	\
		qemu/qemu_command.c qemu/qemu_command.h			\
810
		qemu/qemu_parse_command.c qemu/qemu_parse_command.h	\
O
Osier Yang 已提交
811
		qemu/qemu_domain.c qemu/qemu_domain.h			\
812
		qemu/qemu_domain_address.c qemu/qemu_domain_address.h	\
O
Osier Yang 已提交
813 814 815
		qemu/qemu_cgroup.c qemu/qemu_cgroup.h			\
		qemu/qemu_hostdev.c qemu/qemu_hostdev.h			\
		qemu/qemu_hotplug.c qemu/qemu_hotplug.h			\
816
		qemu/qemu_hotplugpriv.h					\
O
Osier Yang 已提交
817 818
		qemu/qemu_conf.c qemu/qemu_conf.h			\
		qemu/qemu_process.c qemu/qemu_process.h			\
819
		qemu/qemu_processpriv.h					\
O
Osier Yang 已提交
820 821 822 823 824 825
		qemu/qemu_migration.c qemu/qemu_migration.h		\
		qemu/qemu_monitor.c qemu/qemu_monitor.h			\
		qemu/qemu_monitor_text.c				\
		qemu/qemu_monitor_text.h				\
		qemu/qemu_monitor_json.c				\
		qemu/qemu_monitor_json.h				\
826
		qemu/qemu_driver.c qemu/qemu_driver.h	\
827 828
		qemu/qemu_interface.c qemu/qemu_interface.h		\
		qemu/qemu_capspriv.h
R
Richard W.M. Jones 已提交
829

O
Osier Yang 已提交
830
XENAPI_DRIVER_SOURCES =						\
831
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
O
Osier Yang 已提交
832
		xenapi/xenapi_driver_private.h			\
833 834
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

835 836 837 838 839
LIBXL_DRIVER_SOURCES =							\
		libxl/libxl_conf.c libxl/libxl_conf.h			\
		libxl/libxl_capabilities.c libxl/libxl_capabilities.h	\
		libxl/libxl_domain.c libxl/libxl_domain.h       	\
		libxl/libxl_driver.c libxl/libxl_driver.h       	\
J
Jim Fehlig 已提交
840
		libxl/libxl_migration.c libxl/libxl_migration.h
J
Jim Fehlig 已提交
841

842
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
843 844
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
845

O
Osier Yang 已提交
846 847 848 849 850 851
ESX_DRIVER_SOURCES =							\
		esx/esx_private.h					\
		esx/esx_driver.c esx/esx_driver.h			\
		esx/esx_interface_driver.c esx/esx_interface_driver.h	\
		esx/esx_network_driver.c esx/esx_network_driver.h	\
		esx/esx_storage_driver.c esx/esx_storage_driver.h	\
852
		esx/esx_storage_backend_vmfs.c esx/esx_storage_backend_vmfs.h	\
853
		esx/esx_storage_backend_iscsi.c esx/esx_storage_backend_iscsi.h	\
854
		esx/esx_stream.c esx/esx_stream.h			\
O
Osier Yang 已提交
855 856 857
		esx/esx_util.c esx/esx_util.h				\
		esx/esx_vi.c esx/esx_vi.h				\
		esx/esx_vi_methods.c esx/esx_vi_methods.h		\
858
		esx/esx_vi_types.c esx/esx_vi_types.h
859

860
ESX_DRIVER_GENERATED =							\
861 862
		esx/esx_vi_methods.generated.c				\
		esx/esx_vi_methods.generated.h				\
863
		esx/esx_vi_methods.generated.macro			\
864 865 866 867 868
		esx/esx_vi_types.generated.c				\
		esx/esx_vi_types.generated.h				\
		esx/esx_vi_types.generated.typedef			\
		esx/esx_vi_types.generated.typeenum			\
		esx/esx_vi_types.generated.typetostring			\
869 870 871
		esx/esx_vi_types.generated.typefromstring		\
		esx/esx_vi.generated.c					\
		esx/esx_vi.generated.h
872

O
Osier Yang 已提交
873
ESX_DRIVER_EXTRA_DIST =							\
874 875 876 877 878
		esx/README						\
		esx/esx_vi_generator.input				\
		esx/esx_vi_generator.py					\
		$(ESX_DRIVER_GENERATED)

O
Osier Yang 已提交
879
HYPERV_DRIVER_SOURCES =									\
M
Matthias Bolte 已提交
880 881
		hyperv/hyperv_private.h							\
		hyperv/hyperv_driver.c hyperv/hyperv_driver.h				\
882
		hyperv/hyperv_util.c hyperv/hyperv_util.h				\
883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898
		hyperv/hyperv_wmi.c hyperv/hyperv_wmi.h					\
		hyperv/hyperv_wmi_classes.c hyperv/hyperv_wmi_classes.h			\
		hyperv/openwsman.h

HYPERV_DRIVER_GENERATED =							\
		hyperv/hyperv_wmi.generated.c					\
		hyperv/hyperv_wmi.generated.h					\
		hyperv/hyperv_wmi_classes.generated.c				\
		hyperv/hyperv_wmi_classes.generated.h				\
		hyperv/hyperv_wmi_classes.generated.typedef

HYPERV_DRIVER_EXTRA_DIST =							\
		hyperv/hyperv_wmi_generator.input				\
		hyperv/hyperv_wmi_generator.py					\
		$(HYPERV_DRIVER_GENERATED)

899
VZ_DRIVER_SOURCES =				\
900 901 902 903 904 905
		vz/vz_driver.h			\
		vz/vz_driver.c			\
		vz/vz_utils.c			\
		vz/vz_utils.h			\
		vz/vz_sdk.h			\
		vz/vz_sdk.c
D
Dmitry Guryanov 已提交
906

R
Roman Bogorodskiy 已提交
907
BHYVE_DRIVER_SOURCES =						\
908 909
		bhyve/bhyve_capabilities.c			\
		bhyve/bhyve_capabilities.h			\
R
Roman Bogorodskiy 已提交
910 911
		bhyve/bhyve_command.c				\
		bhyve/bhyve_command.h				\
912 913 914 915
		bhyve/bhyve_device.c				\
		bhyve/bhyve_device.h				\
		bhyve/bhyve_domain.c				\
		bhyve/bhyve_domain.h				\
R
Roman Bogorodskiy 已提交
916 917
		bhyve/bhyve_driver.h				\
		bhyve/bhyve_driver.c				\
918 919
		bhyve/bhyve_monitor.c				\
		bhyve/bhyve_monitor.h				\
R
Roman Bogorodskiy 已提交
920 921 922 923 924
		bhyve/bhyve_process.c				\
		bhyve/bhyve_process.h				\
		bhyve/bhyve_utils.h				\
		$(NULL)

925
NETWORK_DRIVER_SOURCES =					\
926 927 928 929 930
		network/bridge_driver.h network/bridge_driver.c \
		network/bridge_driver_platform.h 		\
		network/bridge_driver_platform.c		\
		$(NULL)
EXTRA_DIST += network/bridge_driver_linux.c network/bridge_driver_nop.c
931

932 933 934 935
INTERFACE_DRIVER_SOURCES =

if WITH_INTERFACE
INTERFACE_DRIVER_SOURCES +=					\
936 937
		interface/interface_driver.h        \
		interface/interface_driver.c
938 939 940 941

if WITH_NETCF
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_netcf.c
942
endif WITH_NETCF
943
if WITH_UDEV
944 945
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_udev.c
946 947
endif WITH_UDEV
endif WITH_INTERFACE
948

949 950 951
SECRET_UTIL_SOURCES =						\
		secret/secret_util.h secret/secret_util.c

952
SECRET_DRIVER_SOURCES =						\
953
		secret/secret_driver.h secret/secret_driver.c
954

955
# Storage backend specific impls
O
Osier Yang 已提交
956 957
STORAGE_DRIVER_SOURCES =						\
		storage/storage_driver.h storage/storage_driver.c	\
958
		storage/storage_backend.h storage/storage_backend.c
959 960

STORAGE_DRIVER_FS_SOURCES =					\
961
		storage/storage_backend_fs.h storage/storage_backend_fs.c
R
Richard W.M. Jones 已提交
962

963
STORAGE_DRIVER_LVM_SOURCES =					\
O
Osier Yang 已提交
964
		storage/storage_backend_logical.h		\
965
		storage/storage_backend_logical.c
966 967

STORAGE_DRIVER_ISCSI_SOURCES =					\
968
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
969

970
STORAGE_DRIVER_SCSI_SOURCES =					\
971
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
972

D
Dave Allan 已提交
973
STORAGE_DRIVER_MPATH_SOURCES =					\
974
		storage/storage_backend_mpath.h storage/storage_backend_mpath.c
D
Dave Allan 已提交
975

976
STORAGE_DRIVER_DISK_SOURCES =					\
977
		storage/storage_backend_disk.h storage/storage_backend_disk.c
978

979 980 981
STORAGE_DRIVER_RBD_SOURCES =					\
		storage/storage_backend_rbd.h storage/storage_backend_rbd.c

982 983 984
STORAGE_DRIVER_SHEEPDOG_SOURCES =				\
		storage/storage_backend_sheepdog.h storage/storage_backend_sheepdog.c

985 986 987
STORAGE_DRIVER_GLUSTER_SOURCES =				\
		storage/storage_backend_gluster.h storage/storage_backend_gluster.c

R
Roman Bogorodskiy 已提交
988 989 990
STORAGE_DRIVER_ZFS_SOURCES =					\
                storage/storage_backend_zfs.h storage/storage_backend_zfs.c

991
STORAGE_HELPER_DISK_SOURCES =					\
992
		storage/parthelper.c
993

994 995 996
UTIL_IO_HELPER_SOURCES =					\
		util/iohelper.c

997 998 999
NETWORK_LEASES_HELPER_SOURCES =                                 \
               network/leaseshelper.c

1000
# Network filters
O
Osier Yang 已提交
1001
NWFILTER_DRIVER_SOURCES =						\
1002
		nwfilter/nwfilter_driver.h nwfilter/nwfilter_driver.c	\
1003
		nwfilter/nwfilter_tech_driver.h				\
1004 1005
		nwfilter/nwfilter_gentech_driver.c			\
		nwfilter/nwfilter_gentech_driver.h			\
S
Stefan Berger 已提交
1006 1007
		nwfilter/nwfilter_dhcpsnoop.c				\
		nwfilter/nwfilter_dhcpsnoop.h				\
1008
		nwfilter/nwfilter_ebiptables_driver.c			\
1009 1010 1011
		nwfilter/nwfilter_ebiptables_driver.h			\
		nwfilter/nwfilter_learnipaddr.c				\
		nwfilter/nwfilter_learnipaddr.h
1012

1013

1014
# Security framework and drivers for various models
O
Osier Yang 已提交
1015 1016 1017 1018 1019
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		\
1020
		security/security_manager.h security/security_manager.c
1021

1022
SECURITY_DRIVER_SELINUX_SOURCES =				\
1023
		security/security_selinux.h security/security_selinux.c
1024

J
Jamie Strandboge 已提交
1025 1026 1027
SECURITY_DRIVER_APPARMOR_SOURCES =				\
		security/security_apparmor.h security/security_apparmor.c

1028
ACCESS_DRIVER_GENERATED = \
E
Eric Blake 已提交
1029 1030 1031 1032 1033 1034 1035
		access/viraccessapicheck.h \
		access/viraccessapicheck.c \
		access/viraccessapicheckqemu.h \
		access/viraccessapicheckqemu.c \
		access/viraccessapichecklxc.h \
		access/viraccessapichecklxc.c \
		$(NULL)
1036

1037
ACCESS_DRIVER_SYM_FILES = \
1038 1039 1040
		libvirt_access.syms \
		libvirt_access_qemu.syms \
		libvirt_access_lxc.syms
1041

1042 1043 1044 1045 1046
ACCESS_DRIVER_API_FILES = \
		libvirt_access.xml \
		libvirt_access_qemu.xml \
		libvirt_access_lxc.xml

1047 1048 1049 1050 1051 1052 1053
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

1054 1055 1056 1057
ACCESS_DRIVER_POLKIT_SOURCES = \
		access/viraccessdriverpolkit.h access/viraccessdriverpolkit.c

ACCESS_DRIVER_POLKIT_POLICY = \
1058
		$(srcdir)/access/org.libvirt.api.policy
1059 1060


1061
NODE_DEVICE_DRIVER_SOURCES =					\
O
Osier Yang 已提交
1062 1063
		node_device/node_device_driver.c		\
		node_device/node_device_driver.h		\
1064 1065
		node_device/node_device_linux_sysfs.c           \
		node_device/node_device_linux_sysfs.h
1066 1067

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
1068
		node_device/node_device_hal.c			\
1069
		node_device/node_device_hal.h
1070

1071
NODE_DEVICE_DRIVER_UDEV_SOURCES =				\
D
Daniel Veillard 已提交
1072 1073
		node_device/node_device_udev.c			\
		node_device/node_device_udev.h
1074

J
Jiri Denemark 已提交
1075 1076 1077 1078
CPU_SOURCES =							\
		cpu/cpu.h cpu/cpu.c				\
		cpu/cpu_generic.h cpu/cpu_generic.c		\
		cpu/cpu_x86.h cpu/cpu_x86.c cpu/cpu_x86_data.h	\
T
Thang Pham 已提交
1079
		cpu/cpu_s390.h cpu/cpu_s390.c			\
C
Chuck Short 已提交
1080
		cpu/cpu_arm.h cpu/cpu_arm.c			\
1081
		cpu/cpu_aarch64.h cpu/cpu_aarch64.c		\
1082 1083 1084
		cpu/cpu_ppc64.h cpu/cpu_ppc64.c			\
		cpu/cpu_ppc64_data.h				\
		cpu/cpu_map.h cpu/cpu_map.c
1085

1086 1087 1088
VMX_SOURCES =							\
		vmx/vmx.c vmx/vmx.h

1089 1090
XENCONFIG_SOURCES =						\
		xenconfig/xenxs_private.h			\
1091
		xenconfig/xen_common.c xenconfig/xen_common.h   \
1092
		xenconfig/xen_sxpr.c xenconfig/xen_sxpr.h	\
1093
		xenconfig/xen_xm.c xenconfig/xen_xm.h
1094 1095 1096 1097
if WITH_LIBXL
XENCONFIG_SOURCES +=						\
		xenconfig/xen_xl.c xenconfig/xen_xl.h
endif WITH_LIBXL
1098

J
Jiri Denemark 已提交
1099 1100
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
1101
EXTRA_DIST +=	$(pkgdata_DATA)
1102

1103 1104 1105 1106 1107 1108
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

1109
noinst_LTLIBRARIES = libvirt_util.la
1110 1111
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
libvirt_la_BUILT_LIBADD = libvirt_util.la
1112 1113
libvirt_util_la_SOURCES =					\
		$(UTIL_SOURCES)
1114
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
1115
		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS) \
1116
		$(DBUS_CFLAGS) $(LDEXP_LIBM) $(NUMACTL_CFLAGS)	\
1117
		$(POLKIT_CFLAGS) $(GNUTLS_CFLAGS) \
1118
		-I$(srcdir)/conf
1119
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
1120
		$(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
1121
		$(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS) \
1122
		$(SECDRIVER_LIBS) $(NUMACTL_LIBS) \
1123
		$(POLKIT_LIBS)
1124

1125 1126

noinst_LTLIBRARIES += libvirt_conf.la
1127
libvirt_la_BUILT_LIBADD += libvirt_conf.la
1128
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
1129 1130
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
1131
libvirt_conf_la_LIBADD = $(LIBXML_LIBS)
1132

J
Jiri Denemark 已提交
1133
noinst_LTLIBRARIES += libvirt_cpu.la
1134
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
1135
libvirt_cpu_la_CFLAGS = \
1136
		-I$(srcdir)/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
1137 1138
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

1139 1140 1141 1142 1143 1144
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)

1145 1146 1147 1148
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
1149
		-I$(srcdir)/conf $(AM_CFLAGS)
1150
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
1151
endif WITH_VMX
1152

J
Jim Fehlig 已提交
1153 1154 1155
if WITH_XENCONFIG
noinst_LTLIBRARIES += libvirt_xenconfig.la
libvirt_la_BUILT_LIBADD += libvirt_xenconfig.la
1156
libvirt_xenconfig_la_LIBADD = $(LIBXL_LIBS)
J
Jim Fehlig 已提交
1157
libvirt_xenconfig_la_CFLAGS = \
J
Jim Fehlig 已提交
1158
		-I$(srcdir)/conf -I$(srcdir)/libxl $(AM_CFLAGS)
J
Jim Fehlig 已提交
1159 1160
libvirt_xenconfig_la_SOURCES = $(XENCONFIG_SOURCES)
endif WITH_XENCONFIG
1161

1162

1163
noinst_LTLIBRARIES += libvirt_driver.la
1164
libvirt_la_BUILT_LIBADD += libvirt_driver.la
1165
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
1166

1167
libvirt_driver_la_CFLAGS = \
1168
		$(GNUTLS_CFLAGS) $(CURL_CFLAGS) \
1169
		-I$(srcdir)/conf $(AM_CFLAGS)
1170
libvirt_driver_la_LIBADD = \
1171
		$(GNUTLS_LIBS) $(CURL_LIBS) $(DLOPEN_LIBS)
1172

1173 1174
# 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.
1175
SYM_FILES = $(USED_SYM_FILES)
1176
USED_SYM_FILES = $(srcdir)/libvirt_private.syms
1177 1178 1179
GENERATED_SYM_FILES = \
	$(ACCESS_DRIVER_SYM_FILES) \
	libvirt.syms libvirt.def libvirt_qemu.def libvirt_lxc.def \
1180
	libvirt_admin.syms libvirt_admin.def \
1181
	$(NULL)
1182

1183
if WITH_TEST
1184
noinst_LTLIBRARIES += libvirt_driver_test.la
1185
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
1186
libvirt_driver_test_la_CFLAGS = \
1187
		-I$(srcdir)/conf $(AM_CFLAGS)
1188
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
1189
endif WITH_TEST
1190 1191

if WITH_REMOTE
1192
noinst_LTLIBRARIES += libvirt_driver_remote.la
1193
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
1194 1195
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
E
Eric Blake 已提交
1196
		$(XDR_CFLAGS)					\
1197 1198
		-I$(srcdir)/conf				\
		-I$(srcdir)/rpc					\
1199 1200
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
1201 1202 1203 1204
libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) \
                libvirt-net-rpc-client.la \
                libvirt-net-rpc-server.la \
                libvirt-net-rpc.la
1205
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
1206

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

1209 1210
endif WITH_REMOTE

1211
%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
1212
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
1213
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
1214

1215
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
1216
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
1217
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
1218

1219
if WITH_XEN
E
Eric Blake 已提交
1220 1221 1222
noinst_LTLIBRARIES += libvirt_driver_xen_impl.la
libvirt_driver_xen_la_SOURCES =
libvirt_driver_xen_la_LIBADD = libvirt_driver_xen_impl.la
1223 1224
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
E
Eric Blake 已提交
1225
libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
1226
libvirt_driver_xen_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1227
else ! WITH_DRIVER_MODULES
1228
noinst_LTLIBRARIES += libvirt_driver_xen.la
1229 1230
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
1231
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1232

1233
libvirt_driver_xen_impl_la_CFLAGS =				\
1234
		$(XEN_CFLAGS)					\
1235 1236 1237
		-I$(srcdir)/access				\
		-I$(srcdir)/conf				\
		-I$(srcdir)/xenconfig				\
1238
		$(AM_CFLAGS)
E
Eric Blake 已提交
1239
libvirt_driver_xen_impl_la_LDFLAGS = $(AM_LDFLAGS)
P
Pavel Hrdina 已提交
1240
libvirt_driver_xen_impl_la_LIBADD = $(XEN_LIBS) libvirt_xenconfig.la
E
Eric Blake 已提交
1241
libvirt_driver_xen_impl_la_SOURCES = $(XEN_DRIVER_SOURCES)
1242
endif WITH_XEN
1243

1244 1245
if WITH_PHYP
noinst_LTLIBRARIES += libvirt_driver_phyp.la
1246
libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
1247 1248
libvirt_driver_phyp_la_LIBADD = $(SSH2_LIBS)
libvirt_driver_phyp_la_CFLAGS = $(SSH2_CFLAGS) \
1249
		-I$(srcdir)/conf $(AM_CFLAGS)
1250
libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
1251
endif WITH_PHYP
1252

1253
if WITH_OPENVZ
1254
noinst_LTLIBRARIES += libvirt_driver_openvz.la
1255
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
1256
libvirt_driver_openvz_la_CFLAGS = \
1257
		-I$(srcdir)/conf $(AM_CFLAGS)
1258
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
1259
endif WITH_OPENVZ
1260

1261 1262 1263 1264
if WITH_VMWARE
noinst_LTLIBRARIES += libvirt_driver_vmware.la
libvirt_la_BUILT_LIBADD += libvirt_driver_vmware.la
libvirt_driver_vmware_la_CFLAGS = \
1265
		-I$(srcdir)/conf -I$(srcdir)/vmx $(AM_CFLAGS)
1266
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
1267
endif WITH_VMWARE
1268

1269
if WITH_VBOX
M
Michal Privoznik 已提交
1270
noinst_LTLIBRARIES += \
1271
		libvirt_driver_vbox_impl.la
1272 1273 1274
libvirt_driver_vbox_la_SOURCES =
libvirt_driver_vbox_la_LIBADD = libvirt_driver_vbox_impl.la
if WITH_DRIVER_MODULES
M
Michal Privoznik 已提交
1275
mod_LTLIBRARIES += \
1276
		libvirt_driver_vbox.la
1277
libvirt_driver_vbox_la_LIBADD += ../gnulib/lib/libgnu.la
1278
libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1279
else ! WITH_DRIVER_MODULES
1280
noinst_LTLIBRARIES += libvirt_driver_vbox.la
1281 1282 1283
# GPLv2-only license requries that it be linked into
# libvirtd and *not* libvirt.so
#libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
1284
endif ! WITH_DRIVER_MODULES
1285 1286

libvirt_driver_vbox_impl_la_CFLAGS =				\
1287 1288
		-I$(srcdir)/conf				\
		$(AM_CFLAGS)					\
M
Michal Privoznik 已提交
1289
		-DVBOX_DRIVER
1290
libvirt_driver_vbox_impl_la_LDFLAGS = $(AM_LDFLAGS)
1291 1292 1293
libvirt_driver_vbox_impl_la_LIBADD =  $(DLOPEN_LIBS)		\
		$(MSCOM_LIBS)					\
		$(LIBXML_LIBS)
1294
libvirt_driver_vbox_impl_la_SOURCES = $(VBOX_DRIVER_SOURCES)
1295
endif WITH_VBOX
1296

1297 1298
if WITH_XENAPI
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
1299
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
1300
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(CURL_CFLAGS) \
P
Pavel Hrdina 已提交
1301
		-I$(srcdir)/conf -I$(srcdir)/xenconfig $(AM_CFLAGS)
1302
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
1303
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(CURL_LIBS)
1304
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
1305
endif WITH_XENAPI
1306

J
Jim Fehlig 已提交
1307
if WITH_LIBXL
E
Eric Blake 已提交
1308 1309 1310
noinst_LTLIBRARIES += libvirt_driver_libxl_impl.la
libvirt_driver_libxl_la_SOURCES =
libvirt_driver_libxl_la_LIBADD = libvirt_driver_libxl_impl.la
J
Jim Fehlig 已提交
1311 1312
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_libxl.la
E
Eric Blake 已提交
1313
libvirt_driver_libxl_la_LIBADD += ../gnulib/lib/libgnu.la
1314
libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1315
else ! WITH_DRIVER_MODULES
J
Jim Fehlig 已提交
1316 1317 1318
noinst_LTLIBRARIES += libvirt_driver_libxl.la
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_libxl.la
1319
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1320

1321 1322
libvirt_driver_libxl_impl_la_CFLAGS = 		\
		$(LIBXL_CFLAGS)			\
1323 1324
		-I$(srcdir)/access	\
		-I$(srcdir)/conf	\
1325
		-I$(srcdir)/secret      \
1326
		-I$(srcdir)/xenconfig	\
1327
		$(AM_CFLAGS)
E
Eric Blake 已提交
1328
libvirt_driver_libxl_impl_la_LDFLAGS = $(AM_LDFLAGS)
1329 1330 1331
libvirt_driver_libxl_impl_la_LIBADD = $(LIBXL_LIBS) \
				      libvirt_xenconfig.la \
				      libvirt_secret.la
E
Eric Blake 已提交
1332
libvirt_driver_libxl_impl_la_SOURCES = $(LIBXL_DRIVER_SOURCES)
1333 1334 1335 1336 1337 1338

conf_DATA += libxl/libxl.conf
augeas_DATA += libxl/libvirtd_libxl.aug
augeastest_DATA += test_libvirtd_libxl.aug
CLEANFILES += test_libvirtd_libxl.aug

1339
endif WITH_LIBXL
1340 1341
EXTRA_DIST += libxl/libxl.conf libxl/libvirtd_libxl.aug \
		libxl/test_libvirtd_libxl.aug.in
J
Jim Fehlig 已提交
1342

1343
if WITH_QEMU
E
Eric Blake 已提交
1344 1345 1346
noinst_LTLIBRARIES += libvirt_driver_qemu_impl.la
libvirt_driver_qemu_la_SOURCES =
libvirt_driver_qemu_la_LIBADD = libvirt_driver_qemu_impl.la
1347 1348
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
E
Eric Blake 已提交
1349
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
1350
libvirt_driver_qemu_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1351
else ! WITH_DRIVER_MODULES
1352
noinst_LTLIBRARIES += libvirt_driver_qemu.la
1353
# Stateful, so linked to daemon instead
1354
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
1355
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1356

1357 1358 1359
libvirt_driver_qemu_impl_la_CFLAGS = \
		$(GNUTLS_CFLAGS) \
		$(LIBNL_CFLAGS) \
1360 1361
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1362
		-I$(srcdir)/secret \
1363
		$(AM_CFLAGS)
E
Eric Blake 已提交
1364
libvirt_driver_qemu_impl_la_LDFLAGS = $(AM_LDFLAGS)
1365
libvirt_driver_qemu_impl_la_LIBADD = $(CAPNG_LIBS) \
1366
                                $(GNUTLS_LIBS) \
1367 1368
				$(LIBNL_LIBS) \
				$(LIBXML_LIBS) \
1369
				libvirt_secret.la \
1370
				$(NULL)
E
Eric Blake 已提交
1371
libvirt_driver_qemu_impl_la_SOURCES = $(QEMU_DRIVER_SOURCES)
1372

A
Amy Griffis 已提交
1373
conf_DATA += qemu/qemu.conf
1374

1375
augeas_DATA += qemu/libvirtd_qemu.aug
1376 1377
augeastest_DATA += test_libvirtd_qemu.aug
CLEANFILES += test_libvirtd_qemu.aug
1378

1379
endif WITH_QEMU
1380
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
1381
		qemu/test_libvirtd_qemu.aug.in qemu/THREADS.txt
1382

1383 1384

if WITH_LXC
E
Eric Blake 已提交
1385 1386 1387
noinst_LTLIBRARIES += libvirt_driver_lxc_impl.la
libvirt_driver_lxc_la_SOURCES =
libvirt_driver_lxc_la_LIBADD = libvirt_driver_lxc_impl.la
1388 1389
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
E
Eric Blake 已提交
1390 1391
libvirt_driver_lxc_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1392
else ! WITH_DRIVER_MODULES
1393
noinst_LTLIBRARIES += libvirt_driver_lxc.la
1394
# Stateful, so linked to daemon instead
1395
#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
1396
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1397 1398

libvirt_driver_lxc_impl_la_CFLAGS = \
S
Serge Hallyn 已提交
1399
		$(LIBNL_CFLAGS) \
G
Gao feng 已提交
1400
		$(FUSE_CFLAGS) \
P
Pavel Fedin 已提交
1401
		$(XDR_CFLAGS) \
1402 1403
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1404
		$(AM_CFLAGS)
I
ik.nitk 已提交
1405 1406 1407 1408 1409 1410
libvirt_driver_lxc_impl_la_LIBADD = \
               $(CAPNG_LIBS) \
               $(LIBNL_LIBS) \
               $(LIBXML_LIBS) \
               $(FUSE_LIBS)

1411
if WITH_BLKID
E
Eric Blake 已提交
1412 1413
libvirt_driver_lxc_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_lxc_impl_la_LIBADD += $(BLKID_LIBS)
1414
endif WITH_BLKID
1415
libvirt_driver_lxc_impl_la_LIBADD += $(SECDRIVER_LIBS)
E
Eric Blake 已提交
1416
libvirt_driver_lxc_impl_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
1417 1418 1419

conf_DATA += lxc/lxc.conf

1420
augeas_DATA += lxc/libvirtd_lxc.aug
1421 1422
augeastest_DATA += test_libvirtd_lxc.aug
CLEANFILES += test_libvirtd_lxc.aug
1423

1424
endif WITH_LXC
1425
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug.in
1426

1427
if WITH_UML
E
Eric Blake 已提交
1428 1429 1430
noinst_LTLIBRARIES += libvirt_driver_uml_impl.la
libvirt_driver_uml_la_SOURCES =
libvirt_driver_uml_la_LIBADD = libvirt_driver_uml_impl.la
1431 1432
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
E
Eric Blake 已提交
1433
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
1434
libvirt_driver_uml_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1435
else ! WITH_DRIVER_MODULES
1436 1437
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
1438
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
1439
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1440

1441
libvirt_driver_uml_impl_la_CFLAGS = \
1442 1443
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1444
		$(AM_CFLAGS)
E
Eric Blake 已提交
1445
libvirt_driver_uml_impl_la_LDFLAGS = $(AM_LDFLAGS)
1446
# libvirt_driver_uml_impl_la_LIBADD =
E
Eric Blake 已提交
1447
libvirt_driver_uml_impl_la_SOURCES = $(UML_DRIVER_SOURCES)
1448
endif WITH_UML
1449

D
Daniel Veillard 已提交
1450

1451
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
1452

1453 1454
ESX_GENERATED_STAMP = .esx_vi_generator.stamp

E
Eric Blake 已提交
1455 1456
EXTRA_DIST += $(ESX_GENERATED_STAMP)

1457 1458 1459
$(ESX_DRIVER_GENERATED): $(ESX_GENERATED_STAMP)

$(ESX_GENERATED_STAMP): $(srcdir)/esx/esx_vi_generator.input \
1460
                         $(srcdir)/esx/esx_vi_generator.py
1461 1462 1463 1464 1465
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/esx/esx_vi_generator.py \
	  && touch $@

MAINTAINERCLEANFILES += $(ESX_DRIVER_GENERATED) $(ESX_GENERATED_STAMP)

D
Daniel Veillard 已提交
1466

1467 1468
if WITH_ESX
noinst_LTLIBRARIES += libvirt_driver_esx.la
1469
libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
1470
libvirt_driver_esx_la_CFLAGS = $(CURL_CFLAGS) \
1471
		-I$(srcdir)/conf -I$(srcdir)/vmx $(AM_CFLAGS)
1472
libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
1473
libvirt_driver_esx_la_LIBADD = $(CURL_LIBS)
1474
libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
1475
libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
1476
endif WITH_ESX
1477

M
Matthias Bolte 已提交
1478

1479 1480
BUILT_SOURCES += $(HYPERV_DRIVER_GENERATED)

1481 1482
HYPERV_GENERATED_STAMP = .hyperv_wmi_generator.stamp

E
Eric Blake 已提交
1483 1484
EXTRA_DIST += $(HYPERV_GENERATED_STAMP)

1485 1486 1487
$(HYPERV_DRIVER_GENERATED): $(HYPERV_GENERATED_STAMP)

$(HYPERV_GENERATED_STAMP): $(srcdir)/hyperv/hyperv_wmi_generator.input \
1488
                            $(srcdir)/hyperv/hyperv_wmi_generator.py
1489 1490
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) \
	  $(srcdir)/hyperv/hyperv_wmi_generator.py \
1491 1492 1493
	  && touch $@

MAINTAINERCLEANFILES += $(HYPERV_DRIVER_GENERATED) $(HYPERV_GENERATED_STAMP)
1494

M
Matthias Bolte 已提交
1495 1496 1497 1498
if WITH_HYPERV
noinst_LTLIBRARIES += libvirt_driver_hyperv.la
libvirt_la_BUILT_LIBADD += libvirt_driver_hyperv.la
libvirt_driver_hyperv_la_CFLAGS = $(OPENWSMAN_CFLAGS) \
1499
		-I$(srcdir)/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
1500 1501 1502
libvirt_driver_hyperv_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_hyperv_la_LIBADD = $(OPENWSMAN_LIBS)
libvirt_driver_hyperv_la_SOURCES = $(HYPERV_DRIVER_SOURCES)
1503
endif WITH_HYPERV
M
Matthias Bolte 已提交
1504

1505
if WITH_VZ
1506 1507 1508 1509 1510 1511 1512 1513
noinst_LTLIBRARIES += libvirt_driver_vz_impl.la
libvirt_driver_vz_la_SOURCES =
libvirt_driver_vz_la_LIBADD = libvirt_driver_vz_impl.la
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_vz.la
libvirt_driver_vz_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_vz_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
else ! WITH_DRIVER_MODULES
1514
noinst_LTLIBRARIES += libvirt_driver_vz.la
1515 1516
endif ! WITH_DRIVER_MODULES
libvirt_driver_vz_impl_la_CFLAGS = \
1517
		-I$(srcdir)/conf $(AM_CFLAGS) \
1518
		$(PARALLELS_SDK_CFLAGS) $(LIBNL_CFLAGS)
1519 1520
libvirt_driver_vz_impl_la_SOURCES = $(VZ_DRIVER_SOURCES)
libvirt_driver_vz_impl_la_LIBADD =  $(PARALLELS_SDK_LIBS) $(LIBNL_LIBS)
1521
endif WITH_VZ
D
Dmitry Guryanov 已提交
1522

R
Roman Bogorodskiy 已提交
1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535
if WITH_BHYVE
noinst_LTLIBRARIES += libvirt_driver_bhyve_impl.la
libvirt_driver_bhyve_la_SOURCES =
libvirt_driver_bhyve_la_LIBADD = libvirt_driver_bhyve_impl.la
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_bhyve.la
libvirt_driver_bhyve_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_bhyve_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
else ! WITH_DRIVER_MODULES
noinst_LTLIBRARIES += libvirt_driver_bhyve.la
endif ! WITH_DRIVER_MODULES

libvirt_driver_bhyve_impl_la_CFLAGS = \
1536 1537
	-I$(srcdir)/access \
	-I$(srcdir)/conf \
R
Roman Bogorodskiy 已提交
1538 1539 1540 1541 1542
	$(AM_CFLAGS)
libvirt_driver_bhyve_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_bhyve_impl_la_SOURCES = $(BHYVE_DRIVER_SOURCES)
endif WITH_BHYVE

1543
if WITH_NETWORK
E
Eric Blake 已提交
1544 1545 1546
noinst_LTLIBRARIES += libvirt_driver_network_impl.la
libvirt_driver_network_la_SOURCES =
libvirt_driver_network_la_LIBADD = libvirt_driver_network_impl.la
1547 1548
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
1549 1550 1551 1552
libvirt_driver_network_la_LIBADD += ../gnulib/lib/libgnu.la \
	$(LIBNL_LIBS) \
	$(DBUS_LIBS) \
	$(NULL)
E
Eric Blake 已提交
1553
libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1554
else ! WITH_DRIVER_MODULES
1555
noinst_LTLIBRARIES += libvirt_driver_network.la
1556
# Stateful, so linked to daemon instead
1557
#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
1558
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1559 1560

libvirt_driver_network_impl_la_CFLAGS = \
1561 1562
		$(LIBNL_CFLAGS) \
		$(DBUS_CFLAGS) \
1563 1564
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1565
		$(AM_CFLAGS)
E
Eric Blake 已提交
1566
libvirt_driver_network_impl_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
1567
libvirt_driver_network_impl_la_LIBADD  = $(DBUS_LIBS)
1568
endif WITH_NETWORK
1569 1570 1571
EXTRA_DIST += network/default.xml


1572
if WITH_INTERFACE
1573 1574
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_interface.la
1575
else ! WITH_DRIVER_MODULES
1576
noinst_LTLIBRARIES += libvirt_driver_interface.la
1577 1578
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la
1579
endif ! WITH_DRIVER_MODULES
1580
libvirt_driver_interface_la_CFLAGS = \
1581 1582
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1583
		$(AM_CFLAGS) $(LIBNL_CFLAGS)
1584
libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS)
1585 1586 1587 1588
libvirt_driver_interface_la_LIBADD =
if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
1589
endif WITH_NETCF
1590
if WITH_UDEV
1591 1592
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
1593
endif WITH_UDEV
1594
if WITH_DRIVER_MODULES
1595
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
1596
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
1597
endif WITH_DRIVER_MODULES
1598
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
1599
endif WITH_INTERFACE
D
Daniel Veillard 已提交
1600

D
Daniel P. Berrange 已提交
1601
if WITH_SECRETS
1602 1603
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_secret.la
1604
else ! WITH_DRIVER_MODULES
1605
noinst_LTLIBRARIES += libvirt_driver_secret.la
1606
# Stateful, so linked to daemon instead
1607
#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
1608
endif ! WITH_DRIVER_MODULES
1609
libvirt_driver_secret_la_CFLAGS = \
1610 1611
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1612
		$(AM_CFLAGS)
1613
if WITH_DRIVER_MODULES
1614
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
1615
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1616
endif WITH_DRIVER_MODULES
1617
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
1618
endif WITH_SECRETS
1619

1620
# Needed to keep automake quiet about conditionals
1621 1622
libvirt_driver_storage_impl_la_SOURCES =
libvirt_driver_storage_impl_la_CFLAGS = \
1623 1624
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1625
		-I$(srcdir)/secret \
1626
		$(AM_CFLAGS)
1627 1628
libvirt_driver_storage_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_storage_impl_la_LIBADD =
1629
libvirt_driver_storage_impl_la_LIBADD += $(SECDRIVER_LIBS) $(LIBXML_LIBS)
1630
if WITH_BLKID
1631 1632
libvirt_driver_storage_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_storage_impl_la_LIBADD += $(BLKID_LIBS)
1633
endif WITH_BLKID
1634
if WITH_STORAGE
1635 1636 1637
noinst_LTLIBRARIES += libvirt_driver_storage_impl.la
libvirt_driver_storage_la_SOURCES =
libvirt_driver_storage_la_LIBADD = libvirt_driver_storage_impl.la
1638 1639
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
1640
libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
1641
libvirt_driver_storage_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1642
else ! WITH_DRIVER_MODULES
1643
noinst_LTLIBRARIES += libvirt_driver_storage.la
1644
# Stateful, so linked to daemon instead
1645
#libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la
1646
endif ! WITH_DRIVER_MODULES
1647 1648
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
1649
endif WITH_STORAGE
1650

1651
if WITH_STORAGE_LVM
1652
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
1653
endif WITH_STORAGE_LVM
1654

1655
if WITH_STORAGE_ISCSI
1656
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
1657
endif WITH_STORAGE_ISCSI
1658

1659
if WITH_STORAGE_SCSI
1660
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
1661
endif WITH_STORAGE_SCSI
1662

D
Dave Allan 已提交
1663
if WITH_STORAGE_MPATH
1664 1665 1666
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_MPATH_SOURCES)
libvirt_driver_storage_impl_la_CFLAGS += $(DEVMAPPER_CFLAGS)
libvirt_driver_storage_impl_la_LIBADD += $(DEVMAPPER_LIBS)
1667
endif WITH_STORAGE_MPATH
D
Dave Allan 已提交
1668

1669
if WITH_STORAGE_DISK
1670
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
1671
endif WITH_STORAGE_DISK
1672

1673
if WITH_STORAGE_RBD
1674 1675
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_RBD_SOURCES)
libvirt_driver_storage_impl_la_LIBADD += $(LIBRBD_LIBS)
1676
endif WITH_STORAGE_RBD
1677

1678
if WITH_STORAGE_SHEEPDOG
1679
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SHEEPDOG_SOURCES)
1680
endif WITH_STORAGE_SHEEPDOG
1681

1682 1683 1684 1685 1686 1687
if WITH_STORAGE_GLUSTER
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_GLUSTER_SOURCES)
libvirt_driver_storage_impl_la_CFLAGS += $(GLUSTERFS_CFLAGS)
libvirt_driver_storage_impl_la_LIBADD += $(GLUSTERFS_LIBS)
endif WITH_STORAGE_GLUSTER

R
Roman Bogorodskiy 已提交
1688 1689 1690 1691
if WITH_STORAGE_ZFS
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ZFS_SOURCES)
endif WITH_STORAGE_ZFS

1692 1693 1694 1695
if WITH_NODE_DEVICES
# Needed to keep automake quiet about conditionals
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nodedev.la
1696
else ! WITH_DRIVER_MODULES
1697 1698
noinst_LTLIBRARIES += libvirt_driver_nodedev.la
# Stateful, so linked to daemon instead
1699
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
1700
endif ! WITH_DRIVER_MODULES
1701 1702
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

1703
libvirt_driver_nodedev_la_CFLAGS = \
1704 1705
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1706
		$(AM_CFLAGS) $(LIBNL_CFLAGS)
1707
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
1708
libvirt_driver_nodedev_la_LIBADD =
1709

D
Doug Goldstein 已提交
1710
if WITH_LIBVIRTD
1711
if WITH_HAL
1712 1713
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
1714
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
1715
endif WITH_HAL
1716
if WITH_UDEV
1717
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
1718
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
1719
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
1720 1721
endif WITH_UDEV
endif WITH_LIBVIRTD
1722 1723

if WITH_DRIVER_MODULES
1724
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
1725
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
1726 1727
endif WITH_DRIVER_MODULES
endif WITH_NODE_DEVICES
1728 1729


1730
if WITH_NWFILTER
1731 1732 1733
noinst_LTLIBRARIES += libvirt_driver_nwfilter_impl.la
libvirt_driver_nwfilter_la_SOURCES =
libvirt_driver_nwfilter_la_LIBADD = libvirt_driver_nwfilter_impl.la
1734 1735
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nwfilter.la
1736
libvirt_driver_nwfilter_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1737
else ! WITH_DRIVER_MODULES
1738
noinst_LTLIBRARIES += libvirt_driver_nwfilter.la
1739 1740
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
1741
endif ! WITH_DRIVER_MODULES
1742
libvirt_driver_nwfilter_impl_la_CFLAGS = \
1743 1744 1745
		$(LIBPCAP_CFLAGS) \
		$(LIBNL_CFLAGS) \
		$(DBUS_CFLAGS) \
1746 1747
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1748
		$(AM_CFLAGS)
1749 1750 1751 1752 1753
libvirt_driver_nwfilter_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_nwfilter_impl_la_LIBADD = \
		$(LIBPCAP_LIBS) \
		$(LIBNL_LIBS) \
		$(DBUS_LIBS)
1754
if WITH_DRIVER_MODULES
1755 1756
libvirt_driver_nwfilter_impl_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_nwfilter_impl_la_LDFLAGS += -module -avoid-version
1757
endif WITH_DRIVER_MODULES
1758
libvirt_driver_nwfilter_impl_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
1759
endif WITH_NWFILTER
1760 1761


1762 1763 1764 1765
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 = \
1766
		-I$(srcdir)/conf $(AM_CFLAGS)
1767
libvirt_security_manager_la_LDFLAGS = $(AM_LDFLAGS)
1768
libvirt_security_manager_la_LIBADD = $(SECDRIVER_LIBS)
1769
if WITH_SECDRIVER_SELINUX
1770 1771
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
libvirt_security_manager_la_CFLAGS += $(SELINUX_CFLAGS)
1772
endif WITH_SECDRIVER_SELINUX
J
Jamie Strandboge 已提交
1773
if WITH_SECDRIVER_APPARMOR
1774 1775
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
libvirt_security_manager_la_CFLAGS += $(APPARMOR_CFLAGS)
1776
endif WITH_SECDRIVER_APPARMOR
1777

1778 1779
libvirt_driver_access_la_SOURCES = \
	$(ACCESS_DRIVER_SOURCES) $(ACCESS_DRIVER_GENERATED)
1780 1781 1782
noinst_LTLIBRARIES += libvirt_driver_access.la
libvirt_la_BUILT_LIBADD += libvirt_driver_access.la
libvirt_driver_access_la_CFLAGS = \
1783
		-I$(srcdir)/conf $(AM_CFLAGS)
1784 1785 1786
libvirt_driver_access_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_access_la_LIBADD =

1787 1788
EXTRA_DIST += access/genpolkit.pl

1789 1790 1791 1792
$(ACCESS_DRIVER_POLKIT_POLICY): $(srcdir)/access/viraccessperm.h \
    $(srcdir)/access/genpolkit.pl Makefile.am
	$(AM_V_GEN)$(PERL) $(srcdir)/access/genpolkit.pl < $< > $@ || rm -f $@

1793 1794 1795 1796
if WITH_POLKIT1
libvirt_driver_access_la_SOURCES += $(ACCESS_DRIVER_POLKIT_SOURCES)

polkitactiondir = $(datadir)/polkit-1/actions
1797
if WITH_LIBVIRTD
1798
polkitaction_DATA = $(ACCESS_DRIVER_POLKIT_POLICY)
1799
endif WITH_LIBVIRTD
1800 1801 1802

CLEANFILES += $(ACCESS_DRIVER_POLKIT_POLICY)
BUILT_SOURCES += $(ACCESS_DRIVER_POLKIT_POLICY)
1803
else ! WITH_POLKIT1
1804
EXTRA_DIST += $(ACCESS_DRIVER_POLKIT_SOURCES)
1805
endif ! WITH_POLKIT1
1806

1807

1808 1809
BUILT_SOURCES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
CLEANFILES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823

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) > $@

1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836
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 已提交
1837
access/viraccessapicheck.h: $(srcdir)/rpc/gendispatch.pl \
1838 1839
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1840 1841 1842
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheck.h
access/viraccessapicheck.c: $(srcdir)/rpc/gendispatch.pl \
1843 1844
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1845 1846
	  remote REMOTE $(REMOTE_PROTOCOL) access/viraccessapicheck.h \
	  > $(srcdir)/access/viraccessapicheck.c
1847

E
Eric Blake 已提交
1848
access/viraccessapicheckqemu.h: $(srcdir)/rpc/gendispatch.pl \
1849 1850
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1851 1852 1853
	  qemu QEMU $(QEMU_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheckqemu.h
access/viraccessapicheckqemu.c: $(srcdir)/rpc/gendispatch.pl \
1854 1855
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1856 1857
	  qemu QEMU $(QEMU_PROTOCOL) access/viraccessapicheckqemu.h \
	  > $(srcdir)/access/viraccessapicheckqemu.c
1858

E
Eric Blake 已提交
1859
access/viraccessapichecklxc.h: $(srcdir)/rpc/gendispatch.pl \
1860 1861
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1862 1863 1864
	  lxc LXC $(LXC_PROTOCOL) \
	  > $(srcdir)/access/viraccessapichecklxc.h
access/viraccessapichecklxc.c: $(srcdir)/rpc/gendispatch.pl \
1865 1866
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1867 1868
	  lxc LXC $(LXC_PROTOCOL) access/viraccessapichecklxc.h \
	  > $(srcdir)/access/viraccessapichecklxc.c
1869

1870 1871 1872 1873 1874 1875 1876
# Add all conditional sources just in case...
EXTRA_DIST +=							\
		$(TEST_DRIVER_SOURCES)				\
		$(REMOTE_DRIVER_SOURCES)			\
		$(XEN_DRIVER_SOURCES)				\
		$(QEMU_DRIVER_SOURCES)				\
		$(LXC_DRIVER_SOURCES)				\
1877
		$(UML_DRIVER_SOURCES)				\
1878
		$(OPENVZ_DRIVER_SOURCES)			\
1879
		$(PHYP_DRIVER_SOURCES)				\
1880
		$(VBOX_DRIVER_SOURCES)				\
1881
		$(XENAPI_DRIVER_SOURCES)			\
O
Osier Yang 已提交
1882
		$(LIBXL_DRIVER_SOURCES)				\
1883
		$(ESX_DRIVER_SOURCES)				\
1884
		$(ESX_DRIVER_EXTRA_DIST)			\
M
Matthias Bolte 已提交
1885
		$(HYPERV_DRIVER_SOURCES)			\
1886
		$(HYPERV_DRIVER_EXTRA_DIST)			\
1887
		$(VZ_DRIVER_SOURCES)				\
R
Roman Bogorodskiy 已提交
1888
		$(BHYVE_DRIVER_SOURCES)				\
1889
		$(NETWORK_DRIVER_SOURCES)			\
1890
		$(INTERFACE_DRIVER_SOURCES)			\
1891 1892 1893 1894
		$(STORAGE_DRIVER_SOURCES)			\
		$(STORAGE_DRIVER_FS_SOURCES)			\
		$(STORAGE_DRIVER_LVM_SOURCES)			\
		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
1895
		$(STORAGE_DRIVER_SCSI_SOURCES)			\
D
Dave Allan 已提交
1896
		$(STORAGE_DRIVER_MPATH_SOURCES)			\
1897
		$(STORAGE_DRIVER_DISK_SOURCES)			\
1898
		$(STORAGE_DRIVER_RBD_SOURCES)			\
1899
		$(STORAGE_DRIVER_SHEEPDOG_SOURCES)		\
1900
		$(STORAGE_DRIVER_GLUSTER_SOURCES)		\
R
Roman Bogorodskiy 已提交
1901
		$(STORAGE_DRIVER_ZFS_SOURCES)			\
1902 1903
		$(NODE_DEVICE_DRIVER_SOURCES)			\
		$(NODE_DEVICE_DRIVER_HAL_SOURCES)		\
1904
		$(NODE_DEVICE_DRIVER_UDEV_SOURCES)		\
1905
		$(NWFILTER_DRIVER_SOURCES)			\
1906
		$(SECURITY_DRIVER_SELINUX_SOURCES)		\
J
Jamie Strandboge 已提交
1907
		$(SECURITY_DRIVER_APPARMOR_SOURCES)		\
D
Daniel P. Berrange 已提交
1908
		$(SECRET_DRIVER_SOURCES)			\
1909
		$(SECRET_UTIL_SOURCES)				\
1910
		$(VBOX_DRIVER_EXTRA_DIST)			\
1911
		$(VMWARE_DRIVER_SOURCES)			\
J
Jim Fehlig 已提交
1912
		$(XENCONFIG_SOURCES)				\
1913
		$(ACCESS_DRIVER_POLKIT_POLICY)
1914

1915 1916
check-local: check-augeas

1917 1918 1919 1920 1921
.PHONY: check-augeas \
	check-augeas-qemu \
	check-augeas-lxc \
	check-augeas-sanlock \
	check-augeas-lockd \
1922
	check-augeas-libxl \
1923
	$(NULL)
1924

1925
check-augeas: check-augeas-qemu check-augeas-lxc check-augeas-sanlock \
1926 1927
	check-augeas-lockd check-augeas-virtlockd check-augeas-libxl \
	check-augeas-virtlogd
1928

1929
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1930
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1931

1932
if WITH_QEMU
1933 1934
test_libvirtd_qemu.aug: qemu/test_libvirtd_qemu.aug.in \
		$(srcdir)/qemu/qemu.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1935
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/qemu/qemu.conf $< $@
1936

1937
check-augeas-qemu: test_libvirtd_qemu.aug
1938
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1939
	    '$(AUGPARSE)' -I $(srcdir)/qemu test_libvirtd_qemu.aug; \
1940
	fi
1941
else ! WITH_QEMU
1942
check-augeas-qemu:
1943
endif ! WITH_QEMU
1944

1945
if WITH_LXC
1946 1947
test_libvirtd_lxc.aug: lxc/test_libvirtd_lxc.aug.in \
		$(srcdir)/lxc/lxc.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1948
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/lxc/lxc.conf $< $@
1949

1950
check-augeas-lxc: test_libvirtd_lxc.aug
1951
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1952
	    '$(AUGPARSE)' -I $(srcdir)/lxc test_libvirtd_lxc.aug; \
1953
	fi
1954
else ! WITH_LXC
1955
check-augeas-lxc:
1956
endif ! WITH_LXC
1957

1958
if WITH_SANLOCK
1959 1960
test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
		locking/qemu-sanlock.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1961
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
1962

1963
check-augeas-sanlock: test_libvirt_sanlock.aug
1964
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1965
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_sanlock.aug; \
1966
	fi
1967
else ! WITH_SANLOCK
1968
check-augeas-sanlock:
1969
endif ! WITH_SANLOCK
1970

1971
if WITH_QEMU
1972 1973 1974
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 $< $@
1975 1976 1977
else ! WITH_QEMU
test_libvirt_lockd.aug:
endif ! WITH_QEMU
1978

1979 1980
test_virtlockd.aug: locking/test_virtlockd.aug.in \
		locking/virtlockd.conf $(AUG_GENTEST)
1981
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/locking/virtlockd.conf $< $@
1982

1983
if WITH_QEMU
1984 1985 1986 1987
check-augeas-lockd: test_libvirt_lockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_lockd.aug; \
	fi
1988 1989 1990
else ! WITH_QEMU
check-augeas-lockd:
endif ! WITH_QEMU
1991

1992 1993 1994 1995 1996
check-augeas-virtlockd: test_virtlockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_virtlockd.aug; \
	fi

1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
if WITH_LIBXL
test_libvirtd_libxl.aug: libxl/test_libvirtd_libxl.aug.in \
		$(srcdir)/libxl/libxl.conf $(AUG_GENTEST)
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/libxl/libxl.conf $< $@

check-augeas-libxl: test_libvirtd_libxl.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/libxl test_libvirtd_libxl.aug; \
	fi
else ! WITH_LIBXL
check-augeas-libxl:
endif ! WITH_LIBXL

2010 2011 2012 2013 2014 2015 2016 2017 2018
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

2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037
#
# 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.
#

2038
if WITH_DRIVER_MODULES
2039
USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
2040
else ! WITH_DRIVER_MODULES
2041
SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
2042
endif ! WITH_DRIVER_MODULES
2043

2044
if WITH_LINUX
2045
USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
2046
else ! WITH_LINUX
2047
SYM_FILES += $(srcdir)/libvirt_linux.syms
2048
endif ! WITH_LINUX
2049

2050
if WITH_ESX
2051
USED_SYM_FILES += $(srcdir)/libvirt_esx.syms
2052
else ! WITH_ESX
2053
SYM_FILES += $(srcdir)/libvirt_esx.syms
2054
endif ! WITH_ESX
2055

E
Eric Blake 已提交
2056 2057 2058 2059 2060 2061
if WITH_REMOTE
USED_SYM_FILES += $(srcdir)/libvirt_remote.syms
else ! WITH_REMOTE
SYM_FILES += $(srcdir)/libvirt_remote.syms
endif ! WITH_REMOTE

2062
if WITH_OPENVZ
2063
USED_SYM_FILES += $(srcdir)/libvirt_openvz.syms
2064
else ! WITH_OPENVZ
2065
SYM_FILES += $(srcdir)/libvirt_openvz.syms
2066
endif ! WITH_OPENVZ
2067

2068
if WITH_VMX
2069
USED_SYM_FILES += $(srcdir)/libvirt_vmx.syms
2070
else ! WITH_VMX
2071
SYM_FILES += $(srcdir)/libvirt_vmx.syms
2072
endif ! WITH_VMX
2073

2074 2075 2076 2077 2078 2079
if WITH_VMWARE
USED_SYM_FILES += $(srcdir)/libvirt_vmware.syms
else ! WITH_VMWARE
SYM_FILES += $(srcdir)/libvirt_vmware.syms
endif ! WITH_VMWARE

J
Jim Fehlig 已提交
2080 2081 2082 2083 2084
if WITH_XENCONFIG
USED_SYM_FILES += $(srcdir)/libvirt_xenconfig.syms
else ! WITH_XENCONFIG
SYM_FILES += $(srcdir)/libvirt_xenconfig.syms
endif ! WITH_XENCONFIG
2085

2086 2087 2088 2089 2090 2091
if WITH_LIBXL
USED_SYM_FILES += $(srcdir)/libvirt_xenxlconfig.syms
else ! WITH_LIBXL
SYM_FILES += $(srcdir)/libvirt_xenxlconfig.syms
endif ! WITH_LIBXL

2092
if WITH_SASL
2093
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
2094
else ! WITH_SASL
2095
SYM_FILES += $(srcdir)/libvirt_sasl.syms
2096
endif ! WITH_SASL
E
Eric Blake 已提交
2097

2098 2099
if WITH_GNUTLS
USED_SYM_FILES += $(srcdir)/libvirt_gnutls.syms
2100
else ! WITH_GNUTLS
2101
SYM_FILES += $(srcdir)/libvirt_gnutls.syms
2102
endif ! WITH_GNUTLS
2103

2104
if WITH_SSH2
2105
USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
2106
else ! WITH_SSH2
2107
SYM_FILES += $(srcdir)/libvirt_libssh2.syms
2108
endif ! WITH_SSH2
2109

2110
if WITH_ATOMIC_OPS_PTHREAD
2111
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
2112
else ! WITH_ATOMIC_OPS_PTHREAD
2113
SYM_FILES += $(srcdir)/libvirt_atomic.syms
2114
endif ! WITH_ATOMIC_OPS_PTHREAD
2115

2116
EXTRA_DIST += \
2117 2118 2119
	libvirt_public.syms		\
	libvirt_lxc.syms		\
	libvirt_qemu.syms		\
2120
	libvirt_admin_public.syms	\
2121
	$(SYM_FILES)			\
2122
	$(ADMIN_SYM_FILES)		\
2123
	$(NULL)
2124

2125
BUILT_SOURCES += $(GENERATED_SYM_FILES)
2126

2127 2128
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(ACCESS_DRIVER_SYM_FILES) \
2129
		$(top_builddir)/config.status
2130 2131 2132 2133 2134 2135
	$(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 && \
2136
	cat $(USED_SYM_FILES) $(ACCESS_DRIVER_SYM_FILES) >>$@-tmp && \
2137 2138
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
2139
	mv $@-tmp libvirt.syms
2140

2141
%.def: %.syms
2142 2143
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
2144 2145
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d'	\
	    -e 's/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
2146
	chmod a-w $@-tmp && \
2147
	mv $@-tmp $@
2148

2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161
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

2162 2163 2164 2165
# 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 已提交
2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189
lib_LTLIBRARIES += libvirt-admin.la
libvirt_admin_la_SOURCES = \
		libvirt-admin.c			\
		$(ADMIN_PROTOCOL_GENERATED)	\
		$(DATATYPES_SOURCES)

libvirt_admin_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_ADMIN_SYMBOL_FILE)	\
		-version-info $(LIBVIRT_VERSION_INFO)			\
		$(AM_LDFLAGS) 						\
		$(CYGWIN_EXTRA_LDFLAGS) 				\
		$(MINGW_EXTRA_LDFLAGS)

libvirt_admin_la_LIBADD = \
		libvirt.la		\
		$(CYGWIN_EXTRA_LIBADD)

libvirt_admin_la_CFLAGS = \
		$(AM_CFLAGS)		\
		-I$(srcdir)/remote	\
		-I$(srcdir)/rpc		\
		-I$(srcdir)/admin

libvirt_admin_la_CFLAGS += \
2190
		$(XDR_CFLAGS)			\
M
Martin Kletzander 已提交
2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205
		$(CAPNG_CFLAGS)			\
		$(YAJL_CFLAGS)			\
		$(SSH2_CFLAGS)			\
		$(SASL_CFLAGS)			\
		$(GNUTLS_CFLAGS)

libvirt_admin_la_LIBADD += \
		$(CAPNG_LIBS)			\
		$(YAJL_LIBS)			\
		$(DEVMAPPER_LIBS)		\
		$(LIBXML_LIBS)			\
		$(SSH2_LIBS)			\
		$(SASL_LIBS)			\
		$(GNUTLS_LIBS)

2206 2207
ADMIN_SYM_FILES = $(srcdir)/libvirt_admin_private.syms

M
Martin Kletzander 已提交
2208 2209 2210 2211
if WITH_DTRACE_PROBES
libvirt_admin_la_LIBADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

2212 2213
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
D
Daniel P. Berrange 已提交
2214 2215 2216 2217 2218 2219 2220 2221
libvirt_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(LIBVIRT_NODELETE) \
		$(AM_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
2222
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
2223
libvirt_la_LIBADD += \
2224
		    $(DRIVER_MODULE_LIBS) \
2225
		    $(CYGWIN_EXTRA_LIBADD)
2226
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
2227 2228 2229 2230 2231 2232
# 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)
2233

2234
if WITH_DTRACE_PROBES
2235
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
2236
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
2237
nodist_libvirt_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
2238
if WITH_REMOTE
E
Eric Blake 已提交
2239
nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
2240
endif WITH_REMOTE
2241 2242
if WITH_DRIVER_MODULES
DTRACE2SYSTEMTAP_FLAGS = --with-modules
2243
endif WITH_DRIVER_MODULES
2244

2245 2246 2247
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

if WITH_QEMU
2248
libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
2249
nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
2250
BUILT_SOURCES += libvirt_qemu_probes.h
2251
endif WITH_QEMU
2252 2253

tapsetdir = $(datadir)/systemtap/tapset
2254
tapset_DATA = libvirt_probes.stp libvirt_qemu_probes.stp libvirt_functions.stp
2255

2256
%_probes.h: %_probes.d
2257 2258
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

E
Eric Blake 已提交
2259
.PRECIOUS: %_probes.o
2260
%_probes.o: %_probes.d
2261 2262
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

2263 2264 2265 2266 2267 2268 2269 2270 2271
%_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 已提交
2272
# Keep this list synced with PROTOCOL_STRUCTS
J
Jiri Denemark 已提交
2273 2274 2275
RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x \
		  $(srcdir)/rpc/virkeepaliveprotocol.x \
		  $(srcdir)/remote/remote_protocol.x \
2276
		  $(srcdir)/remote/lxc_protocol.x \
2277 2278
		  $(srcdir)/remote/qemu_protocol.x \
		  $(srcdir)/lxc/lxc_monitor_protocol.x \
M
Martin Kletzander 已提交
2279 2280
		  $(srcdir)/locking/lock_protocol.x \
		  $(srcdir)/admin/admin_protocol.x
2281 2282

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

2285 2286
%_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl \
		$(top_builddir)/config.status
2287
	$(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
2288
	  $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
2289

2290
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
2291
              libvirt_qemu_probes.h libvirt_qemu_probes.o \
2292
              libvirt_qemu_probes.lo\
2293 2294
              libvirt_functions.stp libvirt_probes.stp \
              libvirt_qemu_probes.stp
2295
endif WITH_DTRACE_PROBES
2296

2297
EXTRA_DIST += libvirt_probes.d libvirt_qemu_probes.d
2298

C
Chris Lalancette 已提交
2299
libvirt_qemu_la_SOURCES = libvirt-qemu.c
D
Daniel P. Berrange 已提交
2300 2301 2302 2303 2304 2305 2306
libvirt_qemu_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
2307
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
2308
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
2309

2310
libvirt_lxc_la_SOURCES = libvirt-lxc.c
D
Daniel P. Berrange 已提交
2311 2312 2313 2314 2315 2316 2317
libvirt_lxc_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_LXC_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
2318 2319 2320
libvirt_lxc_la_CFLAGS = $(AM_CFLAGS)
libvirt_lxc_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)

2321 2322 2323 2324 2325 2326 2327
# 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
2328
if WITH_SETUID_RPC_CLIENT
2329 2330 2331 2332
noinst_LTLIBRARIES += libvirt-setuid-rpc-client.la

libvirt_setuid_rpc_client_la_SOURCES = 		\
		util/viralloc.c			\
2333 2334
		util/viratomic.c		\
		util/viratomic.h		\
2335 2336
		util/virbitmap.c		\
		util/virbuffer.c		\
2337
		util/vircgroup.c		\
2338 2339
		util/vircommand.c		\
		util/virconf.c			\
2340
		util/virdbus.c			\
2341 2342 2343 2344
		util/virerror.c			\
		util/virevent.c			\
		util/vireventpoll.c		\
		util/virfile.c			\
2345
		util/virgettext.c		\
2346 2347
		util/virhash.c			\
		util/virhashcode.c		\
2348
		util/virhostcpu.c		\
2349 2350 2351 2352 2353 2354 2355 2356
		util/virjson.c			\
		util/virlog.c			\
		util/virobject.c		\
		util/virpidfile.c		\
		util/virprocess.c		\
		util/virrandom.c		\
		util/virsocketaddr.c		\
		util/virstring.c		\
2357
		util/virsystemd.c		\
2358 2359
		util/virtime.c			\
		util/virthread.c		\
2360
		util/virthreadjob.c		\
2361 2362 2363 2364 2365
		util/virtypedparam.c		\
		util/viruri.c			\
		util/virutil.c			\
		util/viruuid.c			\
		conf/domain_event.c		\
2366
		conf/network_event.c		\
2367
		conf/object_event.c		\
2368
		conf/storage_event.c            \
2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384
		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			\
2385
		libvirt-domain.c		\
2386
		libvirt-domain-snapshot.c	\
2387
		libvirt-host.c			\
2388
		libvirt-interface.c		\
2389
		libvirt-network.c		\
2390
		libvirt-nodedev.c		\
2391
		libvirt-nwfilter.c		\
2392
		libvirt-secret.c		\
2393
		libvirt-storage.c		\
2394
		libvirt-stream.c		\
2395 2396 2397 2398 2399 2400
		libvirt-lxc.c			\
		$(NULL)

libvirt_setuid_rpc_client_la_LDFLAGS =		\
		$(AM_LDFLAGS)			\
		$(LIBXML_LIBS)			\
J
Jim Fehlig 已提交
2401
		$(SECDRIVER_LIBS)		\
2402 2403 2404
		$(NULL)
libvirt_setuid_rpc_client_la_CFLAGS =		\
		-DLIBVIRT_SETUID_RPC_CLIENT	\
2405 2406
		-I$(srcdir)/conf		\
		-I$(srcdir)/rpc			\
2407
		$(AM_CFLAGS)			\
J
Jim Fehlig 已提交
2408
		$(SECDRIVER_CFLAGS)		\
P
Pavel Fedin 已提交
2409
		$(XDR_CFLAGS)			\
2410
		$(NULL)
2411
endif WITH_SETUID_RPC_CLIENT
2412

2413 2414 2415
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES =

2416
if WITH_LIBVIRTD
2417 2418 2419 2420 2421
lockdriver_LTLIBRARIES += lockd.la
lockd_la_SOURCES = \
		$(LOCK_DRIVER_LOCKD_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
		$(NULL)
2422
lockd_la_CFLAGS = -I$(srcdir)/conf \
E
Eric Blake 已提交
2423 2424
		$(XDR_CFLAGS) \
		$(AM_CFLAGS)
2425
lockd_la_LDFLAGS = -module -avoid-version
2426 2427 2428 2429
lockd_la_LIBADD = ../gnulib/lib/libgnu.la \
	libvirt-net-rpc.la \
	libvirt-net-rpc-client.la \
	$(NULL)
J
Jiri Denemark 已提交
2430
augeas_DATA += locking/libvirt_lockd.aug
2431 2432
if WITH_DTRACE_PROBES
lockd_la_LIBADD += libvirt_probes.lo
2433
endif WITH_DTRACE_PROBES
2434
if WITH_QEMU
2435 2436
augeastest_DATA += test_libvirt_lockd.aug
CLEANFILES += test_libvirt_lockd.aug
2437
nodist_conf_DATA += locking/qemu-lockd.conf
2438 2439
BUILT_SOURCES += locking/qemu-lockd.conf
DISTCLEANFILES += locking/qemu-lockd.conf
2440
endif WITH_QEMU
2441

2442 2443 2444 2445 2446 2447
if WITH_LIBXL
nodist_conf_DATA += locking/libxl-lockd.conf
BUILT_SOURCES += locking/libxl-lockd.conf
DISTCLEANFILES += locking/libxl-lockd.conf
endif WITH_LIBXL

2448 2449 2450 2451 2452
locking/%-lockd.conf: $(srcdir)/locking/lockd.conf
	$(AM_V_GEN)$(MKDIR_P) locking ; \
	cp $< $@


2453
sbin_PROGRAMS = virtlockd virtlogd
2454

2455 2456 2457
virtlockd_SOURCES = \
		$(LOCK_DAEMON_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
2458
		$(LOCK_DAEMON_GENERATED) \
2459
		$(NULL)
2460 2461
virtlockd_CFLAGS = \
		$(AM_CFLAGS) \
D
Daniel P. Berrange 已提交
2462
		$(PIE_CFLAGS) \
2463
		$(XDR_CFLAGS) \
2464 2465 2466
		$(NULL)
virtlockd_LDFLAGS = \
		$(AM_LDFLAGS) \
D
Daniel P. Berrange 已提交
2467
		$(PIE_LDFLAGS) \
2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
virtlockd_LDADD = \
		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
2480
endif WITH_DTRACE_PROBES
2481

2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509

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) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
virtlogd_LDADD = \
		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

2510
else ! WITH_LIBVIRTD
2511
EXTRA_DIST += $(LOCK_DAEMON_SOURCES) \
2512 2513
              $(LOCK_DRIVER_LOCKD_SOURCES) \
	      $(LOG_DAEMON_SOURCES)
2514
endif ! WITH_LIBVIRTD
2515

2516 2517
EXTRA_DIST += \
	locking/virtlockd.sysconf \
J
Jiri Denemark 已提交
2518 2519
	locking/lockd.conf \
	locking/libvirt_lockd.aug \
2520
	locking/test_libvirt_lockd.aug.in \
2521
	logging/virtlogd.sysconf
2522 2523

install-sysconfig:
E
Eric Blake 已提交
2524
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
2525 2526
	$(INSTALL_DATA) $(srcdir)/locking/virtlockd.sysconf \
	  $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
2527 2528
	$(INSTALL_DATA) $(srcdir)/logging/virtlogd.sysconf \
	  $(DESTDIR)$(sysconfdir)/sysconfig/virtlogd
2529 2530

uninstall-sysconfig:
2531
	rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlogd
2532
	rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
E
Eric Blake 已提交
2533
	rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
2534

2535
EXTRA_DIST += locking/virtlockd.init.in logging/virtlogd.init.in
2536 2537 2538

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_RED_HAT
2539
install-init:: virtlockd.init virtlogd.init install-sysconfig
E
Eric Blake 已提交
2540
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d
2541 2542
	$(INSTALL_SCRIPT) virtlockd.init \
	  $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd
2543 2544
	$(INSTALL_SCRIPT) virtlogd.init \
	  $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlogd
2545 2546

uninstall-init:: uninstall-sysconfig
E
Eric Blake 已提交
2547
	rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd
2548
	rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlogd
E
Eric Blake 已提交
2549
	rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || :
2550

2551 2552
BUILT_SOURCES += virtlockd.init virtlogd.init
DISTCLEANFILES += virtlockd.init virtlogd.init
2553
else ! LIBVIRT_INIT_SCRIPT_RED_HAT
2554 2555
install-init::
uninstall-init::
2556 2557
endif ! LIBVIRT_INIT_SCRIPT_RED_HAT
else ! WITH_LIBVIRTD
2558 2559
install-init::
uninstall-init::
2560
endif ! WITH_LIBVIRTD
2561 2562

virtlockd.init: locking/virtlockd.init.in $(top_builddir)/config.status
2563 2564 2565 2566 2567 2568
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g'		\
	    < $< > $@-t &&					\
	    chmod a+x $@-t &&					\
2569 2570
	    mv $@-t $@

2571 2572 2573 2574 2575 2576 2577 2578 2579
virtlogd.init: logging/virtlogd.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 $@

2580
POD2MAN = pod2man -c "Virtualization Support" -r "$(PACKAGE)-$(VERSION)"
2581

2582
virtlockd.8.in: locking/virtlockd.pod
2583 2584 2585 2586 2587 2588 2589 2590
	$(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 $@
2591

2592
virtlogd.8.in: logging/virtlogd.pod
2593 2594 2595 2596 2597 2598 2599 2600
	$(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 $@
2601

2602
%.8: %.8.in $(top_srcdir)/configure.ac
2603
	$(AM_V_GEN)sed \
2604 2605 2606
		-e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
		-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
		< $< > $@-t && \
2607 2608
	mv $@-t $@

2609
if WITH_LIBVIRTD
2610
man8_MANS = virtlockd.8 virtlogd.8
2611

2612
conf_DATA += locking/virtlockd.conf logging/virtlogd.conf
2613

2614 2615
augeas_DATA += locking/virtlockd.aug logging/virtlogd.aug
augeastest_DATA += test_virtlockd.aug test_virtlogd.aug
2616
endif WITH_LIBVIRTD
2617

A
Andrea Bolognani 已提交
2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629
PODFILES = \
	locking/virtlockd.pod \
	logging/virtlogd.pod \
	$(NULL)

MANINFILES = \
	virtlockd.8.in \
	virtlogd.8.in \
	$(NULL)

CLEANFILES += test_virtlockd.aug test_virtlogd.aug $(man8_MANS)
MAINTAINERCLEANFILES += $(MANINFILES)
2630 2631 2632 2633

EXTRA_DIST += \
        locking/virtlockd.service.in \
        locking/virtlockd.socket.in \
2634 2635 2636
        locking/virtlockd.aug \
        locking/virtlockd.conf \
        locking/test_virtlockd.aug.in \
2637 2638 2639 2640 2641
        logging/virtlogd.service.in \
        logging/virtlogd.socket.in \
        logging/virtlogd.aug \
        logging/virtlogd.conf \
        logging/test_virtlogd.aug.in \
A
Andrea Bolognani 已提交
2642 2643
        $(PODFILES) \
        $(MANINFILES) \
2644
        $(NULL)
2645

2646 2647 2648 2649

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_SYSTEMD

2650
SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
2651

2652 2653 2654 2655
BUILT_SOURCES += virtlockd.service virtlockd.socket \
		 virtlogd.service virtlogd.socket
DISTCLEANFILES += virtlockd.service virtlockd.socket \
		  virtlogd.service virtlogd.socket
2656

2657 2658
install-systemd: virtlockd.service virtlockd.socket \
                 virtlogd.service virtlogd.socket install-sysconfig
E
Eric Blake 已提交
2659
	$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
2660
	$(INSTALL_DATA) virtlockd.service \
2661
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2662
	$(INSTALL_DATA) virtlockd.socket \
2663
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2664 2665 2666 2667
	$(INSTALL_DATA) virtlogd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
	$(INSTALL_DATA) virtlogd.socket \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2668 2669

uninstall-systemd: uninstall-sysconfig
E
Eric Blake 已提交
2670 2671
	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket
2672 2673
	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlogd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlogd.socket
E
Eric Blake 已提交
2674
	rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
2675
else ! LIBVIRT_INIT_SCRIPT_SYSTEMD
2676 2677
install-systemd:
uninstall-systemd:
2678 2679
endif ! LIBVIRT_INIT_SCRIPT_SYSTEMD
else ! WITH_LIBVIRTD
2680 2681
install-systemd:
uninstall-systemd:
2682
endif ! WITH_LIBVIRTD
2683 2684

virtlockd.service: locking/virtlockd.service.in $(top_builddir)/config.status
2685 2686 2687
	$(AM_V_GEN)sed						\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    < $< > $@-t &&					\
2688 2689 2690
	    mv $@-t $@

virtlockd.socket: locking/virtlockd.socket.in $(top_builddir)/config.status
2691 2692 2693
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    < $< > $@-t &&					\
2694 2695
	    mv $@-t $@

2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707
virtlogd.service: logging/virtlogd.service.in $(top_builddir)/config.status
	$(AM_V_GEN)sed						\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    < $< > $@-t &&					\
	    mv $@-t $@

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

2708

2709
if WITH_SANLOCK
2710
lockdriver_LTLIBRARIES += sanlock.la
2711
sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
2712
sanlock_la_CFLAGS = -I$(srcdir)/conf $(AM_CFLAGS)
2713
sanlock_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
2714
sanlock_la_LIBADD = -lsanlock_client \
2715 2716 2717
		../gnulib/lib/libgnu.la

augeas_DATA += locking/libvirt_sanlock.aug
2718 2719
augeastest_DATA += test_libvirt_sanlock.aug
CLEANFILES += test_libvirt_sanlock.aug
2720

E
Eric Blake 已提交
2721
locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
2722
	$(AM_V_GEN)$(MKDIR_P) locking ; \
2723 2724 2725
	cp $< $@

if WITH_QEMU
2726
nodist_conf_DATA += locking/qemu-sanlock.conf
2727
BUILT_SOURCES += locking/qemu-sanlock.conf
E
Eric Blake 已提交
2728
DISTCLEANFILES += locking/qemu-sanlock.conf
2729
endif WITH_QEMU
2730 2731 2732 2733 2734 2735

if WITH_LIBXL
nodist_conf_DATA += locking/libxl-sanlock.conf
BUILT_SOURCES += locking/libxl-sanlock.conf
DISTCLEANFILES += locking/libxl-sanlock.conf
endif WITH_LIBXL
2736
else ! WITH_SANLOCK
2737
EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
2738
endif ! WITH_SANLOCK
2739 2740
EXTRA_DIST += locking/sanlock.conf \
	locking/libvirt_sanlock.aug \
2741
	locking/test_libvirt_sanlock.aug.in
2742

2743 2744 2745 2746
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
2747

2748
EXTRA_DIST += \
E
Eric Blake 已提交
2749 2750 2751 2752
	dtrace2systemtap.pl \
	rpc/gendispatch.pl \
	rpc/genprotocol.pl \
	rpc/gensystemtap.pl \
J
Jiri Denemark 已提交
2753 2754
	rpc/virnetprotocol.x \
	rpc/virkeepaliveprotocol.x
2755

E
Eric Blake 已提交
2756
VIR_NET_RPC_GENERATED = \
2757 2758 2759 2760
	rpc/virnetprotocol.h \
	rpc/virnetprotocol.c \
	rpc/virkeepaliveprotocol.h \
	rpc/virkeepaliveprotocol.c
2761

2762
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
2763

2764
libvirt_net_rpc_la_SOURCES = \
2765
	rpc/virnetmessage.h rpc/virnetmessage.c \
2766
	rpc/virnetsocket.h rpc/virnetsocket.c \
2767 2768
	rpc/virkeepalive.h rpc/virkeepalive.c \
	$(VIR_NET_RPC_GENERATED)
2769
if WITH_SSH2
2770 2771
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
2772
else ! WITH_SSH2
2773 2774
EXTRA_DIST += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
2775
endif ! WITH_SSH2
2776
if WITH_GNUTLS
2777 2778
libvirt_net_rpc_la_SOURCES += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
2779
else ! WITH_GNUTLS
2780 2781
EXTRA_DIST += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
2782
endif ! WITH_GNUTLS
2783
if WITH_SASL
2784 2785
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2786
else ! WITH_SASL
2787 2788
EXTRA_DIST += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2789
endif ! WITH_SASL
2790
libvirt_net_rpc_la_CFLAGS = \
2791
			$(GNUTLS_CFLAGS) \
2792
			$(SASL_CFLAGS) \
2793
			$(SSH2_CFLAGS) \
2794
			$(XDR_CFLAGS) \
2795 2796
			$(AM_CFLAGS)
libvirt_net_rpc_la_LDFLAGS = \
2797
			$(GNUTLS_LIBS) \
2798
			$(SASL_LIBS) \
2799
			$(SSH2_LIBS)\
J
Jim Fehlig 已提交
2800
			$(SECDRIVER_LIBS) \
2801 2802 2803 2804 2805 2806
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

2807 2808 2809 2810
libvirt_net_rpc_server_la_SOURCES = \
	rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
	rpc/virnetserverservice.h rpc/virnetserverservice.c \
	rpc/virnetserverclient.h rpc/virnetserverclient.c \
2811
	rpc/virnetservermdns.h rpc/virnetservermdns.c \
2812
	rpc/virnetdaemon.h rpc/virnetdaemon.c \
2813 2814
	rpc/virnetserver.h rpc/virnetserver.c
libvirt_net_rpc_server_la_CFLAGS = \
2815
			$(AVAHI_CFLAGS) \
2816
			$(DBUS_CFLAGS) \
E
Eric Blake 已提交
2817
			$(XDR_CFLAGS) \
2818
			$(AM_CFLAGS)
2819 2820
libvirt_net_rpc_server_la_LDFLAGS = \
			$(AM_LDFLAGS) \
2821
			$(AVAHI_LIBS) \
2822
			$(DBUS_LIBS) \
2823 2824 2825 2826 2827
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_server_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

2828 2829 2830 2831 2832
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 已提交
2833 2834
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
2835 2836 2837 2838 2839 2840
libvirt_net_rpc_client_la_LDFLAGS = \
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
2841

2842 2843
libexec_PROGRAMS =

2844
if WITH_LIBVIRTD
2845 2846
libexec_PROGRAMS += libvirt_iohelper
libvirt_iohelper_SOURCES = $(UTIL_IO_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
2847 2848 2849 2850
libvirt_iohelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2851 2852 2853
libvirt_iohelper_LDADD =		\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
2854 2855
if WITH_DTRACE_PROBES
libvirt_iohelper_LDADD += libvirt_probes.lo
2856
endif WITH_DTRACE_PROBES
2857

D
Daniel P. Berrange 已提交
2858 2859 2860 2861
libvirt_iohelper_CFLAGS = \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2862 2863 2864 2865

if WITH_NETWORK
libexec_PROGRAMS += libvirt_leaseshelper
libvirt_leaseshelper_SOURCES = $(NETWORK_LEASES_HELPER_SOURCES)
2866 2867 2868 2869
libvirt_leaseshelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884
libvirt_leaseshelper_LDADD =           \
               libvirt_util.la         \
               ../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

2885
endif WITH_LIBVIRTD
2886

2887
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
2888
if WITH_LIBVIRTD
2889
libexec_PROGRAMS += libvirt_parthelper
2890

2891
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
D
Daniel P. Berrange 已提交
2892 2893 2894 2895
libvirt_parthelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2896 2897 2898 2899
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
2900 2901
if WITH_DTRACE_PROBES
libvirt_parthelper_LDADD += libvirt_probes.lo
2902
endif WITH_DTRACE_PROBES
2903

D
Daniel P. Berrange 已提交
2904 2905 2906 2907 2908
libvirt_parthelper_CFLAGS = \
		$(LIBPARTED_CFLAGS) \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2909 2910
endif WITH_LIBVIRTD
endif WITH_STORAGE_DISK
2911 2912
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

2913

2914
if WITH_SANLOCK
2915 2916 2917
libexec_PROGRAMS += libvirt_sanlock_helper

libvirt_sanlock_helper_SOURCES = $(LOCK_DRIVER_SANLOCK_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
2918
libvirt_sanlock_helper_CFLAGS = \
2919
		-I$(srcdir)/conf \
D
Daniel P. Berrange 已提交
2920 2921 2922 2923 2924 2925 2926
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
libvirt_sanlock_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2927
libvirt_sanlock_helper_LDADD = libvirt.la
2928
endif WITH_SANLOCK
2929

2930 2931 2932 2933 2934 2935
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
O
Osier Yang 已提交
2936 2937
		$(NODE_INFO_SOURCES)				\
		$(DATATYPES_SOURCES)
D
Daniel P. Berrange 已提交
2938 2939 2940 2941
libvirt_lxc_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2942
libvirt_lxc_LDADD =			\
G
Gao feng 已提交
2943
		$(FUSE_LIBS) \
2944 2945
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
2946
		libvirt_security_manager.la \
2947 2948
		libvirt_conf.la \
		libvirt_util.la \
2949
		../gnulib/lib/libgnu.la
2950
if WITH_DTRACE_PROBES
2951
libvirt_lxc_LDADD += libvirt_probes.lo
2952
endif WITH_DTRACE_PROBES
2953
libvirt_lxc_LDADD += $(SECDRIVER_LIBS)
2954
libvirt_lxc_CFLAGS =				\
2955
		-I$(srcdir)/conf	\
2956
		$(AM_CFLAGS)                    \
D
Daniel P. Berrange 已提交
2957
		$(PIE_CFLAGS)			\
G
Gao feng 已提交
2958
		$(LIBNL_CFLAGS)			\
D
Daniel P. Berrange 已提交
2959
		$(FUSE_CFLAGS)			\
2960
		$(DBUS_CFLAGS)			\
P
Pavel Fedin 已提交
2961
		$(XDR_CFLAGS)			\
D
Daniel P. Berrange 已提交
2962
		$(NULL)
2963
if WITH_BLKID
2964 2965
libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
libvirt_lxc_LDADD += $(BLKID_LIBS)
2966
endif WITH_BLKID
J
Jim Fehlig 已提交
2967
libvirt_lxc_CFLAGS += $(SECDRIVER_CFLAGS)
2968 2969
endif WITH_LIBVIRTD
endif WITH_LXC
2970 2971
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
2972 2973 2974 2975 2976 2977
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 已提交
2978 2979 2980 2981
virt_aa_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
J
Jamie Strandboge 已提交
2982
virt_aa_helper_LDADD =						\
2983
		libvirt.la					\
C
Chris Lalancette 已提交
2984 2985
		libvirt_conf.la					\
		libvirt_util.la					\
2986
		libvirt_driver_storage_impl.la			\
C
Chris Lalancette 已提交
2987
		../gnulib/lib/libgnu.la
2988
if WITH_DTRACE_PROBES
2989
virt_aa_helper_LDADD += libvirt_probes.lo
2990
endif WITH_DTRACE_PROBES
J
Jamie Strandboge 已提交
2991
virt_aa_helper_CFLAGS =						\
2992 2993 2994 2995
		-I$(srcdir)/conf				\
		-I$(srcdir)/security				\
		$(AM_CFLAGS) 					\
		$(PIE_CFLAGS) 					\
D
Daniel P. Berrange 已提交
2996
		$(NULL)
2997 2998
endif WITH_LIBVIRTD
endif WITH_SECDRIVER_APPARMOR
J
Jamie Strandboge 已提交
2999 3000
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

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 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057
noinst_LTLIBRARIES += libvirt-nss.la

libvirt_nss_la_SOURCES =		\
		util/viralloc.c			\
		util/viralloc.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/virjson.c			\
		util/virjson.h			\
		util/virkmod.c			\
		util/virkmod.h			\
		util/virlease.c			\
		util/virlease.h			\
		util/virlog.c			\
		util/virlog.h			\
		util/virobject.c		\
		util/virobject.h		\
		util/virpidfile.c		\
		util/virpidfile.h		\
		util/virprocess.c		\
		util/virprocess.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			\
		$(NULL)

libvirt_nss_la_CFLAGS =			\
		-DLIBVIRT_NSS			\
		$(AM_CFLAGS)			\
		$(YAJL_CFLAGS)			\
		$(NULL)
libvirt_nss_la_LDFLAGS =		\
		$(AM_LDFLAGS)			\
		$(NULL)

libvirt_nss_la_LIBADD =			\
		$(YAJL_LIBS)			\
		$(NULL)


3058
install-data-local: install-init install-systemd
3059 3060
if WITH_LIBVIRTD
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd"
3061
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files"
3062
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lockd"
3063
endif WITH_LIBVIRTD
3064 3065
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
3066
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems"
3067
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
3068
if WITH_SANLOCK
3069
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock"
3070
endif WITH_SANLOCK
3071
if WITH_QEMU
3072
	$(MKDIR_P) -m 0751 "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu"
3073
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/qemu"
3074
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
3075
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
3076
endif WITH_QEMU
3077 3078 3079
if WITH_LXC
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
3080
endif WITH_LXC
J
Jim Fehlig 已提交
3081 3082 3083
if WITH_LIBXL
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/libxl"
J
Jim Fehlig 已提交
3084
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/libxl"
3085
endif WITH_LIBXL
3086 3087 3088
if WITH_UML
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/uml"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/uml"
3089
endif WITH_UML
3090 3091
if WITH_XEN
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/xen"
3092
endif WITH_XEN
3093 3094
if WITH_NETWORK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/network"
3095
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
3096
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
3097
	$(MKDIR_P) "$(DESTDIR)$(confdir)/qemu/networks/autostart"
3098
	$(INSTALL_DATA) $(srcdir)/network/default.xml \
3099
	  $(DESTDIR)$(confdir)/qemu/networks/default.xml
3100
	test -z "$(UUID)" || \
3101 3102 3103
	  { sed -e "s,</name>,</name>;  <uuid>$(UUID)</uuid>," \
	      $(DESTDIR)$(confdir)/qemu/networks/default.xml | \
	      tr ";" "\n" > \
3104 3105 3106 3107
	      $(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 已提交
3108
	( cd $(DESTDIR)$(confdir)/qemu/networks/autostart && \
3109 3110
	  rm -f default.xml && \
	  $(LN_S) ../default.xml default.xml )
3111
endif WITH_NETWORK
3112

3113
uninstall-local:: uninstall-init uninstall-systemd
3114
if WITH_LIBVIRTD
3115
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files" ||:
3116 3117
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lockd" ||:
3118
endif WITH_LIBVIRTD
3119 3120
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
3121
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
3122
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
3123
if WITH_SANLOCK
3124
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
3125
endif WITH_SANLOCK
3126 3127 3128 3129 3130
if WITH_QEMU
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/qemu" ||:
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu" ||:
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/qemu" ||:
3131
endif WITH_QEMU
3132 3133 3134
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
3135
endif WITH_LXC
J
Jim Fehlig 已提交
3136 3137 3138
if WITH_LIBXL
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/libxl" ||:
J
Jim Fehlig 已提交
3139
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/libxl" ||:
3140
endif WITH_LIBXL
3141 3142 3143
if WITH_UML
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/uml" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/uml" ||:
3144
endif WITH_UML
3145 3146
if WITH_XEN
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/xen" ||:
3147
endif WITH_XEN
3148
if WITH_NETWORK
3149 3150 3151 3152
	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" || :
3153 3154
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/network" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/network" ||:
3155
endif WITH_NETWORK
3156
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
R
Richard W.M. Jones 已提交
3157

3158 3159
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
3160
MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED)