Makefile.am 97.8 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
		$(AM_CFLAGS)
1626 1627
libvirt_driver_storage_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_storage_impl_la_LIBADD =
1628
libvirt_driver_storage_impl_la_LIBADD += $(SECDRIVER_LIBS) $(LIBXML_LIBS)
1629
if WITH_BLKID
1630 1631
libvirt_driver_storage_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_storage_impl_la_LIBADD += $(BLKID_LIBS)
1632
endif WITH_BLKID
1633
if WITH_STORAGE
1634 1635 1636
noinst_LTLIBRARIES += libvirt_driver_storage_impl.la
libvirt_driver_storage_la_SOURCES =
libvirt_driver_storage_la_LIBADD = libvirt_driver_storage_impl.la
1637 1638
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
1639
libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
1640
libvirt_driver_storage_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1641
else ! WITH_DRIVER_MODULES
1642
noinst_LTLIBRARIES += libvirt_driver_storage.la
1643
# Stateful, so linked to daemon instead
1644
#libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la
1645
endif ! WITH_DRIVER_MODULES
1646 1647
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
1648
endif WITH_STORAGE
1649

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

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

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

D
Dave Allan 已提交
1662
if WITH_STORAGE_MPATH
1663 1664 1665
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)
1666
endif WITH_STORAGE_MPATH
D
Dave Allan 已提交
1667

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

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

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

1681 1682 1683 1684 1685 1686
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 已提交
1687 1688 1689 1690
if WITH_STORAGE_ZFS
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ZFS_SOURCES)
endif WITH_STORAGE_ZFS

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

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

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

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


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


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

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

1786 1787
EXTRA_DIST += access/genpolkit.pl

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

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

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

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

1806

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

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

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

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

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

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

1914 1915
check-local: check-augeas

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

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

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

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

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

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

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

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

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

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

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

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

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

1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008
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

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

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

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

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

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

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

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

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

2073 2074 2075 2076 2077 2078
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 已提交
2079 2080 2081 2082 2083
if WITH_XENCONFIG
USED_SYM_FILES += $(srcdir)/libvirt_xenconfig.syms
else ! WITH_XENCONFIG
SYM_FILES += $(srcdir)/libvirt_xenconfig.syms
endif ! WITH_XENCONFIG
2084

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

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

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

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

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

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

2124
BUILT_SOURCES += $(GENERATED_SYM_FILES)
2125

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

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

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

2161 2162 2163 2164
# 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 已提交
2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188
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 += \
2189
		$(XDR_CFLAGS)			\
M
Martin Kletzander 已提交
2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204
		$(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)

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

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

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

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

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

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

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

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

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

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

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

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

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

2296
EXTRA_DIST += libvirt_probes.d libvirt_qemu_probes.d
2297

C
Chris Lalancette 已提交
2298
libvirt_qemu_la_SOURCES = libvirt-qemu.c
D
Daniel P. Berrange 已提交
2299 2300 2301 2302 2303 2304 2305
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)
2306
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
2307
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
2308

2309
libvirt_lxc_la_SOURCES = libvirt-lxc.c
D
Daniel P. Berrange 已提交
2310 2311 2312 2313 2314 2315 2316
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)
2317 2318 2319
libvirt_lxc_la_CFLAGS = $(AM_CFLAGS)
libvirt_lxc_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)

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

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

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

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

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

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

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


2452
sbin_PROGRAMS = virtlockd virtlogd
2453

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

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

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

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

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

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

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

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

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

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

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

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

2570 2571 2572 2573 2574 2575 2576 2577 2578
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 $@

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

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

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

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

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

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

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

A
Andrea Bolognani 已提交
2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628
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)
2629 2630 2631 2632

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

2645 2646 2647 2648

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_SYSTEMD

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

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

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

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

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

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

2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706
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 $@

2707

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

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

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

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

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

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

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

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

2761
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
2762

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

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

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

2841 2842
libexec_PROGRAMS =

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

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

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

2884
endif WITH_LIBVIRTD
2885

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

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

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

2912

2913
if WITH_SANLOCK
2914 2915 2916
libexec_PROGRAMS += libvirt_sanlock_helper

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

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

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

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

3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056
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)


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

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

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