Makefile.am 97.3 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/virgettext.c util/virgettext.h		\
118
		util/virgic.c util/virgic.h			\
119 120
		util/virhash.c util/virhash.h			\
		util/virhashcode.c util/virhashcode.h		\
121
		util/virhook.c util/virhook.h			\
122
		util/virhostdev.c util/virhostdev.h		\
123
		util/viridentity.c util/viridentity.h		\
124
		util/virinitctl.c util/virinitctl.h		\
125
		util/viriptables.c util/viriptables.h		\
126
		util/viriscsi.c util/viriscsi.h			\
127
		util/virjson.c util/virjson.h			\
L
Lai Jiangshan 已提交
128
		util/virkeycode.c util/virkeycode.h		\
129
		util/virkeyfile.c util/virkeyfile.h		\
130
		util/virkeymaps.h				\
131
		util/virlease.c util/virlease.h			\
132
		util/virlockspace.c util/virlockspace.h		\
133
		util/virlog.c util/virlog.h			\
134
		util/virmacaddr.h util/virmacaddr.c		\
135
		util/virnetdev.h util/virnetdev.c		\
136
		util/virnetdevbandwidth.h util/virnetdevbandwidth.c \
137
		util/virnetdevbridge.h util/virnetdevbridge.c	\
138
		util/virnetdevmacvlan.c util/virnetdevmacvlan.h	\
139
		util/virnetdevmidonet.h util/virnetdevmidonet.c \
A
Ansis Atteka 已提交
140
		util/virnetdevopenvswitch.h util/virnetdevopenvswitch.c \
141
		util/virnetdevtap.h util/virnetdevtap.c		\
142 143
		util/virnetdevveth.h util/virnetdevveth.c	\
		util/virnetdevvlan.h util/virnetdevvlan.c	\
144
		util/virnetdevvportprofile.h util/virnetdevvportprofile.c \
145
		util/virnetlink.c util/virnetlink.h		\
146
		util/virnodesuspend.c util/virnodesuspend.h	\
147
		util/virkmod.c util/virkmod.h                   \
148
		util/virnuma.c util/virnuma.h			\
149 150 151
		util/virobject.c util/virobject.h		\
		util/virpci.c util/virpci.h			\
		util/virpidfile.c util/virpidfile.h		\
152
		util/virpolkit.c util/virpolkit.h               \
D
Daniel P. Berrange 已提交
153
		util/virportallocator.c util/virportallocator.h \
154
		util/virprobe.h					\
155
		util/virprocess.c util/virprocess.h		\
156
		util/virrandom.h util/virrandom.c		\
157
		util/virrotatingfile.h util/virrotatingfile.c   \
158
		util/virscsi.c util/virscsi.h			\
159
		util/virseclabel.c util/virseclabel.h		\
160 161
		util/virsexpr.c util/virsexpr.h			\
		util/virsocketaddr.h util/virsocketaddr.c	\
162
		util/virstats.c util/virstats.h	\
163
		util/virstorageencryption.c util/virstorageencryption.h \
164 165 166
		util/virstoragefile.c util/virstoragefile.h	\
		util/virstring.h util/virstring.c		\
		util/virsysinfo.c util/virsysinfo.h		\
167
		util/virsystemd.c util/virsystemd.h		\
168
		util/virthread.c util/virthread.h		\
P
Pavel Hrdina 已提交
169
		util/virthreadjob.c util/virthreadjob.h		\
170 171
		util/virthreadpool.c util/virthreadpool.h	\
		util/virtime.h util/virtime.c			\
172
		util/virtpm.h util/virtpm.c			\
173
		util/virtypedparam.c util/virtypedparam.h	\
174
		util/virusb.c util/virusb.h			\
175 176
		util/viruri.h util/viruri.c			\
		util/virutil.c util/virutil.h			\
177
		util/viruuid.c util/viruuid.h			\
178
		util/virxdrdefs.h                               \
179
		util/virxml.c util/virxml.h			\
180
		$(NULL)
L
Lai Jiangshan 已提交
181

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

E
Eric Blake 已提交
184
BUILT_SOURCES += util/virkeymaps.h
185
MAINTAINERCLEANFILES += util/virkeymaps.h
186

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

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

229 230 231
LOCK_DRIVER_SANLOCK_SOURCES = \
		locking/lock_driver_sanlock.c

232 233
LOCK_DRIVER_SANLOCK_HELPER_SOURCES = \
		locking/sanlock_helper.c
234

235
LOCK_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
236 237
		locking/lock_protocol.h \
		locking/lock_protocol.c \
238 239
		$(NULL)

240 241 242
LOCK_PROTOCOL = $(srcdir)/locking/lock_protocol.x
EXTRA_DIST += $(LOCK_PROTOCOL) \
	$(LOCK_PROTOCOL_GENERATED)
243 244 245
BUILT_SOURCES += $(LOCK_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(LOCK_PROTOCOL_GENERATED)

246
LOCK_DAEMON_GENERATED = \
247
		locking/lock_daemon_dispatch_stubs.h
248 249 250
		$(NULL)

BUILT_SOURCES += $(LOCK_DAEMON_GENERATED)
251
EXTRA_DIST += $(LOCK_DAEMON_GENERATED)
252 253
MAINTAINERCLEANFILES += $(LOCK_DAEMON_GENERATED)

254 255
LOCK_DRIVER_LOCKD_SOURCES = \
		locking/lock_driver_lockd.c \
256
		locking/lock_driver_lockd.h \
257 258
		$(NULL)

259 260 261 262 263
LOCK_DAEMON_SOURCES = \
		locking/lock_daemon.h \
		locking/lock_daemon.c \
		locking/lock_daemon_config.h \
		locking/lock_daemon_config.c \
264 265
		locking/lock_daemon_dispatch.c \
		locking/lock_daemon_dispatch.h \
266 267
		$(NULL)

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


275 276 277 278 279
LOG_PROTOCOL_GENERATED = \
		logging/log_protocol.h \
		logging/log_protocol.c \
		$(NULL)

280 281
DRIVER_SOURCES += $(LOG_PROTOCOL_GENERATED)

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


314 315
NETDEV_CONF_SOURCES =						\
		conf/netdev_bandwidth_conf.h conf/netdev_bandwidth_conf.c \
316 317
		conf/netdev_vport_profile_conf.h conf/netdev_vport_profile_conf.c \
		conf/netdev_vlan_conf.h conf/netdev_vlan_conf.c
318

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

332 333 334 335
OBJECT_EVENT_SOURCES =						\
		conf/object_event.c conf/object_event.h \
		conf/object_event_private.h

336 337
DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
338

339 340 341
NETWORK_EVENT_SOURCES =						\
		conf/network_event.c conf/network_event.h

342
# Network driver generic impl APIs
343
NETWORK_CONF_SOURCES =						\
344 345
		conf/network_conf.c conf/network_conf.h \
		conf/networkcommon_conf.c conf/networkcommon_conf.h
346

347 348
# Network filter driver generic impl APIs
NWFILTER_PARAM_CONF_SOURCES =					\
349
		conf/nwfilter_params.c conf/nwfilter_params.h	\
350 351
		conf/nwfilter_ipaddrmap.c			\
		conf/nwfilter_ipaddrmap.h			\
352
		conf/nwfilter_conf.h
353

354
NWFILTER_CONF_SOURCES =						\
355 356 357
		$(NWFILTER_PARAM_CONF_SOURCES)			\
		conf/nwfilter_conf.c conf/nwfilter_conf.h

358
# Storage driver generic impl APIs
359 360
STORAGE_CONF_SOURCES =                                         \
		conf/storage_conf.h conf/storage_conf.c
361

362
# Interface driver generic impl APIs
363 364
INTERFACE_CONF_SOURCES =                                       \
		conf/interface_conf.c conf/interface_conf.h
365

366
# Secret driver generic impl APIs
367 368 369 370 371 372 373
SECRET_CONF_SOURCES =                                          \
		conf/secret_conf.h conf/secret_conf.c

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

374 375
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h
376

377 378
# Safe character device handling helper APIs
CHRDEV_CONF_SOURCES =						\
379
		conf/virchrdev.c conf/virchrdev.h
380

381 382 383 384
# Device Helper APIs
DEVICE_CONF_SOURCES =                                           \
		conf/device_conf.c conf/device_conf.h

385
CONF_SOURCES =							\
386
		$(NETDEV_CONF_SOURCES)				\
387
		$(DOMAIN_CONF_SOURCES)				\
388
		$(OBJECT_EVENT_SOURCES)				\
389
		$(DOMAIN_EVENT_SOURCES)				\
390
		$(NETWORK_EVENT_SOURCES)			\
391
		$(NETWORK_CONF_SOURCES)				\
392
		$(NWFILTER_CONF_SOURCES)			\
393 394 395
		$(NODE_DEVICE_CONF_SOURCES)			\
		$(STORAGE_CONF_SOURCES)				\
		$(INTERFACE_CONF_SOURCES)			\
396
		$(SECRET_CONF_SOURCES)				\
397
		$(CPU_CONF_SOURCES)				\
398
		$(CHRDEV_CONF_SOURCES)				\
399
		$(DEVICE_CONF_SOURCES)
400

401
# The remote RPC driver, covering domains, storage, networks, etc
402
REMOTE_DRIVER_GENERATED = \
E
Eric Blake 已提交
403 404 405 406 407 408 409 410 411 412
		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 已提交
413 414

REMOTE_PROTOCOL = $(srcdir)/remote/remote_protocol.x
415
LXC_PROTOCOL = $(srcdir)/remote/lxc_protocol.x
E
Eric Blake 已提交
416
QEMU_PROTOCOL = $(srcdir)/remote/qemu_protocol.x
417
REMOTE_DRIVER_PROTOCOL = $(REMOTE_PROTOCOL) $(QEMU_PROTOCOL) $(LXC_PROTOCOL)
418

E
Eric Blake 已提交
419
remote/remote_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
420
		$(REMOTE_PROTOCOL) Makefile.am
421
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
422 423
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/remote/remote_client_bodies.h
424

E
Eric Blake 已提交
425
remote/lxc_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
426
		$(LXC_PROTOCOL) Makefile.am
427
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
428 429
	  lxc LXC $(LXC_PROTOCOL) \
	  > $(srcdir)/remote/lxc_client_bodies.h
430

E
Eric Blake 已提交
431
remote/qemu_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
432
		$(QEMU_PROTOCOL) Makefile.am
433
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
434 435
	  qemu QEMU $(QEMU_PROTOCOL) \
	  > $(srcdir)/remote/qemu_client_bodies.h
436 437 438 439 440

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

442
EXTRA_DIST +=  $(REMOTE_DRIVER_PROTOCOL) \
443
		$(REMOTE_DRIVER_GENERATED)
444

M
Martin Kletzander 已提交
445 446 447 448
ADMIN_PROTOCOL = $(srcdir)/admin/admin_protocol.x

ADMIN_PROTOCOL_GENERATED = \
		admin/admin_protocol.c	\
449 450 451 452 453 454 455 456
		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 已提交
457 458 459 460 461

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

462 463 464 465 466 467 468 469 470 471
# 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
472 473 474 475

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

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

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

E
Eric Blake 已提交
554
# Keep this list synced with RPC_PROBE_FILES
555 556
PROTOCOL_STRUCTS = \
	$(srcdir)/remote_protocol-structs \
557
	$(srcdir)/lxc_protocol-structs \
558
	$(srcdir)/qemu_protocol-structs \
J
Jiri Denemark 已提交
559
	$(srcdir)/virnetprotocol-structs \
E
Eric Blake 已提交
560 561 562
	$(srcdir)/virkeepaliveprotocol-structs \
	$(srcdir)/lxc_monitor_protocol-structs \
	$(srcdir)/lock_protocol-structs \
M
Martin Kletzander 已提交
563
	$(srcdir)/admin_protocol-structs \
E
Eric Blake 已提交
564 565
	$(NULL)

566
if WITH_REMOTE
567 568
check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)

569 570
# 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.
571 572 573
$(srcdir)/remote_protocol-struct \
	$(srcdir)/qemu_protocol-struct \
	$(srcdir)/lxc_protocol-struct: \
E
Eric Blake 已提交
574
		$(srcdir)/%-struct: remote/libvirt_driver_remote_la-%.lo
575
	$(PDWTAGS)
576
$(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \
E
Eric Blake 已提交
577
		$(srcdir)/%-struct: rpc/libvirt_net_rpc_la-%.lo
578
	$(PDWTAGS)
E
Eric Blake 已提交
579
$(srcdir)/lxc_monitor_protocol-struct: \
E
Eric Blake 已提交
580
		$(srcdir)/%-struct: lxc/libvirt_driver_lxc_impl_la-%.lo
E
Eric Blake 已提交
581 582
	$(PDWTAGS)
$(srcdir)/lock_protocol-struct: \
E
Eric Blake 已提交
583
		$(srcdir)/%-struct: locking/lockd_la-%.lo
E
Eric Blake 已提交
584
	$(PDWTAGS)
M
Martin Kletzander 已提交
585 586 587
$(srcdir)/admin_protocol-struct: \
		$(srcdir)/%-struct: admin/libvirt_admin_la-%.lo
	$(PDWTAGS)
E
Eric Blake 已提交
588

589
else !WITH_REMOTE
590 591 592
# The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be
# re-generated when configured --without-remote.
check-protocol:
593
endif !WITH_REMOTE
J
Jiri Denemark 已提交
594
EXTRA_DIST += $(PROTOCOL_STRUCTS)
595 596 597 598 599

check-drivername:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-drivername.pl \
		$(srcdir)/driver.h \
		$(srcdir)/libvirt_public.syms \
600
		$(srcdir)/libvirt_admin_public.syms \
601 602 603 604 605
		$(srcdir)/libvirt_qemu.syms \
		$(srcdir)/libvirt_lxc.syms

EXTRA_DIST += check-drivername.pl

606
DRIVER_SOURCE_FILES = \
607 608 609 610 611 612 613 614 615 616 617
	$(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) \
618
	$(VZ_DRIVER_SOURCES) \
619 620 621 622 623 624 625 626
	$(PHYP_DRIVER_SOURCES) \
	$(QEMU_DRIVER_SOURCES) \
	$(REMOTE_DRIVER_SOURCES) \
	$(SECRET_DRIVER_SOURCES) \
	$(STORAGE_DRIVER_SOURCES) \
	$(TEST_DRIVER_SOURCES) \
	$(UML_DRIVER_SOURCES) \
	$(VBOX_DRIVER_SOURCES) \
627
	vbox/vbox_tmpl.c \
628 629 630
	$(VMWARE_DRIVER_SOURCES) \
	$(XEN_DRIVER_SOURCES) \
	$(XENAPI_DRIVER_SOURCES) \
631 632
	$(NULL)

633
STATEFUL_DRIVER_SOURCE_FILES = \
R
Roman Bogorodskiy 已提交
634
	$(BHYVE_DRIVER_SOURCES) \
635 636 637 638 639 640 641 642 643 644 645 646 647
	$(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)

648 649 650

check-driverimpls:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-driverimpls.pl \
651
		$(filter /%,$(DRIVER_SOURCE_FILES)) \
E
Eric Blake 已提交
652 653 654
		$(filter $(srcdir)/%,$(DRIVER_SOURCE_FILES)) \
		$(addprefix $(srcdir)/,$(filter-out $(srcdir)/%, \
			$(filter-out /%,$(DRIVER_SOURCE_FILES))))
655

656 657
check-aclrules:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclrules.pl \
E
Eric Blake 已提交
658
		$(REMOTE_PROTOCOL) \
659
		$(addprefix $(srcdir)/,$(filter-out /%,$(STATEFUL_DRIVER_SOURCE_FILES)))
660

661 662 663 664 665
check-aclperms:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclperms.pl \
		$(srcdir)/access/viraccessperm.h \
		$(srcdir)/access/viraccessperm.c

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

668
check-local: check-protocol check-symfile check-symsorting \
669
	check-drivername check-driverimpls check-aclrules \
670
	check-aclperms check-admin-symfile check-admin-symsorting
671
.PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
672

673 674
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES =						\
675
		test/test_driver.c test/test_driver.h
676 677 678

# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
679 680 681 682 683 684
		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
685
if WITH_XEN_INOTIFY
686
XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
687
endif WITH_XEN_INOTIFY
688

689
LXC_MONITOR_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
690 691
	lxc/lxc_monitor_protocol.h \
	lxc/lxc_monitor_protocol.c \
692 693 694
	$(NULL)

LXC_MONITOR_GENERATED = \
E
Eric Blake 已提交
695
	lxc/lxc_monitor_dispatch.h \
696 697 698
	$(NULL)

LXC_CONTROLLER_GENERATED = \
E
Eric Blake 已提交
699
	lxc/lxc_controller_dispatch.h \
700 701 702
	$(NULL)

LXC_GENERATED = \
703
	$(LXC_MONITOR_PROTOCOL_GENERATED) \
704 705 706 707
	$(LXC_MONITOR_GENERATED) \
	$(LXC_CONTROLLER_GENERATED) \
	$(NULL)

708
LXC_MONITOR_PROTOCOL = $(srcdir)/lxc/lxc_monitor_protocol.x
709

E
Eric Blake 已提交
710
lxc/lxc_monitor_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
711
		$(LXC_MONITOR_PROTOCOL) Makefile.am
712
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
713 714
	  virLXCMonitor VIR_LXC_MONITOR $(LXC_MONITOR_PROTOCOL) > \
	  $(srcdir)/lxc/lxc_monitor_dispatch.h
715

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

EXTRA_DIST += \
723
	$(LXC_MONITOR_PROTOCOL) \
724 725 726 727 728
	$(LXC_GENERATED) \
	$(NULL)

BUILT_SOURCES += $(LXC_GENERATED)

729 730
CLEANFILES += $(LXC_GENERATED)

731
LXC_DRIVER_SOURCES =						\
732
		$(LXC_MONITOR_PROTOCOL_GENERATED)		\
733
		$(LXC_MONITOR_GENERATED)			\
734 735
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
736
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
737
		lxc/lxc_domain.c lxc/lxc_domain.h		\
738
		lxc/lxc_hostdev.c lxc/lxc_hostdev.h		\
739
		lxc/lxc_monitor.c lxc/lxc_monitor.h		\
740
		lxc/lxc_process.c lxc/lxc_process.h		\
G
Gao feng 已提交
741
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
742
		lxc/lxc_native.c lxc/lxc_native.h		\
743
		lxc/lxc_driver.c lxc/lxc_driver.h
744

745
LXC_CONTROLLER_SOURCES =					\
746
		$(LXC_MONITOR_PROTOCOL_GENERATED)		\
747
		$(LXC_CONTROLLER_GENERATED)			\
748 749
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
750
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
751
		lxc/lxc_domain.c lxc/lxc_domain.h		\
G
Gao feng 已提交
752
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
753
		lxc/lxc_controller.c
754

J
Jamie Strandboge 已提交
755
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES =			\
E
Eric Blake 已提交
756
		$(DATATYPES_SOURCES)				\
J
Jamie Strandboge 已提交
757 758
		security/virt-aa-helper.c

759 760 761
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

762
OPENVZ_DRIVER_SOURCES =						\
763
		openvz/openvz_conf.c openvz/openvz_conf.h	\
764 765
		openvz/openvz_driver.c openvz/openvz_driver.h   \
		openvz/openvz_util.c openvz/openvz_util.h
766

E
Eric Blake 已提交
767
VMWARE_DRIVER_SOURCES =						\
768
		vmware/vmware_driver.c vmware/vmware_driver.h	\
769 770
		vmware/vmware_conf.c vmware/vmware_conf.h

771
VBOX_DRIVER_SOURCES =						\
E
Eric Blake 已提交
772 773
	vbox/vbox_glue.c vbox/vbox_glue.h			\
	vbox/vbox_driver.c vbox/vbox_driver.h			\
T
Taowei 已提交
774
	vbox/vbox_snapshot_conf.c vbox/vbox_snapshot_conf.h     \
E
Eric Blake 已提交
775 776 777 778
	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			\
779
	vbox/vbox_V4_0.c vbox/vbox_CAPI_v4_0.h			\
780
	vbox/vbox_V4_1.c vbox/vbox_CAPI_v4_1.h			\
R
Ryota Ozaki 已提交
781
	vbox/vbox_V4_2.c vbox/vbox_CAPI_v4_2.h			\
T
Taowei 已提交
782
	vbox/vbox_V4_2_20.c vbox/vbox_CAPI_v4_2_20.h		\
783
	vbox/vbox_V4_3.c vbox/vbox_CAPI_v4_3.h			\
T
Taowei 已提交
784 785 786
	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                               \
787 788 789
	vbox/vbox_get_driver.h					\
	vbox/vbox_network.c					\
	vbox/vbox_storage.c
T
Taowei Luo 已提交
790

E
Eric Blake 已提交
791
VBOX_DRIVER_EXTRA_DIST =					\
792 793 794
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
795

O
Osier Yang 已提交
796 797
QEMU_DRIVER_SOURCES =							\
		qemu/qemu_agent.c qemu/qemu_agent.h			\
798
		qemu/qemu_alias.c qemu/qemu_alias.h			\
799
		qemu/qemu_blockjob.c qemu/qemu_blockjob.h		\
O
Osier Yang 已提交
800 801
		qemu/qemu_capabilities.c qemu/qemu_capabilities.h	\
		qemu/qemu_command.c qemu/qemu_command.h			\
802
		qemu/qemu_parse_command.c qemu/qemu_parse_command.h	\
O
Osier Yang 已提交
803
		qemu/qemu_domain.c qemu/qemu_domain.h			\
804
		qemu/qemu_domain_address.c qemu/qemu_domain_address.h	\
O
Osier Yang 已提交
805 806 807
		qemu/qemu_cgroup.c qemu/qemu_cgroup.h			\
		qemu/qemu_hostdev.c qemu/qemu_hostdev.h			\
		qemu/qemu_hotplug.c qemu/qemu_hotplug.h			\
808
		qemu/qemu_hotplugpriv.h					\
O
Osier Yang 已提交
809 810
		qemu/qemu_conf.c qemu/qemu_conf.h			\
		qemu/qemu_process.c qemu/qemu_process.h			\
811
		qemu/qemu_processpriv.h					\
O
Osier Yang 已提交
812 813 814 815 816 817
		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				\
818
		qemu/qemu_driver.c qemu/qemu_driver.h	\
819 820
		qemu/qemu_interface.c qemu/qemu_interface.h		\
		qemu/qemu_capspriv.h
R
Richard W.M. Jones 已提交
821

O
Osier Yang 已提交
822
XENAPI_DRIVER_SOURCES =						\
823
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
O
Osier Yang 已提交
824
		xenapi/xenapi_driver_private.h			\
825 826
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

J
Jim Fehlig 已提交
827 828
LIBXL_DRIVER_SOURCES =						\
		libxl/libxl_conf.c libxl/libxl_conf.h		\
J
Jim Fehlig 已提交
829
		libxl/libxl_domain.c libxl/libxl_domain.h       \
J
Jim Fehlig 已提交
830 831
		libxl/libxl_driver.c libxl/libxl_driver.h       \
		libxl/libxl_migration.c libxl/libxl_migration.h
J
Jim Fehlig 已提交
832

833
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
834 835
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
836

O
Osier Yang 已提交
837 838 839 840 841 842
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	\
843
		esx/esx_storage_backend_vmfs.c esx/esx_storage_backend_vmfs.h	\
844
		esx/esx_storage_backend_iscsi.c esx/esx_storage_backend_iscsi.h	\
845
		esx/esx_stream.c esx/esx_stream.h			\
O
Osier Yang 已提交
846 847 848
		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		\
849
		esx/esx_vi_types.c esx/esx_vi_types.h
850

851
ESX_DRIVER_GENERATED =							\
852 853
		esx/esx_vi_methods.generated.c				\
		esx/esx_vi_methods.generated.h				\
854
		esx/esx_vi_methods.generated.macro			\
855 856 857 858 859
		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			\
860 861 862
		esx/esx_vi_types.generated.typefromstring		\
		esx/esx_vi.generated.c					\
		esx/esx_vi.generated.h
863

O
Osier Yang 已提交
864
ESX_DRIVER_EXTRA_DIST =							\
865 866 867 868 869
		esx/README						\
		esx/esx_vi_generator.input				\
		esx/esx_vi_generator.py					\
		$(ESX_DRIVER_GENERATED)

O
Osier Yang 已提交
870
HYPERV_DRIVER_SOURCES =									\
M
Matthias Bolte 已提交
871 872
		hyperv/hyperv_private.h							\
		hyperv/hyperv_driver.c hyperv/hyperv_driver.h				\
873
		hyperv/hyperv_util.c hyperv/hyperv_util.h				\
874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889
		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)

890
VZ_DRIVER_SOURCES =				\
891 892 893 894 895 896
		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 已提交
897

R
Roman Bogorodskiy 已提交
898
BHYVE_DRIVER_SOURCES =						\
899 900
		bhyve/bhyve_capabilities.c			\
		bhyve/bhyve_capabilities.h			\
R
Roman Bogorodskiy 已提交
901 902
		bhyve/bhyve_command.c				\
		bhyve/bhyve_command.h				\
903 904 905 906
		bhyve/bhyve_device.c				\
		bhyve/bhyve_device.h				\
		bhyve/bhyve_domain.c				\
		bhyve/bhyve_domain.h				\
R
Roman Bogorodskiy 已提交
907 908
		bhyve/bhyve_driver.h				\
		bhyve/bhyve_driver.c				\
909 910
		bhyve/bhyve_monitor.c				\
		bhyve/bhyve_monitor.h				\
R
Roman Bogorodskiy 已提交
911 912 913 914 915
		bhyve/bhyve_process.c				\
		bhyve/bhyve_process.h				\
		bhyve/bhyve_utils.h				\
		$(NULL)

916
NETWORK_DRIVER_SOURCES =					\
917 918 919 920 921
		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
922

923 924 925 926
INTERFACE_DRIVER_SOURCES =

if WITH_INTERFACE
INTERFACE_DRIVER_SOURCES +=					\
927 928
		interface/interface_driver.h        \
		interface/interface_driver.c
929 930 931 932

if WITH_NETCF
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_netcf.c
933
endif WITH_NETCF
934
if WITH_UDEV
935 936
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_udev.c
937 938
endif WITH_UDEV
endif WITH_INTERFACE
939

940 941 942
SECRET_UTIL_SOURCES =						\
		secret/secret_util.h secret/secret_util.c

943
SECRET_DRIVER_SOURCES =						\
944
		secret/secret_driver.h secret/secret_driver.c
945

946
# Storage backend specific impls
O
Osier Yang 已提交
947 948
STORAGE_DRIVER_SOURCES =						\
		storage/storage_driver.h storage/storage_driver.c	\
949
		storage/storage_backend.h storage/storage_backend.c
950 951

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

954
STORAGE_DRIVER_LVM_SOURCES =					\
O
Osier Yang 已提交
955
		storage/storage_backend_logical.h		\
956
		storage/storage_backend_logical.c
957 958

STORAGE_DRIVER_ISCSI_SOURCES =					\
959
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
960

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

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

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

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

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

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

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

982
STORAGE_HELPER_DISK_SOURCES =					\
983
		storage/parthelper.c
984

985 986 987
UTIL_IO_HELPER_SOURCES =					\
		util/iohelper.c

988 989 990
NETWORK_LEASES_HELPER_SOURCES =                                 \
               network/leaseshelper.c

991
# Network filters
O
Osier Yang 已提交
992
NWFILTER_DRIVER_SOURCES =						\
993
		nwfilter/nwfilter_driver.h nwfilter/nwfilter_driver.c	\
994
		nwfilter/nwfilter_tech_driver.h				\
995 996
		nwfilter/nwfilter_gentech_driver.c			\
		nwfilter/nwfilter_gentech_driver.h			\
S
Stefan Berger 已提交
997 998
		nwfilter/nwfilter_dhcpsnoop.c				\
		nwfilter/nwfilter_dhcpsnoop.h				\
999
		nwfilter/nwfilter_ebiptables_driver.c			\
1000 1001 1002
		nwfilter/nwfilter_ebiptables_driver.h			\
		nwfilter/nwfilter_learnipaddr.c				\
		nwfilter/nwfilter_learnipaddr.h
1003

1004

1005
# Security framework and drivers for various models
O
Osier Yang 已提交
1006 1007 1008 1009 1010
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		\
1011
		security/security_manager.h security/security_manager.c
1012

1013
SECURITY_DRIVER_SELINUX_SOURCES =				\
1014
		security/security_selinux.h security/security_selinux.c
1015

J
Jamie Strandboge 已提交
1016 1017 1018
SECURITY_DRIVER_APPARMOR_SOURCES =				\
		security/security_apparmor.h security/security_apparmor.c

1019
ACCESS_DRIVER_GENERATED = \
E
Eric Blake 已提交
1020 1021 1022 1023 1024 1025 1026
		access/viraccessapicheck.h \
		access/viraccessapicheck.c \
		access/viraccessapicheckqemu.h \
		access/viraccessapicheckqemu.c \
		access/viraccessapichecklxc.h \
		access/viraccessapichecklxc.c \
		$(NULL)
1027

1028
ACCESS_DRIVER_SYM_FILES = \
1029 1030 1031
		libvirt_access.syms \
		libvirt_access_qemu.syms \
		libvirt_access_lxc.syms
1032

1033 1034 1035 1036 1037
ACCESS_DRIVER_API_FILES = \
		libvirt_access.xml \
		libvirt_access_qemu.xml \
		libvirt_access_lxc.xml

1038 1039 1040 1041 1042 1043 1044
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

1045 1046 1047 1048
ACCESS_DRIVER_POLKIT_SOURCES = \
		access/viraccessdriverpolkit.h access/viraccessdriverpolkit.c

ACCESS_DRIVER_POLKIT_POLICY = \
1049
		$(srcdir)/access/org.libvirt.api.policy
1050 1051


1052
NODE_DEVICE_DRIVER_SOURCES =					\
O
Osier Yang 已提交
1053 1054
		node_device/node_device_driver.c		\
		node_device/node_device_driver.h		\
1055 1056
		node_device/node_device_linux_sysfs.c           \
		node_device/node_device_linux_sysfs.h
1057 1058

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
1059
		node_device/node_device_hal.c			\
1060
		node_device/node_device_hal.h
1061

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

J
Jiri Denemark 已提交
1066 1067 1068 1069
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 已提交
1070
		cpu/cpu_s390.h cpu/cpu_s390.c			\
C
Chuck Short 已提交
1071
		cpu/cpu_arm.h cpu/cpu_arm.c			\
1072
		cpu/cpu_aarch64.h cpu/cpu_aarch64.c		\
1073 1074 1075
		cpu/cpu_ppc64.h cpu/cpu_ppc64.c			\
		cpu/cpu_ppc64_data.h				\
		cpu/cpu_map.h cpu/cpu_map.c
1076

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

1080 1081
XENCONFIG_SOURCES =						\
		xenconfig/xenxs_private.h			\
1082
		xenconfig/xen_common.c xenconfig/xen_common.h   \
1083
		xenconfig/xen_sxpr.c xenconfig/xen_sxpr.h	\
1084
		xenconfig/xen_xm.c xenconfig/xen_xm.h
1085 1086 1087 1088
if WITH_LIBXL
XENCONFIG_SOURCES +=						\
		xenconfig/xen_xl.c xenconfig/xen_xl.h
endif WITH_LIBXL
1089

J
Jiri Denemark 已提交
1090 1091
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
1092
EXTRA_DIST +=	$(pkgdata_DATA)
1093

1094 1095 1096 1097 1098 1099
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

1100
noinst_LTLIBRARIES = libvirt_util.la
1101 1102
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
libvirt_la_BUILT_LIBADD = libvirt_util.la
1103 1104
libvirt_util_la_SOURCES =					\
		$(UTIL_SOURCES)
1105
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
1106
		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS) \
1107
		$(DBUS_CFLAGS) $(LDEXP_LIBM) $(NUMACTL_CFLAGS)	\
1108
		$(SYSTEMD_DAEMON_CFLAGS) $(POLKIT_CFLAGS) \
1109
		-I$(srcdir)/conf
1110
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
1111
		$(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
1112
		$(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS) \
1113 1114
		$(SECDRIVER_LIBS) $(NUMACTL_LIBS) $(SYSTEMD_DAEMON_LIBS) \
		$(POLKIT_LIBS)
1115

1116 1117

noinst_LTLIBRARIES += libvirt_conf.la
1118
libvirt_la_BUILT_LIBADD += libvirt_conf.la
1119
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
1120 1121
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
1122
libvirt_conf_la_LIBADD = $(LIBXML_LIBS)
1123

J
Jiri Denemark 已提交
1124
noinst_LTLIBRARIES += libvirt_cpu.la
1125
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
1126
libvirt_cpu_la_CFLAGS = \
1127
		-I$(srcdir)/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
1128 1129
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

1130 1131 1132 1133 1134 1135
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)

1136 1137 1138 1139
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
1140
		-I$(srcdir)/conf $(AM_CFLAGS)
1141
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
1142
endif WITH_VMX
1143

J
Jim Fehlig 已提交
1144 1145 1146
if WITH_XENCONFIG
noinst_LTLIBRARIES += libvirt_xenconfig.la
libvirt_la_BUILT_LIBADD += libvirt_xenconfig.la
1147
libvirt_xenconfig_la_LIBADD = $(LIBXL_LIBS)
J
Jim Fehlig 已提交
1148
libvirt_xenconfig_la_CFLAGS = \
1149
		-I$(srcdir)/conf $(AM_CFLAGS)
J
Jim Fehlig 已提交
1150 1151
libvirt_xenconfig_la_SOURCES = $(XENCONFIG_SOURCES)
endif WITH_XENCONFIG
1152

1153

1154
noinst_LTLIBRARIES += libvirt_driver.la
1155
libvirt_la_BUILT_LIBADD += libvirt_driver.la
1156
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
1157

1158
libvirt_driver_la_CFLAGS = \
1159
		$(GNUTLS_CFLAGS) $(CURL_CFLAGS) \
1160
		-I$(srcdir)/conf $(AM_CFLAGS)
1161
libvirt_driver_la_LIBADD = \
1162
		$(GNUTLS_LIBS) $(CURL_LIBS) $(DLOPEN_LIBS)
1163

1164 1165
# 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.
1166
SYM_FILES = $(USED_SYM_FILES)
1167
USED_SYM_FILES = $(srcdir)/libvirt_private.syms
1168 1169 1170
GENERATED_SYM_FILES = \
	$(ACCESS_DRIVER_SYM_FILES) \
	libvirt.syms libvirt.def libvirt_qemu.def libvirt_lxc.def \
1171
	libvirt_admin.syms libvirt_admin.def \
1172
	$(NULL)
1173

1174
if WITH_TEST
1175
noinst_LTLIBRARIES += libvirt_driver_test.la
1176
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
1177
libvirt_driver_test_la_CFLAGS = \
1178
		-I$(srcdir)/conf $(AM_CFLAGS)
1179
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
1180
endif WITH_TEST
1181 1182

if WITH_REMOTE
1183
noinst_LTLIBRARIES += libvirt_driver_remote.la
1184
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
1185 1186
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
E
Eric Blake 已提交
1187
		$(XDR_CFLAGS)					\
1188 1189
		-I$(srcdir)/conf				\
		-I$(srcdir)/rpc					\
1190 1191
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
1192 1193 1194 1195
libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) \
                libvirt-net-rpc-client.la \
                libvirt-net-rpc-server.la \
                libvirt-net-rpc.la
1196
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
1197

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

1200 1201
endif WITH_REMOTE

1202
%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
1203
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
1204
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
1205

1206
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
1207
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
1208
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
1209

1210
if WITH_XEN
E
Eric Blake 已提交
1211 1212 1213
noinst_LTLIBRARIES += libvirt_driver_xen_impl.la
libvirt_driver_xen_la_SOURCES =
libvirt_driver_xen_la_LIBADD = libvirt_driver_xen_impl.la
1214 1215
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
E
Eric Blake 已提交
1216
libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
1217
libvirt_driver_xen_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1218
else ! WITH_DRIVER_MODULES
1219
noinst_LTLIBRARIES += libvirt_driver_xen.la
1220 1221
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
1222
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1223

1224
libvirt_driver_xen_impl_la_CFLAGS =				\
1225
		$(XEN_CFLAGS)					\
1226 1227 1228
		-I$(srcdir)/access				\
		-I$(srcdir)/conf				\
		-I$(srcdir)/xenconfig				\
1229
		$(AM_CFLAGS)
E
Eric Blake 已提交
1230
libvirt_driver_xen_impl_la_LDFLAGS = $(AM_LDFLAGS)
P
Pavel Hrdina 已提交
1231
libvirt_driver_xen_impl_la_LIBADD = $(XEN_LIBS) libvirt_xenconfig.la
E
Eric Blake 已提交
1232
libvirt_driver_xen_impl_la_SOURCES = $(XEN_DRIVER_SOURCES)
1233
endif WITH_XEN
1234

1235 1236
if WITH_PHYP
noinst_LTLIBRARIES += libvirt_driver_phyp.la
1237
libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
1238 1239
libvirt_driver_phyp_la_LIBADD = $(SSH2_LIBS)
libvirt_driver_phyp_la_CFLAGS = $(SSH2_CFLAGS) \
1240
		-I$(srcdir)/conf $(AM_CFLAGS)
1241
libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
1242
endif WITH_PHYP
1243

1244
if WITH_OPENVZ
1245
noinst_LTLIBRARIES += libvirt_driver_openvz.la
1246
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
1247
libvirt_driver_openvz_la_CFLAGS = \
1248
		-I$(srcdir)/conf $(AM_CFLAGS)
1249
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
1250
endif WITH_OPENVZ
1251

1252 1253 1254 1255
if WITH_VMWARE
noinst_LTLIBRARIES += libvirt_driver_vmware.la
libvirt_la_BUILT_LIBADD += libvirt_driver_vmware.la
libvirt_driver_vmware_la_CFLAGS = \
1256
		-I$(srcdir)/conf -I$(srcdir)/vmx $(AM_CFLAGS)
1257
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
1258
endif WITH_VMWARE
1259

1260
if WITH_VBOX
M
Michal Privoznik 已提交
1261
noinst_LTLIBRARIES += \
1262
		libvirt_driver_vbox_impl.la
1263 1264 1265
libvirt_driver_vbox_la_SOURCES =
libvirt_driver_vbox_la_LIBADD = libvirt_driver_vbox_impl.la
if WITH_DRIVER_MODULES
M
Michal Privoznik 已提交
1266
mod_LTLIBRARIES += \
1267
		libvirt_driver_vbox.la
1268
libvirt_driver_vbox_la_LIBADD += ../gnulib/lib/libgnu.la
1269
libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1270
else ! WITH_DRIVER_MODULES
1271
noinst_LTLIBRARIES += libvirt_driver_vbox.la
1272 1273 1274
# GPLv2-only license requries that it be linked into
# libvirtd and *not* libvirt.so
#libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
1275
endif ! WITH_DRIVER_MODULES
1276 1277

libvirt_driver_vbox_impl_la_CFLAGS =				\
1278 1279
		-I$(srcdir)/conf				\
		$(AM_CFLAGS)					\
M
Michal Privoznik 已提交
1280
		-DVBOX_DRIVER
1281
libvirt_driver_vbox_impl_la_LDFLAGS = $(AM_LDFLAGS)
1282 1283 1284
libvirt_driver_vbox_impl_la_LIBADD =  $(DLOPEN_LIBS)		\
		$(MSCOM_LIBS)					\
		$(LIBXML_LIBS)
1285
libvirt_driver_vbox_impl_la_SOURCES = $(VBOX_DRIVER_SOURCES)
1286
endif WITH_VBOX
1287

1288 1289
if WITH_XENAPI
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
1290
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
1291
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(CURL_CFLAGS) \
P
Pavel Hrdina 已提交
1292
		-I$(srcdir)/conf -I$(srcdir)/xenconfig $(AM_CFLAGS)
1293
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
1294
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(CURL_LIBS)
1295
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
1296
endif WITH_XENAPI
1297

J
Jim Fehlig 已提交
1298
if WITH_LIBXL
E
Eric Blake 已提交
1299 1300 1301
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 已提交
1302 1303
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_libxl.la
E
Eric Blake 已提交
1304
libvirt_driver_libxl_la_LIBADD += ../gnulib/lib/libgnu.la
1305
libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1306
else ! WITH_DRIVER_MODULES
J
Jim Fehlig 已提交
1307 1308 1309
noinst_LTLIBRARIES += libvirt_driver_libxl.la
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_libxl.la
1310
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1311

1312 1313
libvirt_driver_libxl_impl_la_CFLAGS = 		\
		$(LIBXL_CFLAGS)			\
1314 1315
		-I$(srcdir)/access	\
		-I$(srcdir)/conf	\
1316
		-I$(srcdir)/secret      \
1317
		-I$(srcdir)/xenconfig	\
1318
		$(AM_CFLAGS)
E
Eric Blake 已提交
1319
libvirt_driver_libxl_impl_la_LDFLAGS = $(AM_LDFLAGS)
1320 1321 1322
libvirt_driver_libxl_impl_la_LIBADD = $(LIBXL_LIBS) \
				      libvirt_xenconfig.la \
				      libvirt_secret.la
E
Eric Blake 已提交
1323
libvirt_driver_libxl_impl_la_SOURCES = $(LIBXL_DRIVER_SOURCES)
1324 1325 1326 1327 1328 1329

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

1330
endif WITH_LIBXL
1331 1332
EXTRA_DIST += libxl/libxl.conf libxl/libvirtd_libxl.aug \
		libxl/test_libvirtd_libxl.aug.in
J
Jim Fehlig 已提交
1333

1334
if WITH_QEMU
E
Eric Blake 已提交
1335 1336 1337
noinst_LTLIBRARIES += libvirt_driver_qemu_impl.la
libvirt_driver_qemu_la_SOURCES =
libvirt_driver_qemu_la_LIBADD = libvirt_driver_qemu_impl.la
1338 1339
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
E
Eric Blake 已提交
1340
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
1341
libvirt_driver_qemu_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1342
else ! WITH_DRIVER_MODULES
1343
noinst_LTLIBRARIES += libvirt_driver_qemu.la
1344
# Stateful, so linked to daemon instead
1345
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
1346
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1347

1348 1349 1350
libvirt_driver_qemu_impl_la_CFLAGS = \
		$(GNUTLS_CFLAGS) \
		$(LIBNL_CFLAGS) \
1351 1352
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1353
		-I$(srcdir)/secret \
1354
		$(AM_CFLAGS)
E
Eric Blake 已提交
1355
libvirt_driver_qemu_impl_la_LDFLAGS = $(AM_LDFLAGS)
1356
libvirt_driver_qemu_impl_la_LIBADD = $(CAPNG_LIBS) \
1357
                                $(GNUTLS_LIBS) \
1358 1359
				$(LIBNL_LIBS) \
				$(LIBXML_LIBS) \
1360
				libvirt_secret.la \
1361
				$(NULL)
E
Eric Blake 已提交
1362
libvirt_driver_qemu_impl_la_SOURCES = $(QEMU_DRIVER_SOURCES)
1363

A
Amy Griffis 已提交
1364
conf_DATA += qemu/qemu.conf
1365

1366
augeas_DATA += qemu/libvirtd_qemu.aug
1367 1368
augeastest_DATA += test_libvirtd_qemu.aug
CLEANFILES += test_libvirtd_qemu.aug
1369

1370
endif WITH_QEMU
1371
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
1372
		qemu/test_libvirtd_qemu.aug.in qemu/THREADS.txt
1373

1374 1375

if WITH_LXC
E
Eric Blake 已提交
1376 1377 1378
noinst_LTLIBRARIES += libvirt_driver_lxc_impl.la
libvirt_driver_lxc_la_SOURCES =
libvirt_driver_lxc_la_LIBADD = libvirt_driver_lxc_impl.la
1379 1380
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
E
Eric Blake 已提交
1381 1382
libvirt_driver_lxc_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1383
else ! WITH_DRIVER_MODULES
1384
noinst_LTLIBRARIES += libvirt_driver_lxc.la
1385
# Stateful, so linked to daemon instead
1386
#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
1387
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1388 1389

libvirt_driver_lxc_impl_la_CFLAGS = \
S
Serge Hallyn 已提交
1390
		$(LIBNL_CFLAGS) \
G
Gao feng 已提交
1391
		$(FUSE_CFLAGS) \
P
Pavel Fedin 已提交
1392
		$(XDR_CFLAGS) \
1393 1394
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1395
		$(AM_CFLAGS)
I
ik.nitk 已提交
1396 1397 1398 1399 1400 1401
libvirt_driver_lxc_impl_la_LIBADD = \
               $(CAPNG_LIBS) \
               $(LIBNL_LIBS) \
               $(LIBXML_LIBS) \
               $(FUSE_LIBS)

1402
if WITH_BLKID
E
Eric Blake 已提交
1403 1404
libvirt_driver_lxc_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_lxc_impl_la_LIBADD += $(BLKID_LIBS)
1405
endif WITH_BLKID
1406
libvirt_driver_lxc_impl_la_LIBADD += $(SECDRIVER_LIBS)
E
Eric Blake 已提交
1407
libvirt_driver_lxc_impl_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
1408 1409 1410

conf_DATA += lxc/lxc.conf

1411
augeas_DATA += lxc/libvirtd_lxc.aug
1412 1413
augeastest_DATA += test_libvirtd_lxc.aug
CLEANFILES += test_libvirtd_lxc.aug
1414

1415
endif WITH_LXC
1416
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug.in
1417

1418
if WITH_UML
E
Eric Blake 已提交
1419 1420 1421
noinst_LTLIBRARIES += libvirt_driver_uml_impl.la
libvirt_driver_uml_la_SOURCES =
libvirt_driver_uml_la_LIBADD = libvirt_driver_uml_impl.la
1422 1423
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
E
Eric Blake 已提交
1424
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
1425
libvirt_driver_uml_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1426
else ! WITH_DRIVER_MODULES
1427 1428
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
1429
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
1430
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1431

1432
libvirt_driver_uml_impl_la_CFLAGS = \
1433 1434
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1435
		$(AM_CFLAGS)
E
Eric Blake 已提交
1436
libvirt_driver_uml_impl_la_LDFLAGS = $(AM_LDFLAGS)
1437
# libvirt_driver_uml_impl_la_LIBADD =
E
Eric Blake 已提交
1438
libvirt_driver_uml_impl_la_SOURCES = $(UML_DRIVER_SOURCES)
1439
endif WITH_UML
1440

D
Daniel Veillard 已提交
1441

1442
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
1443

1444 1445
ESX_GENERATED_STAMP = .esx_vi_generator.stamp

E
Eric Blake 已提交
1446 1447
EXTRA_DIST += $(ESX_GENERATED_STAMP)

1448 1449 1450
$(ESX_DRIVER_GENERATED): $(ESX_GENERATED_STAMP)

$(ESX_GENERATED_STAMP): $(srcdir)/esx/esx_vi_generator.input \
1451
                         $(srcdir)/esx/esx_vi_generator.py
1452 1453 1454 1455 1456
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/esx/esx_vi_generator.py \
	  && touch $@

MAINTAINERCLEANFILES += $(ESX_DRIVER_GENERATED) $(ESX_GENERATED_STAMP)

D
Daniel Veillard 已提交
1457

1458 1459
if WITH_ESX
noinst_LTLIBRARIES += libvirt_driver_esx.la
1460
libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
1461
libvirt_driver_esx_la_CFLAGS = $(CURL_CFLAGS) \
1462
		-I$(srcdir)/conf -I$(srcdir)/vmx $(AM_CFLAGS)
1463
libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
1464
libvirt_driver_esx_la_LIBADD = $(CURL_LIBS)
1465
libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
1466
libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
1467
endif WITH_ESX
1468

M
Matthias Bolte 已提交
1469

1470 1471
BUILT_SOURCES += $(HYPERV_DRIVER_GENERATED)

1472 1473
HYPERV_GENERATED_STAMP = .hyperv_wmi_generator.stamp

E
Eric Blake 已提交
1474 1475
EXTRA_DIST += $(HYPERV_GENERATED_STAMP)

1476 1477 1478
$(HYPERV_DRIVER_GENERATED): $(HYPERV_GENERATED_STAMP)

$(HYPERV_GENERATED_STAMP): $(srcdir)/hyperv/hyperv_wmi_generator.input \
1479
                            $(srcdir)/hyperv/hyperv_wmi_generator.py
1480 1481
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) \
	  $(srcdir)/hyperv/hyperv_wmi_generator.py \
1482 1483 1484
	  && touch $@

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

M
Matthias Bolte 已提交
1486 1487 1488 1489
if WITH_HYPERV
noinst_LTLIBRARIES += libvirt_driver_hyperv.la
libvirt_la_BUILT_LIBADD += libvirt_driver_hyperv.la
libvirt_driver_hyperv_la_CFLAGS = $(OPENWSMAN_CFLAGS) \
1490
		-I$(srcdir)/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
1491 1492 1493
libvirt_driver_hyperv_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_hyperv_la_LIBADD = $(OPENWSMAN_LIBS)
libvirt_driver_hyperv_la_SOURCES = $(HYPERV_DRIVER_SOURCES)
1494
endif WITH_HYPERV
M
Matthias Bolte 已提交
1495

1496
if WITH_VZ
1497 1498 1499 1500 1501 1502 1503 1504
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
1505
noinst_LTLIBRARIES += libvirt_driver_vz.la
1506 1507
endif ! WITH_DRIVER_MODULES
libvirt_driver_vz_impl_la_CFLAGS = \
1508
		-I$(srcdir)/conf $(AM_CFLAGS) \
1509
		$(PARALLELS_SDK_CFLAGS) $(LIBNL_CFLAGS)
1510 1511
libvirt_driver_vz_impl_la_SOURCES = $(VZ_DRIVER_SOURCES)
libvirt_driver_vz_impl_la_LIBADD =  $(PARALLELS_SDK_LIBS) $(LIBNL_LIBS)
1512
endif WITH_VZ
D
Dmitry Guryanov 已提交
1513

R
Roman Bogorodskiy 已提交
1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526
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 = \
1527 1528
	-I$(srcdir)/access \
	-I$(srcdir)/conf \
R
Roman Bogorodskiy 已提交
1529 1530 1531 1532 1533
	$(AM_CFLAGS)
libvirt_driver_bhyve_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_bhyve_impl_la_SOURCES = $(BHYVE_DRIVER_SOURCES)
endif WITH_BHYVE

1534
if WITH_NETWORK
E
Eric Blake 已提交
1535 1536 1537
noinst_LTLIBRARIES += libvirt_driver_network_impl.la
libvirt_driver_network_la_SOURCES =
libvirt_driver_network_la_LIBADD = libvirt_driver_network_impl.la
1538 1539
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
1540 1541 1542 1543
libvirt_driver_network_la_LIBADD += ../gnulib/lib/libgnu.la \
	$(LIBNL_LIBS) \
	$(DBUS_LIBS) \
	$(NULL)
E
Eric Blake 已提交
1544
libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1545
else ! WITH_DRIVER_MODULES
1546
noinst_LTLIBRARIES += libvirt_driver_network.la
1547
# Stateful, so linked to daemon instead
1548
#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
1549
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1550 1551

libvirt_driver_network_impl_la_CFLAGS = \
1552 1553
		$(LIBNL_CFLAGS) \
		$(DBUS_CFLAGS) \
1554 1555
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1556
		$(AM_CFLAGS)
E
Eric Blake 已提交
1557
libvirt_driver_network_impl_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
1558
libvirt_driver_network_impl_la_LIBADD  = $(DBUS_LIBS)
1559
endif WITH_NETWORK
1560 1561 1562
EXTRA_DIST += network/default.xml


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

D
Daniel P. Berrange 已提交
1592
if WITH_SECRETS
1593 1594
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_secret.la
1595
else ! WITH_DRIVER_MODULES
1596
noinst_LTLIBRARIES += libvirt_driver_secret.la
1597
# Stateful, so linked to daemon instead
1598
#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
1599
endif ! WITH_DRIVER_MODULES
1600
libvirt_driver_secret_la_CFLAGS = \
1601 1602
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1603
		$(AM_CFLAGS)
1604
if WITH_DRIVER_MODULES
1605
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
1606
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1607
endif WITH_DRIVER_MODULES
1608
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
1609
endif WITH_SECRETS
1610

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

1641
if WITH_STORAGE_LVM
1642
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
1643
endif WITH_STORAGE_LVM
1644

1645
if WITH_STORAGE_ISCSI
1646
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
1647
endif WITH_STORAGE_ISCSI
1648

1649
if WITH_STORAGE_SCSI
1650
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
1651
endif WITH_STORAGE_SCSI
1652

D
Dave Allan 已提交
1653
if WITH_STORAGE_MPATH
1654 1655 1656
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)
1657
endif WITH_STORAGE_MPATH
D
Dave Allan 已提交
1658

1659
if WITH_STORAGE_DISK
1660
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
1661
endif WITH_STORAGE_DISK
1662

1663
if WITH_STORAGE_RBD
1664 1665
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_RBD_SOURCES)
libvirt_driver_storage_impl_la_LIBADD += $(LIBRBD_LIBS)
1666
endif WITH_STORAGE_RBD
1667

1668
if WITH_STORAGE_SHEEPDOG
1669
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SHEEPDOG_SOURCES)
1670
endif WITH_STORAGE_SHEEPDOG
1671

1672 1673 1674 1675 1676 1677
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 已提交
1678 1679 1680 1681
if WITH_STORAGE_ZFS
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ZFS_SOURCES)
endif WITH_STORAGE_ZFS

1682 1683 1684 1685
if WITH_NODE_DEVICES
# Needed to keep automake quiet about conditionals
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nodedev.la
1686
else ! WITH_DRIVER_MODULES
1687 1688
noinst_LTLIBRARIES += libvirt_driver_nodedev.la
# Stateful, so linked to daemon instead
1689
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
1690
endif ! WITH_DRIVER_MODULES
1691 1692
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

1693
libvirt_driver_nodedev_la_CFLAGS = \
1694 1695
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1696
		$(AM_CFLAGS) $(LIBNL_CFLAGS)
1697
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
1698
libvirt_driver_nodedev_la_LIBADD =
1699

D
Doug Goldstein 已提交
1700
if WITH_LIBVIRTD
1701
if WITH_HAL
1702 1703
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
1704
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
1705
endif WITH_HAL
1706
if WITH_UDEV
1707
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
1708
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
1709
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
1710 1711
endif WITH_UDEV
endif WITH_LIBVIRTD
1712 1713

if WITH_DRIVER_MODULES
1714
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
1715
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
1716 1717
endif WITH_DRIVER_MODULES
endif WITH_NODE_DEVICES
1718 1719


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


1752 1753 1754 1755
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 = \
1756
		-I$(srcdir)/conf $(AM_CFLAGS)
1757
libvirt_security_manager_la_LDFLAGS = $(AM_LDFLAGS)
1758
libvirt_security_manager_la_LIBADD = $(SECDRIVER_LIBS)
1759
if WITH_SECDRIVER_SELINUX
1760 1761
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
libvirt_security_manager_la_CFLAGS += $(SELINUX_CFLAGS)
1762
endif WITH_SECDRIVER_SELINUX
J
Jamie Strandboge 已提交
1763
if WITH_SECDRIVER_APPARMOR
1764 1765
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
libvirt_security_manager_la_CFLAGS += $(APPARMOR_CFLAGS)
1766
endif WITH_SECDRIVER_APPARMOR
1767

1768 1769
libvirt_driver_access_la_SOURCES = \
	$(ACCESS_DRIVER_SOURCES) $(ACCESS_DRIVER_GENERATED)
1770 1771 1772
noinst_LTLIBRARIES += libvirt_driver_access.la
libvirt_la_BUILT_LIBADD += libvirt_driver_access.la
libvirt_driver_access_la_CFLAGS = \
1773
		-I$(srcdir)/conf $(AM_CFLAGS)
1774 1775 1776
libvirt_driver_access_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_access_la_LIBADD =

1777 1778
EXTRA_DIST += access/genpolkit.pl

1779 1780 1781 1782
$(ACCESS_DRIVER_POLKIT_POLICY): $(srcdir)/access/viraccessperm.h \
    $(srcdir)/access/genpolkit.pl Makefile.am
	$(AM_V_GEN)$(PERL) $(srcdir)/access/genpolkit.pl < $< > $@ || rm -f $@

1783 1784 1785 1786
if WITH_POLKIT1
libvirt_driver_access_la_SOURCES += $(ACCESS_DRIVER_POLKIT_SOURCES)

polkitactiondir = $(datadir)/polkit-1/actions
1787
if WITH_LIBVIRTD
1788
polkitaction_DATA = $(ACCESS_DRIVER_POLKIT_POLICY)
1789
endif WITH_LIBVIRTD
1790 1791 1792

CLEANFILES += $(ACCESS_DRIVER_POLKIT_POLICY)
BUILT_SOURCES += $(ACCESS_DRIVER_POLKIT_POLICY)
1793
else ! WITH_POLKIT1
1794
EXTRA_DIST += $(ACCESS_DRIVER_POLKIT_SOURCES)
1795
endif ! WITH_POLKIT1
1796

1797

1798 1799
BUILT_SOURCES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
CLEANFILES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813

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

1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826
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 已提交
1827
access/viraccessapicheck.h: $(srcdir)/rpc/gendispatch.pl \
1828 1829
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1830 1831 1832
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheck.h
access/viraccessapicheck.c: $(srcdir)/rpc/gendispatch.pl \
1833 1834
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1835 1836
	  remote REMOTE $(REMOTE_PROTOCOL) access/viraccessapicheck.h \
	  > $(srcdir)/access/viraccessapicheck.c
1837

E
Eric Blake 已提交
1838
access/viraccessapicheckqemu.h: $(srcdir)/rpc/gendispatch.pl \
1839 1840
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1841 1842 1843
	  qemu QEMU $(QEMU_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheckqemu.h
access/viraccessapicheckqemu.c: $(srcdir)/rpc/gendispatch.pl \
1844 1845
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1846 1847
	  qemu QEMU $(QEMU_PROTOCOL) access/viraccessapicheckqemu.h \
	  > $(srcdir)/access/viraccessapicheckqemu.c
1848

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

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

1905 1906
check-local: check-augeas

1907 1908 1909 1910 1911
.PHONY: check-augeas \
	check-augeas-qemu \
	check-augeas-lxc \
	check-augeas-sanlock \
	check-augeas-lockd \
1912
	check-augeas-libxl \
1913
	$(NULL)
1914

1915
check-augeas: check-augeas-qemu check-augeas-lxc check-augeas-sanlock \
1916 1917
	check-augeas-lockd check-augeas-virtlockd check-augeas-libxl \
	check-augeas-virtlogd
1918

1919
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1920
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1921

1922
if WITH_QEMU
1923 1924
test_libvirtd_qemu.aug: qemu/test_libvirtd_qemu.aug.in \
		$(srcdir)/qemu/qemu.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1925
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/qemu/qemu.conf $< $@
1926

1927
check-augeas-qemu: test_libvirtd_qemu.aug
1928
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1929
	    '$(AUGPARSE)' -I $(srcdir)/qemu test_libvirtd_qemu.aug; \
1930
	fi
1931
else ! WITH_QEMU
1932
check-augeas-qemu:
1933
endif ! WITH_QEMU
1934

1935
if WITH_LXC
1936 1937
test_libvirtd_lxc.aug: lxc/test_libvirtd_lxc.aug.in \
		$(srcdir)/lxc/lxc.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1938
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/lxc/lxc.conf $< $@
1939

1940
check-augeas-lxc: test_libvirtd_lxc.aug
1941
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1942
	    '$(AUGPARSE)' -I $(srcdir)/lxc test_libvirtd_lxc.aug; \
1943
	fi
1944
else ! WITH_LXC
1945
check-augeas-lxc:
1946
endif ! WITH_LXC
1947

1948
if WITH_SANLOCK
1949 1950
test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
		locking/qemu-sanlock.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1951
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
1952

1953
check-augeas-sanlock: test_libvirt_sanlock.aug
1954
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1955
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_sanlock.aug; \
1956
	fi
1957
else ! WITH_SANLOCK
1958
check-augeas-sanlock:
1959
endif ! WITH_SANLOCK
1960

1961
if WITH_QEMU
1962 1963 1964
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 $< $@
1965 1966 1967
else ! WITH_QEMU
test_libvirt_lockd.aug:
endif ! WITH_QEMU
1968

1969 1970
test_virtlockd.aug: locking/test_virtlockd.aug.in \
		locking/virtlockd.conf $(AUG_GENTEST)
1971
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/locking/virtlockd.conf $< $@
1972

1973
if WITH_QEMU
1974 1975 1976 1977
check-augeas-lockd: test_libvirt_lockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_lockd.aug; \
	fi
1978 1979 1980
else ! WITH_QEMU
check-augeas-lockd:
endif ! WITH_QEMU
1981

1982 1983 1984 1985 1986
check-augeas-virtlockd: test_virtlockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_virtlockd.aug; \
	fi

1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
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

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

2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027
#
# 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.
#

2028
if WITH_DRIVER_MODULES
2029
USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
2030
else ! WITH_DRIVER_MODULES
2031
SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
2032
endif ! WITH_DRIVER_MODULES
2033

2034
if WITH_LINUX
2035
USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
2036
else ! WITH_LINUX
2037
SYM_FILES += $(srcdir)/libvirt_linux.syms
2038
endif ! WITH_LINUX
2039

2040
if WITH_ESX
2041
USED_SYM_FILES += $(srcdir)/libvirt_esx.syms
2042
else ! WITH_ESX
2043
SYM_FILES += $(srcdir)/libvirt_esx.syms
2044
endif ! WITH_ESX
2045

E
Eric Blake 已提交
2046 2047 2048 2049 2050 2051
if WITH_REMOTE
USED_SYM_FILES += $(srcdir)/libvirt_remote.syms
else ! WITH_REMOTE
SYM_FILES += $(srcdir)/libvirt_remote.syms
endif ! WITH_REMOTE

2052
if WITH_OPENVZ
2053
USED_SYM_FILES += $(srcdir)/libvirt_openvz.syms
2054
else ! WITH_OPENVZ
2055
SYM_FILES += $(srcdir)/libvirt_openvz.syms
2056
endif ! WITH_OPENVZ
2057

2058
if WITH_VMX
2059
USED_SYM_FILES += $(srcdir)/libvirt_vmx.syms
2060
else ! WITH_VMX
2061
SYM_FILES += $(srcdir)/libvirt_vmx.syms
2062
endif ! WITH_VMX
2063

2064 2065 2066 2067 2068 2069
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 已提交
2070 2071 2072 2073 2074
if WITH_XENCONFIG
USED_SYM_FILES += $(srcdir)/libvirt_xenconfig.syms
else ! WITH_XENCONFIG
SYM_FILES += $(srcdir)/libvirt_xenconfig.syms
endif ! WITH_XENCONFIG
2075

2076 2077 2078 2079 2080 2081
if WITH_LIBXL
USED_SYM_FILES += $(srcdir)/libvirt_xenxlconfig.syms
else ! WITH_LIBXL
SYM_FILES += $(srcdir)/libvirt_xenxlconfig.syms
endif ! WITH_LIBXL

2082
if WITH_SASL
2083
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
2084
else ! WITH_SASL
2085
SYM_FILES += $(srcdir)/libvirt_sasl.syms
2086
endif ! WITH_SASL
E
Eric Blake 已提交
2087

2088 2089
if WITH_GNUTLS
USED_SYM_FILES += $(srcdir)/libvirt_gnutls.syms
2090
else ! WITH_GNUTLS
2091
SYM_FILES += $(srcdir)/libvirt_gnutls.syms
2092
endif ! WITH_GNUTLS
2093

2094
if WITH_SSH2
2095
USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
2096
else ! WITH_SSH2
2097
SYM_FILES += $(srcdir)/libvirt_libssh2.syms
2098
endif ! WITH_SSH2
2099

2100
if WITH_ATOMIC_OPS_PTHREAD
2101
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
2102
else ! WITH_ATOMIC_OPS_PTHREAD
2103
SYM_FILES += $(srcdir)/libvirt_atomic.syms
2104
endif ! WITH_ATOMIC_OPS_PTHREAD
2105

2106
EXTRA_DIST += \
2107 2108 2109
	libvirt_public.syms		\
	libvirt_lxc.syms		\
	libvirt_qemu.syms		\
2110
	libvirt_admin_public.syms	\
2111
	$(SYM_FILES)			\
2112
	$(ADMIN_SYM_FILES)		\
2113
	$(NULL)
2114

2115
BUILT_SOURCES += $(GENERATED_SYM_FILES)
2116

2117 2118
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(ACCESS_DRIVER_SYM_FILES) \
2119
		$(top_builddir)/config.status
2120 2121 2122 2123 2124 2125
	$(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 && \
2126
	cat $(USED_SYM_FILES) $(ACCESS_DRIVER_SYM_FILES) >>$@-tmp && \
2127 2128
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
2129
	mv $@-tmp libvirt.syms
2130

2131
%.def: %.syms
2132 2133
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
2134 2135
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d'	\
	    -e 's/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
2136
	chmod a-w $@-tmp && \
2137
	mv $@-tmp $@
2138

2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151
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

2152 2153 2154 2155
# 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 已提交
2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179
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 += \
2180
		$(XDR_CFLAGS)			\
M
Martin Kletzander 已提交
2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195
		$(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)

2196 2197
ADMIN_SYM_FILES = $(srcdir)/libvirt_admin_private.syms

M
Martin Kletzander 已提交
2198 2199 2200 2201
if WITH_DTRACE_PROBES
libvirt_admin_la_LIBADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

2202 2203
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
D
Daniel P. Berrange 已提交
2204 2205 2206 2207 2208 2209 2210 2211
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)
2212
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
2213
libvirt_la_LIBADD += \
2214
		    $(DRIVER_MODULE_LIBS) \
2215
		    $(CYGWIN_EXTRA_LIBADD)
2216
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
2217 2218 2219 2220 2221 2222
# 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)
2223

2224
if WITH_DTRACE_PROBES
2225
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
2226
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
2227
nodist_libvirt_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
2228
if WITH_REMOTE
E
Eric Blake 已提交
2229
nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
2230
endif WITH_REMOTE
2231 2232
if WITH_DRIVER_MODULES
DTRACE2SYSTEMTAP_FLAGS = --with-modules
2233
endif WITH_DRIVER_MODULES
2234

2235 2236 2237
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

if WITH_QEMU
2238
libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
2239
nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
2240
BUILT_SOURCES += libvirt_qemu_probes.h
2241
endif WITH_QEMU
2242 2243

tapsetdir = $(datadir)/systemtap/tapset
2244
tapset_DATA = libvirt_probes.stp libvirt_qemu_probes.stp libvirt_functions.stp
2245

2246
%_probes.h: %_probes.d
2247 2248
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

E
Eric Blake 已提交
2249
.PRECIOUS: %_probes.o
2250
%_probes.o: %_probes.d
2251 2252
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

2253 2254 2255 2256 2257 2258 2259 2260 2261
%_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 已提交
2262
# Keep this list synced with PROTOCOL_STRUCTS
J
Jiri Denemark 已提交
2263 2264 2265
RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x \
		  $(srcdir)/rpc/virkeepaliveprotocol.x \
		  $(srcdir)/remote/remote_protocol.x \
2266
		  $(srcdir)/remote/lxc_protocol.x \
2267 2268
		  $(srcdir)/remote/qemu_protocol.x \
		  $(srcdir)/lxc/lxc_monitor_protocol.x \
M
Martin Kletzander 已提交
2269 2270
		  $(srcdir)/locking/lock_protocol.x \
		  $(srcdir)/admin/admin_protocol.x
2271 2272

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

2275 2276
%_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl \
		$(top_builddir)/config.status
2277
	$(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
2278
	  $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
2279

2280
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
2281
              libvirt_qemu_probes.h libvirt_qemu_probes.o \
2282
              libvirt_qemu_probes.lo\
2283 2284
              libvirt_functions.stp libvirt_probes.stp \
              libvirt_qemu_probes.stp
2285
endif WITH_DTRACE_PROBES
2286

2287
EXTRA_DIST += libvirt_probes.d libvirt_qemu_probes.d
2288

C
Chris Lalancette 已提交
2289
libvirt_qemu_la_SOURCES = libvirt-qemu.c
D
Daniel P. Berrange 已提交
2290 2291 2292 2293 2294 2295 2296
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)
2297
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
2298
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
2299

2300
libvirt_lxc_la_SOURCES = libvirt-lxc.c
D
Daniel P. Berrange 已提交
2301 2302 2303 2304 2305 2306 2307
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)
2308 2309 2310
libvirt_lxc_la_CFLAGS = $(AM_CFLAGS)
libvirt_lxc_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)

2311 2312 2313 2314 2315 2316 2317
# 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
2318
if WITH_SETUID_RPC_CLIENT
2319 2320 2321 2322
noinst_LTLIBRARIES += libvirt-setuid-rpc-client.la

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

libvirt_setuid_rpc_client_la_LDFLAGS =		\
		$(AM_LDFLAGS)			\
		$(LIBXML_LIBS)			\
J
Jim Fehlig 已提交
2386
		$(SECDRIVER_LIBS)		\
2387 2388 2389
		$(NULL)
libvirt_setuid_rpc_client_la_CFLAGS =		\
		-DLIBVIRT_SETUID_RPC_CLIENT	\
2390 2391
		-I$(srcdir)/conf		\
		-I$(srcdir)/rpc			\
2392
		$(AM_CFLAGS)			\
J
Jim Fehlig 已提交
2393
		$(SECDRIVER_CFLAGS)		\
P
Pavel Fedin 已提交
2394
		$(XDR_CFLAGS)			\
2395
		$(NULL)
2396
endif WITH_SETUID_RPC_CLIENT
2397

2398 2399 2400
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES =

2401
if WITH_LIBVIRTD
2402 2403 2404 2405 2406
lockdriver_LTLIBRARIES += lockd.la
lockd_la_SOURCES = \
		$(LOCK_DRIVER_LOCKD_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
		$(NULL)
2407
lockd_la_CFLAGS = -I$(srcdir)/conf \
E
Eric Blake 已提交
2408 2409
		$(XDR_CFLAGS) \
		$(AM_CFLAGS)
2410
lockd_la_LDFLAGS = -module -avoid-version
2411 2412 2413 2414
lockd_la_LIBADD = ../gnulib/lib/libgnu.la \
	libvirt-net-rpc.la \
	libvirt-net-rpc-client.la \
	$(NULL)
J
Jiri Denemark 已提交
2415
augeas_DATA += locking/libvirt_lockd.aug
2416 2417
if WITH_DTRACE_PROBES
lockd_la_LIBADD += libvirt_probes.lo
2418
endif WITH_DTRACE_PROBES
2419
if WITH_QEMU
2420 2421
augeastest_DATA += test_libvirt_lockd.aug
CLEANFILES += test_libvirt_lockd.aug
2422
nodist_conf_DATA += locking/qemu-lockd.conf
2423 2424
BUILT_SOURCES += locking/qemu-lockd.conf
DISTCLEANFILES += locking/qemu-lockd.conf
2425
endif WITH_QEMU
2426

2427 2428 2429 2430 2431 2432
if WITH_LIBXL
nodist_conf_DATA += locking/libxl-lockd.conf
BUILT_SOURCES += locking/libxl-lockd.conf
DISTCLEANFILES += locking/libxl-lockd.conf
endif WITH_LIBXL

2433 2434 2435 2436 2437
locking/%-lockd.conf: $(srcdir)/locking/lockd.conf
	$(AM_V_GEN)$(MKDIR_P) locking ; \
	cp $< $@


2438
sbin_PROGRAMS = virtlockd virtlogd
2439

2440 2441 2442
virtlockd_SOURCES = \
		$(LOCK_DAEMON_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
2443
		$(LOCK_DAEMON_GENERATED) \
2444
		$(NULL)
2445 2446
virtlockd_CFLAGS = \
		$(AM_CFLAGS) \
D
Daniel P. Berrange 已提交
2447
		$(PIE_CFLAGS) \
2448
		$(XDR_CFLAGS) \
2449 2450 2451
		$(NULL)
virtlockd_LDFLAGS = \
		$(AM_LDFLAGS) \
D
Daniel P. Berrange 已提交
2452
		$(PIE_LDFLAGS) \
2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464
		$(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
2465
endif WITH_DTRACE_PROBES
2466

2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494

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

2495
else ! WITH_LIBVIRTD
2496
EXTRA_DIST += $(LOCK_DAEMON_SOURCES) \
2497 2498
              $(LOCK_DRIVER_LOCKD_SOURCES) \
	      $(LOG_DAEMON_SOURCES)
2499
endif ! WITH_LIBVIRTD
2500

2501 2502
EXTRA_DIST += \
	locking/virtlockd.sysconf \
J
Jiri Denemark 已提交
2503 2504
	locking/lockd.conf \
	locking/libvirt_lockd.aug \
2505
	locking/test_libvirt_lockd.aug.in \
2506
	logging/virtlogd.sysconf
2507 2508

install-sysconfig:
E
Eric Blake 已提交
2509
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
2510 2511
	$(INSTALL_DATA) $(srcdir)/locking/virtlockd.sysconf \
	  $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
2512 2513
	$(INSTALL_DATA) $(srcdir)/logging/virtlogd.sysconf \
	  $(DESTDIR)$(sysconfdir)/sysconfig/virtlogd
2514 2515

uninstall-sysconfig:
2516
	rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlogd
2517
	rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
E
Eric Blake 已提交
2518
	rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
2519

2520
EXTRA_DIST += locking/virtlockd.init.in logging/virtlogd.init.in
2521 2522 2523

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_RED_HAT
2524
install-init:: virtlockd.init virtlogd.init install-sysconfig
E
Eric Blake 已提交
2525
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d
2526 2527
	$(INSTALL_SCRIPT) virtlockd.init \
	  $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd
2528 2529
	$(INSTALL_SCRIPT) virtlogd.init \
	  $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlogd
2530 2531

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

2536 2537
BUILT_SOURCES += virtlockd.init virtlogd.init
DISTCLEANFILES += virtlockd.init virtlogd.init
2538
else ! LIBVIRT_INIT_SCRIPT_RED_HAT
2539 2540
install-init::
uninstall-init::
2541 2542
endif ! LIBVIRT_INIT_SCRIPT_RED_HAT
else ! WITH_LIBVIRTD
2543 2544
install-init::
uninstall-init::
2545
endif ! WITH_LIBVIRTD
2546 2547

virtlockd.init: locking/virtlockd.init.in $(top_builddir)/config.status
2548 2549 2550 2551 2552 2553
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g'		\
	    < $< > $@-t &&					\
	    chmod a+x $@-t &&					\
2554 2555
	    mv $@-t $@

2556 2557 2558 2559 2560 2561 2562 2563 2564
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 $@

2565 2566
POD2MAN = pod2man -c "Virtualization Support" \
			-r "$(PACKAGE)-$(VERSION)" -s 8
2567

2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578
$(srcdir)/virtlockd.8.in: locking/virtlockd.pod.in $(top_srcdir)/configure.ac
	$(AM_V_GEN)$(POD2MAN) --name VIRTLOCKD $< $@ \
	    && if grep 'POD ERROR' $@ ; then rm $@; exit 1; fi

virtlockd.8: $(srcdir)/virtlockd.8.in
	$(AM_V_GEN)sed \
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
	mv $@-t $@

2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589
$(srcdir)/virtlogd.8.in: logging/virtlogd.pod.in $(top_srcdir)/configure.ac
	$(AM_V_GEN)$(POD2MAN) --name VIRTLOGD $< $@ \
	    && if grep 'POD ERROR' $@ ; then rm $@; exit 1; fi

virtlogd.8: $(srcdir)/virtlogd.8.in
	$(AM_V_GEN)sed \
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
	mv $@-t $@

2590
if WITH_LIBVIRTD
2591
man8_MANS = virtlockd.8 virtlogd.8
2592

2593
conf_DATA += locking/virtlockd.conf logging/virtlogd.conf
2594

2595 2596
augeas_DATA += locking/virtlockd.aug logging/virtlogd.aug
augeastest_DATA += test_virtlockd.aug test_virtlogd.aug
2597
endif WITH_LIBVIRTD
2598

2599 2600 2601
CLEANFILES += test_virtlockd.aug virtlockd.8 \
	      test_virtlogd.aug virtlogd.8
MAINTAINERCLEANFILES += $(srcdir)/virtlockd.8.in $(srcdir)/virtlogd.8.in
2602 2603 2604 2605 2606 2607

EXTRA_DIST += \
        locking/virtlockd.service.in \
        locking/virtlockd.socket.in \
        locking/virtlockd.pod.in \
        virtlockd.8.in \
2608 2609 2610
        locking/virtlockd.aug \
        locking/virtlockd.conf \
        locking/test_virtlockd.aug.in \
2611 2612 2613 2614 2615 2616 2617
        logging/virtlogd.service.in \
        logging/virtlogd.socket.in \
        logging/virtlogd.pod.in \
        virtlogd.8.in \
        logging/virtlogd.aug \
        logging/virtlogd.conf \
        logging/test_virtlogd.aug.in \
2618
        $(NULL)
2619

2620 2621 2622 2623

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_SYSTEMD

2624
SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
2625

2626 2627 2628 2629
BUILT_SOURCES += virtlockd.service virtlockd.socket \
		 virtlogd.service virtlogd.socket
DISTCLEANFILES += virtlockd.service virtlockd.socket \
		  virtlogd.service virtlogd.socket
2630

2631 2632
install-systemd: virtlockd.service virtlockd.socket \
                 virtlogd.service virtlogd.socket install-sysconfig
E
Eric Blake 已提交
2633
	$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
2634
	$(INSTALL_DATA) virtlockd.service \
2635
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2636
	$(INSTALL_DATA) virtlockd.socket \
2637
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2638 2639 2640 2641
	$(INSTALL_DATA) virtlogd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
	$(INSTALL_DATA) virtlogd.socket \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2642 2643

uninstall-systemd: uninstall-sysconfig
E
Eric Blake 已提交
2644 2645
	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket
2646 2647
	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlogd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlogd.socket
E
Eric Blake 已提交
2648
	rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
2649
else ! LIBVIRT_INIT_SCRIPT_SYSTEMD
2650 2651
install-systemd:
uninstall-systemd:
2652 2653
endif ! LIBVIRT_INIT_SCRIPT_SYSTEMD
else ! WITH_LIBVIRTD
2654 2655
install-systemd:
uninstall-systemd:
2656
endif ! WITH_LIBVIRTD
2657 2658

virtlockd.service: locking/virtlockd.service.in $(top_builddir)/config.status
2659 2660 2661
	$(AM_V_GEN)sed						\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    < $< > $@-t &&					\
2662 2663 2664
	    mv $@-t $@

virtlockd.socket: locking/virtlockd.socket.in $(top_builddir)/config.status
2665 2666 2667
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    < $< > $@-t &&					\
2668 2669
	    mv $@-t $@

2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681
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 $@

2682

2683
if WITH_SANLOCK
2684
lockdriver_LTLIBRARIES += sanlock.la
2685
sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
2686
sanlock_la_CFLAGS = -I$(srcdir)/conf $(AM_CFLAGS)
2687
sanlock_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
2688
sanlock_la_LIBADD = -lsanlock_client \
2689 2690 2691
		../gnulib/lib/libgnu.la

augeas_DATA += locking/libvirt_sanlock.aug
2692 2693
augeastest_DATA += test_libvirt_sanlock.aug
CLEANFILES += test_libvirt_sanlock.aug
2694

E
Eric Blake 已提交
2695
locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
2696
	$(AM_V_GEN)$(MKDIR_P) locking ; \
2697 2698 2699
	cp $< $@

if WITH_QEMU
2700
nodist_conf_DATA += locking/qemu-sanlock.conf
2701
BUILT_SOURCES += locking/qemu-sanlock.conf
E
Eric Blake 已提交
2702
DISTCLEANFILES += locking/qemu-sanlock.conf
2703
endif WITH_QEMU
2704 2705 2706 2707 2708 2709

if WITH_LIBXL
nodist_conf_DATA += locking/libxl-sanlock.conf
BUILT_SOURCES += locking/libxl-sanlock.conf
DISTCLEANFILES += locking/libxl-sanlock.conf
endif WITH_LIBXL
2710
else ! WITH_SANLOCK
2711
EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
2712
endif ! WITH_SANLOCK
2713 2714
EXTRA_DIST += locking/sanlock.conf \
	locking/libvirt_sanlock.aug \
2715
	locking/test_libvirt_sanlock.aug.in
2716

2717 2718 2719 2720
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
2721

2722
EXTRA_DIST += \
E
Eric Blake 已提交
2723 2724 2725 2726
	dtrace2systemtap.pl \
	rpc/gendispatch.pl \
	rpc/genprotocol.pl \
	rpc/gensystemtap.pl \
J
Jiri Denemark 已提交
2727 2728
	rpc/virnetprotocol.x \
	rpc/virkeepaliveprotocol.x
2729

E
Eric Blake 已提交
2730
VIR_NET_RPC_GENERATED = \
2731 2732 2733 2734
	rpc/virnetprotocol.h \
	rpc/virnetprotocol.c \
	rpc/virkeepaliveprotocol.h \
	rpc/virkeepaliveprotocol.c
2735

2736
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
2737

2738
libvirt_net_rpc_la_SOURCES = \
2739
	rpc/virnetmessage.h rpc/virnetmessage.c \
2740
	rpc/virnetsocket.h rpc/virnetsocket.c \
2741 2742
	rpc/virkeepalive.h rpc/virkeepalive.c \
	$(VIR_NET_RPC_GENERATED)
2743
if WITH_SSH2
2744 2745
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
2746
else ! WITH_SSH2
2747 2748
EXTRA_DIST += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
2749
endif ! WITH_SSH2
2750
if WITH_GNUTLS
2751 2752
libvirt_net_rpc_la_SOURCES += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
2753
else ! WITH_GNUTLS
2754 2755
EXTRA_DIST += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
2756
endif ! WITH_GNUTLS
2757
if WITH_SASL
2758 2759
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2760
else ! WITH_SASL
2761 2762
EXTRA_DIST += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2763
endif ! WITH_SASL
2764
libvirt_net_rpc_la_CFLAGS = \
2765
			$(GNUTLS_CFLAGS) \
2766
			$(SASL_CFLAGS) \
2767
			$(SSH2_CFLAGS) \
2768
			$(XDR_CFLAGS) \
2769 2770
			$(AM_CFLAGS)
libvirt_net_rpc_la_LDFLAGS = \
2771
			$(GNUTLS_LIBS) \
2772
			$(SASL_LIBS) \
2773
			$(SSH2_LIBS)\
J
Jim Fehlig 已提交
2774
			$(SECDRIVER_LIBS) \
2775 2776 2777 2778 2779 2780
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

2781 2782 2783 2784
libvirt_net_rpc_server_la_SOURCES = \
	rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
	rpc/virnetserverservice.h rpc/virnetserverservice.c \
	rpc/virnetserverclient.h rpc/virnetserverclient.c \
2785
	rpc/virnetservermdns.h rpc/virnetservermdns.c \
2786
	rpc/virnetdaemon.h rpc/virnetdaemon.c \
2787 2788
	rpc/virnetserver.h rpc/virnetserver.c
libvirt_net_rpc_server_la_CFLAGS = \
2789
			$(AVAHI_CFLAGS) \
2790
			$(DBUS_CFLAGS) \
E
Eric Blake 已提交
2791
			$(XDR_CFLAGS) \
2792
			$(AM_CFLAGS)
2793 2794
libvirt_net_rpc_server_la_LDFLAGS = \
			$(AM_LDFLAGS) \
2795
			$(AVAHI_LIBS) \
2796
			$(DBUS_LIBS) \
2797 2798 2799 2800 2801
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_server_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

2802 2803 2804 2805 2806
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 已提交
2807 2808
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
2809 2810 2811 2812 2813 2814
libvirt_net_rpc_client_la_LDFLAGS = \
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
2815

2816 2817
libexec_PROGRAMS =

2818
if WITH_LIBVIRTD
2819 2820
libexec_PROGRAMS += libvirt_iohelper
libvirt_iohelper_SOURCES = $(UTIL_IO_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
2821 2822 2823 2824
libvirt_iohelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2825 2826 2827
libvirt_iohelper_LDADD =		\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
2828 2829
if WITH_DTRACE_PROBES
libvirt_iohelper_LDADD += libvirt_probes.lo
2830
endif WITH_DTRACE_PROBES
2831

D
Daniel P. Berrange 已提交
2832 2833 2834 2835
libvirt_iohelper_CFLAGS = \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2836 2837 2838 2839

if WITH_NETWORK
libexec_PROGRAMS += libvirt_leaseshelper
libvirt_leaseshelper_SOURCES = $(NETWORK_LEASES_HELPER_SOURCES)
2840 2841 2842 2843
libvirt_leaseshelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858
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

2859
endif WITH_LIBVIRTD
2860

2861
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
2862
if WITH_LIBVIRTD
2863
libexec_PROGRAMS += libvirt_parthelper
2864

2865
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
D
Daniel P. Berrange 已提交
2866 2867 2868 2869
libvirt_parthelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2870 2871 2872 2873
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
2874 2875
if WITH_DTRACE_PROBES
libvirt_parthelper_LDADD += libvirt_probes.lo
2876
endif WITH_DTRACE_PROBES
2877

D
Daniel P. Berrange 已提交
2878 2879 2880 2881 2882
libvirt_parthelper_CFLAGS = \
		$(LIBPARTED_CFLAGS) \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2883 2884
endif WITH_LIBVIRTD
endif WITH_STORAGE_DISK
2885 2886
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

2887

2888
if WITH_SANLOCK
2889 2890 2891
libexec_PROGRAMS += libvirt_sanlock_helper

libvirt_sanlock_helper_SOURCES = $(LOCK_DRIVER_SANLOCK_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
2892
libvirt_sanlock_helper_CFLAGS = \
2893
		-I$(srcdir)/conf \
D
Daniel P. Berrange 已提交
2894 2895 2896 2897 2898 2899 2900
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
libvirt_sanlock_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2901
libvirt_sanlock_helper_LDADD = libvirt.la
2902
endif WITH_SANLOCK
2903

2904 2905 2906 2907 2908 2909
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
O
Osier Yang 已提交
2910 2911
		$(NODE_INFO_SOURCES)				\
		$(DATATYPES_SOURCES)
D
Daniel P. Berrange 已提交
2912 2913 2914 2915
libvirt_lxc_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2916
libvirt_lxc_LDADD =			\
G
Gao feng 已提交
2917
		$(FUSE_LIBS) \
2918 2919
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
2920
		libvirt_security_manager.la \
2921 2922
		libvirt_conf.la \
		libvirt_util.la \
2923
		../gnulib/lib/libgnu.la
2924
if WITH_DTRACE_PROBES
2925
libvirt_lxc_LDADD += libvirt_probes.lo
2926
endif WITH_DTRACE_PROBES
2927
libvirt_lxc_LDADD += $(SECDRIVER_LIBS)
2928
libvirt_lxc_CFLAGS =				\
2929
		-I$(srcdir)/conf	\
2930
		$(AM_CFLAGS)                    \
D
Daniel P. Berrange 已提交
2931
		$(PIE_CFLAGS)			\
G
Gao feng 已提交
2932
		$(LIBNL_CFLAGS)			\
D
Daniel P. Berrange 已提交
2933
		$(FUSE_CFLAGS)			\
2934
		$(DBUS_CFLAGS)			\
P
Pavel Fedin 已提交
2935
		$(XDR_CFLAGS)			\
D
Daniel P. Berrange 已提交
2936
		$(NULL)
2937
if WITH_BLKID
2938 2939
libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
libvirt_lxc_LDADD += $(BLKID_LIBS)
2940
endif WITH_BLKID
J
Jim Fehlig 已提交
2941
libvirt_lxc_CFLAGS += $(SECDRIVER_CFLAGS)
2942 2943
endif WITH_LIBVIRTD
endif WITH_LXC
2944 2945
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
2946 2947 2948 2949 2950 2951
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 已提交
2952 2953 2954 2955
virt_aa_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
J
Jamie Strandboge 已提交
2956
virt_aa_helper_LDADD =						\
2957
		libvirt.la					\
C
Chris Lalancette 已提交
2958 2959
		libvirt_conf.la					\
		libvirt_util.la					\
2960
		libvirt_driver_storage_impl.la			\
C
Chris Lalancette 已提交
2961
		../gnulib/lib/libgnu.la
2962
if WITH_DTRACE_PROBES
2963
virt_aa_helper_LDADD += libvirt_probes.lo
2964
endif WITH_DTRACE_PROBES
J
Jamie Strandboge 已提交
2965
virt_aa_helper_CFLAGS =						\
2966 2967 2968 2969
		-I$(srcdir)/conf				\
		-I$(srcdir)/security				\
		$(AM_CFLAGS) 					\
		$(PIE_CFLAGS) 					\
D
Daniel P. Berrange 已提交
2970
		$(NULL)
2971 2972
endif WITH_LIBVIRTD
endif WITH_SECDRIVER_APPARMOR
J
Jamie Strandboge 已提交
2973 2974
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031
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)


3032
install-data-local: install-init install-systemd
3033 3034
if WITH_LIBVIRTD
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd"
3035
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files"
3036
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lockd"
3037
endif WITH_LIBVIRTD
3038 3039
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
3040
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems"
3041
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
3042
if WITH_SANLOCK
3043
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock"
3044
endif WITH_SANLOCK
3045
if WITH_QEMU
3046
	$(MKDIR_P) -m 0751 "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu"
3047
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/qemu"
3048
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
3049
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
3050
endif WITH_QEMU
3051 3052 3053
if WITH_LXC
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
3054
endif WITH_LXC
J
Jim Fehlig 已提交
3055 3056 3057
if WITH_LIBXL
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/libxl"
J
Jim Fehlig 已提交
3058
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/libxl"
3059
endif WITH_LIBXL
3060 3061 3062
if WITH_UML
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/uml"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/uml"
3063
endif WITH_UML
3064 3065
if WITH_XEN
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/xen"
3066
endif WITH_XEN
3067 3068
if WITH_NETWORK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/network"
3069
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
3070
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
3071
	$(MKDIR_P) "$(DESTDIR)$(confdir)/qemu/networks/autostart"
3072
	$(INSTALL_DATA) $(srcdir)/network/default.xml \
3073
	  $(DESTDIR)$(confdir)/qemu/networks/default.xml
3074
	test -z "$(UUID)" || \
E
Eric Blake 已提交
3075
	  { sed -e "s,</name>,</name>\n  <uuid>$(UUID)</uuid>," \
3076 3077 3078 3079 3080
	      $(DESTDIR)$(confdir)/qemu/networks/default.xml > \
	      $(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 已提交
3081 3082
	( cd $(DESTDIR)$(confdir)/qemu/networks/autostart && \
	    $(LN_S) -f ../default.xml default.xml )
3083
endif WITH_NETWORK
3084

3085
uninstall-local:: uninstall-init uninstall-systemd
3086
if WITH_LIBVIRTD
3087
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files" ||:
3088 3089
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lockd" ||:
3090
endif WITH_LIBVIRTD
3091 3092
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
3093
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
3094
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
3095
if WITH_SANLOCK
3096
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
3097
endif WITH_SANLOCK
3098 3099 3100 3101 3102
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" ||:
3103
endif WITH_QEMU
3104 3105 3106
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
3107
endif WITH_LXC
J
Jim Fehlig 已提交
3108 3109 3110
if WITH_LIBXL
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/libxl" ||:
J
Jim Fehlig 已提交
3111
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/libxl" ||:
3112
endif WITH_LIBXL
3113 3114 3115
if WITH_UML
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/uml" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/uml" ||:
3116
endif WITH_UML
3117 3118
if WITH_XEN
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/xen" ||:
3119
endif WITH_XEN
3120
if WITH_NETWORK
3121 3122 3123 3124
	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" || :
3125 3126
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/network" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/network" ||:
3127
endif WITH_NETWORK
3128
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
R
Richard W.M. Jones 已提交
3129

3130 3131
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
3132
MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED)