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

3
## Copyright (C) 2005-2016 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)				\
49 50
		$(CYGWIN_EXTRA_LDFLAGS) 			\
		$(MINGW_EXTRA_LDFLAGS)				\
G
Guido Günther 已提交
51
		$(NULL)
52

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

55
BUILT_SOURCES =
56 57 58
CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES =
59
nodist_conf_DATA =
60

E
Eric Blake 已提交
61 62
THREAD_LIBS = $(LIB_PTHREAD) $(LTLIBMULTITHREAD)

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

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

78
lib_LTLIBRARIES = libvirt.la libvirt-qemu.la libvirt-lxc.la
79

80
moddir = $(libdir)/libvirt/connection-driver
81 82
mod_LTLIBRARIES =

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

86 87 88 89 90 91
augeasdir = $(datadir)/augeas/lenses
augeas_DATA =

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

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

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

E
Eric Blake 已提交
192
BUILT_SOURCES += util/virkeymaps.h
193
MAINTAINERCLEANFILES += util/virkeymaps.h
194

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

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

237 238 239
LOCK_DRIVER_SANLOCK_SOURCES = \
		locking/lock_driver_sanlock.c

240 241
LOCK_DRIVER_SANLOCK_HELPER_SOURCES = \
		locking/sanlock_helper.c
242

243
LOCK_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
244 245
		locking/lock_protocol.h \
		locking/lock_protocol.c \
246 247
		$(NULL)

248 249 250
LOCK_PROTOCOL = $(srcdir)/locking/lock_protocol.x
EXTRA_DIST += $(LOCK_PROTOCOL) \
	$(LOCK_PROTOCOL_GENERATED)
251 252 253
BUILT_SOURCES += $(LOCK_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(LOCK_PROTOCOL_GENERATED)

254
LOCK_DAEMON_GENERATED = \
255
		locking/lock_daemon_dispatch_stubs.h
256 257 258
		$(NULL)

BUILT_SOURCES += $(LOCK_DAEMON_GENERATED)
259
EXTRA_DIST += $(LOCK_DAEMON_GENERATED)
260 261
MAINTAINERCLEANFILES += $(LOCK_DAEMON_GENERATED)

262 263
LOCK_DRIVER_LOCKD_SOURCES = \
		locking/lock_driver_lockd.c \
264
		locking/lock_driver_lockd.h \
265 266
		$(NULL)

267 268 269 270 271
LOCK_DAEMON_SOURCES = \
		locking/lock_daemon.h \
		locking/lock_daemon.c \
		locking/lock_daemon_config.h \
		locking/lock_daemon_config.c \
272 273
		locking/lock_daemon_dispatch.c \
		locking/lock_daemon_dispatch.h \
274 275
		$(NULL)

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


283 284 285 286 287
LOG_PROTOCOL_GENERATED = \
		logging/log_protocol.h \
		logging/log_protocol.c \
		$(NULL)

288 289
DRIVER_SOURCES += $(LOG_PROTOCOL_GENERATED)

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


322 323
NETDEV_CONF_SOURCES =						\
		conf/netdev_bandwidth_conf.h conf/netdev_bandwidth_conf.c \
324 325
		conf/netdev_vport_profile_conf.h conf/netdev_vport_profile_conf.c \
		conf/netdev_vlan_conf.h conf/netdev_vlan_conf.c
326

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

340 341 342 343
OBJECT_EVENT_SOURCES =						\
		conf/object_event.c conf/object_event.h \
		conf/object_event_private.h

344 345
DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
346

347 348 349
NETWORK_EVENT_SOURCES =						\
		conf/network_event.c conf/network_event.h

350 351 352
STORAGE_EVENT_SOURCES =						\
                conf/storage_event.c conf/storage_event.h

353 354 355
NODE_DEVICE_EVENT_SOURCES =					\
                conf/node_device_event.c conf/node_device_event.h

356
# Network driver generic impl APIs
357
NETWORK_CONF_SOURCES =						\
358 359
		conf/network_conf.c conf/network_conf.h \
		conf/networkcommon_conf.c conf/networkcommon_conf.h
360

361 362
# Network filter driver generic impl APIs
NWFILTER_PARAM_CONF_SOURCES =					\
363
		conf/nwfilter_params.c conf/nwfilter_params.h	\
364 365
		conf/nwfilter_ipaddrmap.c			\
		conf/nwfilter_ipaddrmap.h			\
366
		conf/nwfilter_conf.h
367

368
NWFILTER_CONF_SOURCES =						\
369 370 371
		$(NWFILTER_PARAM_CONF_SOURCES)			\
		conf/nwfilter_conf.c conf/nwfilter_conf.h

372
# Storage driver generic impl APIs
373 374
STORAGE_CONF_SOURCES =                                         \
		conf/storage_conf.h conf/storage_conf.c
375

376
# Interface driver generic impl APIs
377 378
INTERFACE_CONF_SOURCES =                                       \
		conf/interface_conf.c conf/interface_conf.h
379

380
# Secret driver generic impl APIs
381
SECRET_CONF_SOURCES =                                          \
382 383
		conf/secret_conf.h conf/secret_conf.c          \
		conf/virsecretobj.h conf/virsecretobj.c
384 385 386 387 388

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

389 390
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h
391

392 393
# Safe character device handling helper APIs
CHRDEV_CONF_SOURCES =						\
394
		conf/virchrdev.c conf/virchrdev.h
395

396 397 398 399
# Device Helper APIs
DEVICE_CONF_SOURCES =                                           \
		conf/device_conf.c conf/device_conf.h

400
CONF_SOURCES =							\
401
		$(NETDEV_CONF_SOURCES)				\
402
		$(DOMAIN_CONF_SOURCES)				\
403
		$(OBJECT_EVENT_SOURCES)				\
404
		$(DOMAIN_EVENT_SOURCES)				\
405
		$(NETWORK_EVENT_SOURCES)			\
406
		$(STORAGE_EVENT_SOURCES)			\
407
		$(NODE_DEVICE_EVENT_SOURCES)			\
408
		$(NETWORK_CONF_SOURCES)				\
409
		$(NWFILTER_CONF_SOURCES)			\
410 411 412
		$(NODE_DEVICE_CONF_SOURCES)			\
		$(STORAGE_CONF_SOURCES)				\
		$(INTERFACE_CONF_SOURCES)			\
413
		$(SECRET_CONF_SOURCES)				\
414
		$(CPU_CONF_SOURCES)				\
415
		$(CHRDEV_CONF_SOURCES)				\
416
		$(DEVICE_CONF_SOURCES)
417

418
# The remote RPC driver, covering domains, storage, networks, etc
419
REMOTE_DRIVER_GENERATED = \
E
Eric Blake 已提交
420 421 422 423 424 425 426 427 428 429
		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 已提交
430 431

REMOTE_PROTOCOL = $(srcdir)/remote/remote_protocol.x
432
LXC_PROTOCOL = $(srcdir)/remote/lxc_protocol.x
E
Eric Blake 已提交
433
QEMU_PROTOCOL = $(srcdir)/remote/qemu_protocol.x
434
REMOTE_DRIVER_PROTOCOL = $(REMOTE_PROTOCOL) $(QEMU_PROTOCOL) $(LXC_PROTOCOL)
435

E
Eric Blake 已提交
436
remote/remote_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
437
		$(REMOTE_PROTOCOL) Makefile.am
438
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
439 440
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/remote/remote_client_bodies.h
441

E
Eric Blake 已提交
442
remote/lxc_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
443
		$(LXC_PROTOCOL) Makefile.am
444
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
445 446
	  lxc LXC $(LXC_PROTOCOL) \
	  > $(srcdir)/remote/lxc_client_bodies.h
447

E
Eric Blake 已提交
448
remote/qemu_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
449
		$(QEMU_PROTOCOL) Makefile.am
450
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
451 452
	  qemu QEMU $(QEMU_PROTOCOL) \
	  > $(srcdir)/remote/qemu_client_bodies.h
453 454 455 456

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

458
EXTRA_DIST +=  $(REMOTE_DRIVER_PROTOCOL) \
459
		$(REMOTE_DRIVER_GENERATED)
460

M
Martin Kletzander 已提交
461 462 463 464
ADMIN_PROTOCOL = $(srcdir)/admin/admin_protocol.x

ADMIN_PROTOCOL_GENERATED = \
		admin/admin_protocol.c	\
465 466 467 468 469 470 471 472
		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 已提交
473 474 475 476 477

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

478 479 480 481 482 483 484 485 486 487
# 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
488 489 490 491

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

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

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

E
Eric Blake 已提交
570
# Keep this list synced with RPC_PROBE_FILES
571 572
PROTOCOL_STRUCTS = \
	$(srcdir)/remote_protocol-structs \
573
	$(srcdir)/lxc_protocol-structs \
574
	$(srcdir)/qemu_protocol-structs \
J
Jiri Denemark 已提交
575
	$(srcdir)/virnetprotocol-structs \
E
Eric Blake 已提交
576 577 578
	$(srcdir)/virkeepaliveprotocol-structs \
	$(srcdir)/lxc_monitor_protocol-structs \
	$(srcdir)/lock_protocol-structs \
M
Martin Kletzander 已提交
579
	$(srcdir)/admin_protocol-structs \
E
Eric Blake 已提交
580 581
	$(NULL)

582
if WITH_REMOTE
583 584
check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)

585 586
# 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.
587 588 589
$(srcdir)/remote_protocol-struct \
	$(srcdir)/qemu_protocol-struct \
	$(srcdir)/lxc_protocol-struct: \
E
Eric Blake 已提交
590
		$(srcdir)/%-struct: remote/libvirt_driver_remote_la-%.lo
591
	$(PDWTAGS)
592
$(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \
E
Eric Blake 已提交
593
		$(srcdir)/%-struct: rpc/libvirt_net_rpc_la-%.lo
594
	$(PDWTAGS)
E
Eric Blake 已提交
595
$(srcdir)/lxc_monitor_protocol-struct: \
E
Eric Blake 已提交
596
		$(srcdir)/%-struct: lxc/libvirt_driver_lxc_impl_la-%.lo
E
Eric Blake 已提交
597 598
	$(PDWTAGS)
$(srcdir)/lock_protocol-struct: \
E
Eric Blake 已提交
599
		$(srcdir)/%-struct: locking/lockd_la-%.lo
E
Eric Blake 已提交
600
	$(PDWTAGS)
M
Martin Kletzander 已提交
601 602 603
$(srcdir)/admin_protocol-struct: \
		$(srcdir)/%-struct: admin/libvirt_admin_la-%.lo
	$(PDWTAGS)
E
Eric Blake 已提交
604

605
else !WITH_REMOTE
606 607 608
# The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be
# re-generated when configured --without-remote.
check-protocol:
609
endif !WITH_REMOTE
J
Jiri Denemark 已提交
610
EXTRA_DIST += $(PROTOCOL_STRUCTS)
611 612 613 614 615

check-drivername:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-drivername.pl \
		$(srcdir)/driver.h \
		$(srcdir)/libvirt_public.syms \
616
		$(srcdir)/libvirt_admin_public.syms \
617 618 619 620 621
		$(srcdir)/libvirt_qemu.syms \
		$(srcdir)/libvirt_lxc.syms

EXTRA_DIST += check-drivername.pl

622
DRIVER_SOURCE_FILES = \
623 624 625 626 627 628 629 630 631 632 633
	$(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) \
634
	$(VZ_DRIVER_SOURCES) \
635 636 637 638 639 640 641 642
	$(PHYP_DRIVER_SOURCES) \
	$(QEMU_DRIVER_SOURCES) \
	$(REMOTE_DRIVER_SOURCES) \
	$(SECRET_DRIVER_SOURCES) \
	$(STORAGE_DRIVER_SOURCES) \
	$(TEST_DRIVER_SOURCES) \
	$(UML_DRIVER_SOURCES) \
	$(VBOX_DRIVER_SOURCES) \
643
	vbox/vbox_tmpl.c \
644 645 646
	$(VMWARE_DRIVER_SOURCES) \
	$(XEN_DRIVER_SOURCES) \
	$(XENAPI_DRIVER_SOURCES) \
647 648
	$(NULL)

649
STATEFUL_DRIVER_SOURCE_FILES = \
R
Roman Bogorodskiy 已提交
650
	$(BHYVE_DRIVER_SOURCES) \
651 652 653 654 655 656 657 658 659 660 661 662 663
	$(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)

664 665 666

check-driverimpls:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-driverimpls.pl \
667
		$(filter /%,$(DRIVER_SOURCE_FILES)) \
E
Eric Blake 已提交
668 669 670
		$(filter $(srcdir)/%,$(DRIVER_SOURCE_FILES)) \
		$(addprefix $(srcdir)/,$(filter-out $(srcdir)/%, \
			$(filter-out /%,$(DRIVER_SOURCE_FILES))))
671

672 673
check-aclrules:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclrules.pl \
E
Eric Blake 已提交
674
		$(REMOTE_PROTOCOL) \
675
		$(addprefix $(srcdir)/,$(filter-out /%,$(STATEFUL_DRIVER_SOURCE_FILES)))
676

677 678 679 680 681
check-aclperms:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclperms.pl \
		$(srcdir)/access/viraccessperm.h \
		$(srcdir)/access/viraccessperm.c

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

684
check-local: check-protocol check-symfile check-symsorting \
685
	check-drivername check-driverimpls check-aclrules \
686
	check-aclperms check-admin-symfile check-admin-symsorting
687
.PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
688

689 690
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES =						\
691
		test/test_driver.c test/test_driver.h
692 693 694

# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
695 696 697 698 699 700
		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
701
if WITH_XEN_INOTIFY
702
XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
703
endif WITH_XEN_INOTIFY
704

705
LXC_MONITOR_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
706 707
	lxc/lxc_monitor_protocol.h \
	lxc/lxc_monitor_protocol.c \
708 709 710
	$(NULL)

LXC_MONITOR_GENERATED = \
E
Eric Blake 已提交
711
	lxc/lxc_monitor_dispatch.h \
712 713 714
	$(NULL)

LXC_CONTROLLER_GENERATED = \
E
Eric Blake 已提交
715
	lxc/lxc_controller_dispatch.h \
716 717 718
	$(NULL)

LXC_GENERATED = \
719
	$(LXC_MONITOR_PROTOCOL_GENERATED) \
720 721 722 723
	$(LXC_MONITOR_GENERATED) \
	$(LXC_CONTROLLER_GENERATED) \
	$(NULL)

724
LXC_MONITOR_PROTOCOL = $(srcdir)/lxc/lxc_monitor_protocol.x
725

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

E
Eric Blake 已提交
732
lxc/lxc_controller_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
733
		$(REMOTE_PROTOCOL) Makefile.am
734
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=server \
E
Eric Blake 已提交
735 736
	  virLXCMonitor VIR_LXC_MONITOR $(LXC_MONITOR_PROTOCOL) > \
	  $(srcdir)/lxc/lxc_controller_dispatch.h
737 738

EXTRA_DIST += \
739
	$(LXC_MONITOR_PROTOCOL) \
740 741 742 743 744
	$(LXC_GENERATED) \
	$(NULL)

BUILT_SOURCES += $(LXC_GENERATED)

745 746
CLEANFILES += $(LXC_GENERATED)

747
LXC_DRIVER_SOURCES =						\
748
		$(LXC_MONITOR_PROTOCOL_GENERATED)		\
749
		$(LXC_MONITOR_GENERATED)			\
750 751
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
752
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
753
		lxc/lxc_domain.c lxc/lxc_domain.h		\
754
		lxc/lxc_hostdev.c lxc/lxc_hostdev.h		\
755
		lxc/lxc_monitor.c lxc/lxc_monitor.h		\
756
		lxc/lxc_process.c lxc/lxc_process.h		\
G
Gao feng 已提交
757
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
758
		lxc/lxc_native.c lxc/lxc_native.h		\
759
		lxc/lxc_driver.c lxc/lxc_driver.h
760

761
LXC_CONTROLLER_SOURCES =					\
762
		$(LXC_MONITOR_PROTOCOL_GENERATED)		\
763
		$(LXC_CONTROLLER_GENERATED)			\
764 765
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
766
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
767
		lxc/lxc_domain.c lxc/lxc_domain.h		\
G
Gao feng 已提交
768
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
769
		lxc/lxc_controller.c
770

J
Jamie Strandboge 已提交
771
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES =			\
E
Eric Blake 已提交
772
		$(DATATYPES_SOURCES)				\
J
Jamie Strandboge 已提交
773 774
		security/virt-aa-helper.c

775 776 777
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

778
OPENVZ_DRIVER_SOURCES =						\
779
		openvz/openvz_conf.c openvz/openvz_conf.h	\
780 781
		openvz/openvz_driver.c openvz/openvz_driver.h   \
		openvz/openvz_util.c openvz/openvz_util.h
782

E
Eric Blake 已提交
783
VMWARE_DRIVER_SOURCES =						\
784
		vmware/vmware_driver.c vmware/vmware_driver.h	\
785 786
		vmware/vmware_conf.c vmware/vmware_conf.h

787
VBOX_DRIVER_SOURCES =						\
E
Eric Blake 已提交
788 789
	vbox/vbox_glue.c vbox/vbox_glue.h			\
	vbox/vbox_driver.c vbox/vbox_driver.h			\
T
Taowei 已提交
790
	vbox/vbox_snapshot_conf.c vbox/vbox_snapshot_conf.h     \
E
Eric Blake 已提交
791 792 793 794
	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			\
795
	vbox/vbox_V4_0.c vbox/vbox_CAPI_v4_0.h			\
796
	vbox/vbox_V4_1.c vbox/vbox_CAPI_v4_1.h			\
R
Ryota Ozaki 已提交
797
	vbox/vbox_V4_2.c vbox/vbox_CAPI_v4_2.h			\
T
Taowei 已提交
798
	vbox/vbox_V4_2_20.c vbox/vbox_CAPI_v4_2_20.h		\
799
	vbox/vbox_V4_3.c vbox/vbox_CAPI_v4_3.h			\
T
Taowei 已提交
800
	vbox/vbox_V4_3_4.c vbox/vbox_CAPI_v4_3_4.h              \
M
Martin Pietsch 已提交
801
	vbox/vbox_V5_0.c vbox/vbox_CAPI_v5_0.h			\
T
Taowei 已提交
802 803
	vbox/vbox_common.c vbox/vbox_common.h                   \
	vbox/vbox_uniformed_api.h                               \
804 805 806
	vbox/vbox_get_driver.h					\
	vbox/vbox_network.c					\
	vbox/vbox_storage.c
T
Taowei Luo 已提交
807

E
Eric Blake 已提交
808
VBOX_DRIVER_EXTRA_DIST =					\
809 810 811
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
812

O
Osier Yang 已提交
813 814
QEMU_DRIVER_SOURCES =							\
		qemu/qemu_agent.c qemu/qemu_agent.h			\
815
		qemu/qemu_alias.c qemu/qemu_alias.h			\
816
		qemu/qemu_blockjob.c qemu/qemu_blockjob.h		\
O
Osier Yang 已提交
817 818
		qemu/qemu_capabilities.c qemu/qemu_capabilities.h	\
		qemu/qemu_command.c qemu/qemu_command.h			\
819
		qemu/qemu_parse_command.c qemu/qemu_parse_command.h	\
O
Osier Yang 已提交
820
		qemu/qemu_domain.c qemu/qemu_domain.h			\
821
		qemu/qemu_domain_address.c qemu/qemu_domain_address.h	\
O
Osier Yang 已提交
822 823 824
		qemu/qemu_cgroup.c qemu/qemu_cgroup.h			\
		qemu/qemu_hostdev.c qemu/qemu_hostdev.h			\
		qemu/qemu_hotplug.c qemu/qemu_hotplug.h			\
825
		qemu/qemu_hotplugpriv.h					\
O
Osier Yang 已提交
826 827
		qemu/qemu_conf.c qemu/qemu_conf.h			\
		qemu/qemu_process.c qemu/qemu_process.h			\
828
		qemu/qemu_processpriv.h					\
O
Osier Yang 已提交
829 830 831 832 833 834
		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				\
835
		qemu/qemu_driver.c qemu/qemu_driver.h	\
836 837
		qemu/qemu_interface.c qemu/qemu_interface.h		\
		qemu/qemu_capspriv.h
R
Richard W.M. Jones 已提交
838

O
Osier Yang 已提交
839
XENAPI_DRIVER_SOURCES =						\
840
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
O
Osier Yang 已提交
841
		xenapi/xenapi_driver_private.h			\
842 843
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

844 845 846 847 848
LIBXL_DRIVER_SOURCES =							\
		libxl/libxl_conf.c libxl/libxl_conf.h			\
		libxl/libxl_capabilities.c libxl/libxl_capabilities.h	\
		libxl/libxl_domain.c libxl/libxl_domain.h       	\
		libxl/libxl_driver.c libxl/libxl_driver.h       	\
J
Jim Fehlig 已提交
849
		libxl/libxl_migration.c libxl/libxl_migration.h
J
Jim Fehlig 已提交
850

851
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
852 853
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
854

O
Osier Yang 已提交
855 856 857 858 859 860
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	\
861
		esx/esx_storage_backend_vmfs.c esx/esx_storage_backend_vmfs.h	\
862
		esx/esx_storage_backend_iscsi.c esx/esx_storage_backend_iscsi.h	\
863
		esx/esx_stream.c esx/esx_stream.h			\
O
Osier Yang 已提交
864 865 866
		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		\
867
		esx/esx_vi_types.c esx/esx_vi_types.h
868

869
ESX_DRIVER_GENERATED =							\
870 871
		esx/esx_vi_methods.generated.c				\
		esx/esx_vi_methods.generated.h				\
872
		esx/esx_vi_methods.generated.macro			\
873 874 875 876 877
		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			\
878 879 880
		esx/esx_vi_types.generated.typefromstring		\
		esx/esx_vi.generated.c					\
		esx/esx_vi.generated.h
881

O
Osier Yang 已提交
882
ESX_DRIVER_EXTRA_DIST =							\
883 884 885 886 887
		esx/README						\
		esx/esx_vi_generator.input				\
		esx/esx_vi_generator.py					\
		$(ESX_DRIVER_GENERATED)

O
Osier Yang 已提交
888
HYPERV_DRIVER_SOURCES =									\
M
Matthias Bolte 已提交
889 890
		hyperv/hyperv_private.h							\
		hyperv/hyperv_driver.c hyperv/hyperv_driver.h				\
891
		hyperv/hyperv_util.c hyperv/hyperv_util.h				\
892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907
		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)

908
VZ_DRIVER_SOURCES =				\
909 910 911 912 913 914
		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 已提交
915

R
Roman Bogorodskiy 已提交
916
BHYVE_DRIVER_SOURCES =						\
917 918
		bhyve/bhyve_capabilities.c			\
		bhyve/bhyve_capabilities.h			\
R
Roman Bogorodskiy 已提交
919 920
		bhyve/bhyve_command.c				\
		bhyve/bhyve_command.h				\
921 922
		bhyve/bhyve_parse_command.c			\
		bhyve/bhyve_parse_command.h			\
923 924 925 926
		bhyve/bhyve_device.c				\
		bhyve/bhyve_device.h				\
		bhyve/bhyve_domain.c				\
		bhyve/bhyve_domain.h				\
R
Roman Bogorodskiy 已提交
927 928
		bhyve/bhyve_driver.h				\
		bhyve/bhyve_driver.c				\
929 930
		bhyve/bhyve_monitor.c				\
		bhyve/bhyve_monitor.h				\
R
Roman Bogorodskiy 已提交
931 932 933 934 935
		bhyve/bhyve_process.c				\
		bhyve/bhyve_process.h				\
		bhyve/bhyve_utils.h				\
		$(NULL)

936
NETWORK_DRIVER_SOURCES =					\
937 938 939 940 941
		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
942

943 944 945 946
INTERFACE_DRIVER_SOURCES =

if WITH_INTERFACE
INTERFACE_DRIVER_SOURCES +=					\
947 948
		interface/interface_driver.h        \
		interface/interface_driver.c
949 950 951 952

if WITH_NETCF
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_netcf.c
953
endif WITH_NETCF
954
if WITH_UDEV
955 956
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_udev.c
957 958
endif WITH_UDEV
endif WITH_INTERFACE
959

960 961 962
SECRET_UTIL_SOURCES =						\
		secret/secret_util.h secret/secret_util.c

963
SECRET_DRIVER_SOURCES =						\
964
		secret/secret_driver.h secret/secret_driver.c
965

966
# Storage backend specific impls
O
Osier Yang 已提交
967 968
STORAGE_DRIVER_SOURCES =						\
		storage/storage_driver.h storage/storage_driver.c	\
969
		storage/storage_backend.h storage/storage_backend.c
970 971

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

974
STORAGE_DRIVER_LVM_SOURCES =					\
O
Osier Yang 已提交
975
		storage/storage_backend_logical.h		\
976
		storage/storage_backend_logical.c
977 978

STORAGE_DRIVER_ISCSI_SOURCES =					\
979
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
980

981
STORAGE_DRIVER_SCSI_SOURCES =					\
982
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
983

D
Dave Allan 已提交
984
STORAGE_DRIVER_MPATH_SOURCES =					\
985
		storage/storage_backend_mpath.h storage/storage_backend_mpath.c
D
Dave Allan 已提交
986

987
STORAGE_DRIVER_DISK_SOURCES =					\
988
		storage/storage_backend_disk.h storage/storage_backend_disk.c
989

990 991 992
STORAGE_DRIVER_RBD_SOURCES =					\
		storage/storage_backend_rbd.h storage/storage_backend_rbd.c

993 994 995
STORAGE_DRIVER_SHEEPDOG_SOURCES =				\
		storage/storage_backend_sheepdog.h storage/storage_backend_sheepdog.c

996 997 998
STORAGE_DRIVER_GLUSTER_SOURCES =				\
		storage/storage_backend_gluster.h storage/storage_backend_gluster.c

R
Roman Bogorodskiy 已提交
999 1000 1001
STORAGE_DRIVER_ZFS_SOURCES =					\
                storage/storage_backend_zfs.h storage/storage_backend_zfs.c

1002
STORAGE_HELPER_DISK_SOURCES =					\
1003
		storage/parthelper.c
1004

1005 1006 1007
UTIL_IO_HELPER_SOURCES =					\
		util/iohelper.c

1008 1009 1010
NETWORK_LEASES_HELPER_SOURCES =                                 \
               network/leaseshelper.c

1011
# Network filters
O
Osier Yang 已提交
1012
NWFILTER_DRIVER_SOURCES =						\
1013
		nwfilter/nwfilter_driver.h nwfilter/nwfilter_driver.c	\
1014
		nwfilter/nwfilter_tech_driver.h				\
1015 1016
		nwfilter/nwfilter_gentech_driver.c			\
		nwfilter/nwfilter_gentech_driver.h			\
S
Stefan Berger 已提交
1017 1018
		nwfilter/nwfilter_dhcpsnoop.c				\
		nwfilter/nwfilter_dhcpsnoop.h				\
1019
		nwfilter/nwfilter_ebiptables_driver.c			\
1020 1021 1022
		nwfilter/nwfilter_ebiptables_driver.h			\
		nwfilter/nwfilter_learnipaddr.c				\
		nwfilter/nwfilter_learnipaddr.h
1023

1024

1025
# Security framework and drivers for various models
O
Osier Yang 已提交
1026 1027 1028 1029 1030
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		\
1031
		security/security_manager.h security/security_manager.c
1032

1033
SECURITY_DRIVER_SELINUX_SOURCES =				\
1034
		security/security_selinux.h security/security_selinux.c
1035

J
Jamie Strandboge 已提交
1036 1037 1038
SECURITY_DRIVER_APPARMOR_SOURCES =				\
		security/security_apparmor.h security/security_apparmor.c

1039
ACCESS_DRIVER_GENERATED = \
E
Eric Blake 已提交
1040 1041 1042 1043 1044 1045 1046
		access/viraccessapicheck.h \
		access/viraccessapicheck.c \
		access/viraccessapicheckqemu.h \
		access/viraccessapicheckqemu.c \
		access/viraccessapichecklxc.h \
		access/viraccessapichecklxc.c \
		$(NULL)
1047

1048
ACCESS_DRIVER_SYM_FILES = \
1049 1050 1051
		libvirt_access.syms \
		libvirt_access_qemu.syms \
		libvirt_access_lxc.syms
1052

1053 1054 1055 1056 1057
ACCESS_DRIVER_API_FILES = \
		libvirt_access.xml \
		libvirt_access_qemu.xml \
		libvirt_access_lxc.xml

1058 1059 1060 1061 1062 1063 1064
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

1065 1066 1067 1068
ACCESS_DRIVER_POLKIT_SOURCES = \
		access/viraccessdriverpolkit.h access/viraccessdriverpolkit.c

ACCESS_DRIVER_POLKIT_POLICY = \
1069
		$(srcdir)/access/org.libvirt.api.policy
1070 1071


1072
NODE_DEVICE_DRIVER_SOURCES =					\
O
Osier Yang 已提交
1073 1074
		node_device/node_device_driver.c		\
		node_device/node_device_driver.h		\
1075 1076
		node_device/node_device_linux_sysfs.c           \
		node_device/node_device_linux_sysfs.h
1077 1078

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
1079
		node_device/node_device_hal.c			\
1080
		node_device/node_device_hal.h
1081

1082
NODE_DEVICE_DRIVER_UDEV_SOURCES =				\
D
Daniel Veillard 已提交
1083 1084
		node_device/node_device_udev.c			\
		node_device/node_device_udev.h
1085

J
Jiri Denemark 已提交
1086 1087 1088
CPU_SOURCES =							\
		cpu/cpu.h cpu/cpu.c				\
		cpu/cpu_x86.h cpu/cpu_x86.c cpu/cpu_x86_data.h	\
T
Thang Pham 已提交
1089
		cpu/cpu_s390.h cpu/cpu_s390.c			\
C
Chuck Short 已提交
1090
		cpu/cpu_arm.h cpu/cpu_arm.c			\
1091 1092 1093
		cpu/cpu_ppc64.h cpu/cpu_ppc64.c			\
		cpu/cpu_ppc64_data.h				\
		cpu/cpu_map.h cpu/cpu_map.c
1094

1095 1096 1097
VMX_SOURCES =							\
		vmx/vmx.c vmx/vmx.h

1098 1099
XENCONFIG_SOURCES =						\
		xenconfig/xenxs_private.h			\
1100
		xenconfig/xen_common.c xenconfig/xen_common.h   \
1101
		xenconfig/xen_sxpr.c xenconfig/xen_sxpr.h	\
1102
		xenconfig/xen_xm.c xenconfig/xen_xm.h
1103 1104 1105 1106
if WITH_LIBXL
XENCONFIG_SOURCES +=						\
		xenconfig/xen_xl.c xenconfig/xen_xl.h
endif WITH_LIBXL
1107

J
Jiri Denemark 已提交
1108 1109
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
1110
EXTRA_DIST +=	$(pkgdata_DATA)
1111

1112 1113 1114 1115 1116 1117
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

1118
noinst_LTLIBRARIES = libvirt_util.la
1119 1120
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
libvirt_la_BUILT_LIBADD = libvirt_util.la
1121 1122
libvirt_util_la_SOURCES =					\
		$(UTIL_SOURCES)
1123
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
1124
		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS) \
1125
		$(DBUS_CFLAGS) $(LDEXP_LIBM) $(NUMACTL_CFLAGS)	\
1126
		$(POLKIT_CFLAGS) $(GNUTLS_CFLAGS) \
1127
		-I$(srcdir)/conf
1128
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
1129
		$(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
1130
		$(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS) \
1131
		$(SECDRIVER_LIBS) $(NUMACTL_LIBS) \
1132
		$(POLKIT_LIBS)
1133

1134 1135

noinst_LTLIBRARIES += libvirt_conf.la
1136
libvirt_la_BUILT_LIBADD += libvirt_conf.la
1137
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
1138 1139
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
1140
libvirt_conf_la_LIBADD = $(LIBXML_LIBS)
1141

J
Jiri Denemark 已提交
1142
noinst_LTLIBRARIES += libvirt_cpu.la
1143
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
1144
libvirt_cpu_la_CFLAGS = \
1145
		-I$(srcdir)/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
1146 1147
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

1148 1149 1150 1151 1152 1153
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)

1154 1155 1156 1157
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
1158
		-I$(srcdir)/conf $(AM_CFLAGS)
1159
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
1160
endif WITH_VMX
1161

J
Jim Fehlig 已提交
1162 1163 1164
if WITH_XENCONFIG
noinst_LTLIBRARIES += libvirt_xenconfig.la
libvirt_la_BUILT_LIBADD += libvirt_xenconfig.la
1165
libvirt_xenconfig_la_LIBADD = $(LIBXL_LIBS)
J
Jim Fehlig 已提交
1166
libvirt_xenconfig_la_CFLAGS = \
J
Jim Fehlig 已提交
1167
		-I$(srcdir)/conf -I$(srcdir)/libxl $(AM_CFLAGS)
J
Jim Fehlig 已提交
1168 1169
libvirt_xenconfig_la_SOURCES = $(XENCONFIG_SOURCES)
endif WITH_XENCONFIG
1170

1171

1172
noinst_LTLIBRARIES += libvirt_driver.la
1173
libvirt_la_BUILT_LIBADD += libvirt_driver.la
1174
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
1175

1176
libvirt_driver_la_CFLAGS = \
1177
		$(GNUTLS_CFLAGS) $(CURL_CFLAGS) $(XDR_CFLAGS) \
1178
		-I$(srcdir)/conf $(AM_CFLAGS)
1179
libvirt_driver_la_LIBADD = \
1180
		$(GNUTLS_LIBS) $(CURL_LIBS) $(DLOPEN_LIBS)
1181

1182 1183
# 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.
1184
SYM_FILES = $(USED_SYM_FILES)
1185
USED_SYM_FILES = $(srcdir)/libvirt_private.syms
1186 1187 1188
GENERATED_SYM_FILES = \
	$(ACCESS_DRIVER_SYM_FILES) \
	libvirt.syms libvirt.def libvirt_qemu.def libvirt_lxc.def \
1189
	libvirt_admin.syms libvirt_admin.def \
1190
	$(NULL)
1191

1192
if WITH_TEST
1193
noinst_LTLIBRARIES += libvirt_driver_test.la
1194
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
1195
libvirt_driver_test_la_CFLAGS = \
1196
		-I$(srcdir)/conf $(AM_CFLAGS)
1197
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
1198
endif WITH_TEST
1199 1200

if WITH_REMOTE
1201
noinst_LTLIBRARIES += libvirt_driver_remote.la
1202
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
1203 1204
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
E
Eric Blake 已提交
1205
		$(XDR_CFLAGS)					\
1206 1207
		-I$(srcdir)/conf				\
		-I$(srcdir)/rpc					\
1208 1209
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
1210 1211 1212 1213
libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) \
                libvirt-net-rpc-client.la \
                libvirt-net-rpc-server.la \
                libvirt-net-rpc.la
1214
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
1215

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

1218 1219
endif WITH_REMOTE

1220
%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
1221
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
1222
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
1223

1224
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
1225
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
1226
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
1227

1228
if WITH_XEN
E
Eric Blake 已提交
1229 1230 1231
noinst_LTLIBRARIES += libvirt_driver_xen_impl.la
libvirt_driver_xen_la_SOURCES =
libvirt_driver_xen_la_LIBADD = libvirt_driver_xen_impl.la
1232 1233
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
E
Eric Blake 已提交
1234
libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
1235
libvirt_driver_xen_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1236
else ! WITH_DRIVER_MODULES
1237
noinst_LTLIBRARIES += libvirt_driver_xen.la
1238 1239
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
1240
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1241

1242
libvirt_driver_xen_impl_la_CFLAGS =				\
1243
		$(XEN_CFLAGS)					\
1244 1245 1246
		-I$(srcdir)/access				\
		-I$(srcdir)/conf				\
		-I$(srcdir)/xenconfig				\
1247
		$(AM_CFLAGS)
E
Eric Blake 已提交
1248
libvirt_driver_xen_impl_la_LDFLAGS = $(AM_LDFLAGS)
P
Pavel Hrdina 已提交
1249
libvirt_driver_xen_impl_la_LIBADD = $(XEN_LIBS) libvirt_xenconfig.la
E
Eric Blake 已提交
1250
libvirt_driver_xen_impl_la_SOURCES = $(XEN_DRIVER_SOURCES)
1251
endif WITH_XEN
1252

1253 1254
if WITH_PHYP
noinst_LTLIBRARIES += libvirt_driver_phyp.la
1255
libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
1256 1257
libvirt_driver_phyp_la_LIBADD = $(SSH2_LIBS)
libvirt_driver_phyp_la_CFLAGS = $(SSH2_CFLAGS) \
1258
		-I$(srcdir)/conf $(AM_CFLAGS)
1259
libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
1260
endif WITH_PHYP
1261

1262
if WITH_OPENVZ
1263
noinst_LTLIBRARIES += libvirt_driver_openvz.la
1264
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
1265
libvirt_driver_openvz_la_CFLAGS = \
1266
		-I$(srcdir)/conf $(AM_CFLAGS)
1267
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
1268
endif WITH_OPENVZ
1269

1270 1271 1272 1273
if WITH_VMWARE
noinst_LTLIBRARIES += libvirt_driver_vmware.la
libvirt_la_BUILT_LIBADD += libvirt_driver_vmware.la
libvirt_driver_vmware_la_CFLAGS = \
1274
		-I$(srcdir)/conf -I$(srcdir)/vmx $(AM_CFLAGS)
1275
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
1276
endif WITH_VMWARE
1277

1278
if WITH_VBOX
M
Michal Privoznik 已提交
1279
noinst_LTLIBRARIES += \
1280
		libvirt_driver_vbox_impl.la
1281 1282 1283
libvirt_driver_vbox_la_SOURCES =
libvirt_driver_vbox_la_LIBADD = libvirt_driver_vbox_impl.la
if WITH_DRIVER_MODULES
M
Michal Privoznik 已提交
1284
mod_LTLIBRARIES += \
1285
		libvirt_driver_vbox.la
1286
libvirt_driver_vbox_la_LIBADD += ../gnulib/lib/libgnu.la
1287
libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1288
else ! WITH_DRIVER_MODULES
1289
noinst_LTLIBRARIES += libvirt_driver_vbox.la
1290 1291 1292
# GPLv2-only license requries that it be linked into
# libvirtd and *not* libvirt.so
#libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
1293
endif ! WITH_DRIVER_MODULES
1294 1295

libvirt_driver_vbox_impl_la_CFLAGS =				\
1296 1297
		-I$(srcdir)/conf				\
		$(AM_CFLAGS)					\
M
Michal Privoznik 已提交
1298
		-DVBOX_DRIVER
1299
libvirt_driver_vbox_impl_la_LDFLAGS = $(AM_LDFLAGS)
1300 1301 1302
libvirt_driver_vbox_impl_la_LIBADD =  $(DLOPEN_LIBS)		\
		$(MSCOM_LIBS)					\
		$(LIBXML_LIBS)
1303
libvirt_driver_vbox_impl_la_SOURCES = $(VBOX_DRIVER_SOURCES)
1304
endif WITH_VBOX
1305

1306 1307
if WITH_XENAPI
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
1308
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
1309
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(CURL_CFLAGS) \
P
Pavel Hrdina 已提交
1310
		-I$(srcdir)/conf -I$(srcdir)/xenconfig $(AM_CFLAGS)
1311
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
1312
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(CURL_LIBS)
1313
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
1314
endif WITH_XENAPI
1315

J
Jim Fehlig 已提交
1316
if WITH_LIBXL
E
Eric Blake 已提交
1317 1318 1319
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 已提交
1320 1321
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_libxl.la
E
Eric Blake 已提交
1322
libvirt_driver_libxl_la_LIBADD += ../gnulib/lib/libgnu.la
1323
libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1324
else ! WITH_DRIVER_MODULES
J
Jim Fehlig 已提交
1325 1326 1327
noinst_LTLIBRARIES += libvirt_driver_libxl.la
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_libxl.la
1328
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1329

1330 1331
libvirt_driver_libxl_impl_la_CFLAGS = 		\
		$(LIBXL_CFLAGS)			\
1332 1333
		-I$(srcdir)/access	\
		-I$(srcdir)/conf	\
1334
		-I$(srcdir)/secret      \
1335
		-I$(srcdir)/xenconfig	\
1336
		$(AM_CFLAGS)
E
Eric Blake 已提交
1337
libvirt_driver_libxl_impl_la_LDFLAGS = $(AM_LDFLAGS)
1338 1339 1340
libvirt_driver_libxl_impl_la_LIBADD = $(LIBXL_LIBS) \
				      libvirt_xenconfig.la \
				      libvirt_secret.la
E
Eric Blake 已提交
1341
libvirt_driver_libxl_impl_la_SOURCES = $(LIBXL_DRIVER_SOURCES)
1342 1343 1344 1345 1346 1347

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

1348
endif WITH_LIBXL
1349 1350
EXTRA_DIST += libxl/libxl.conf libxl/libvirtd_libxl.aug \
		libxl/test_libvirtd_libxl.aug.in
J
Jim Fehlig 已提交
1351

1352
if WITH_QEMU
E
Eric Blake 已提交
1353 1354 1355
noinst_LTLIBRARIES += libvirt_driver_qemu_impl.la
libvirt_driver_qemu_la_SOURCES =
libvirt_driver_qemu_la_LIBADD = libvirt_driver_qemu_impl.la
1356 1357
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
E
Eric Blake 已提交
1358
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
1359
libvirt_driver_qemu_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1360
else ! WITH_DRIVER_MODULES
1361
noinst_LTLIBRARIES += libvirt_driver_qemu.la
1362
# Stateful, so linked to daemon instead
1363
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
1364
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1365

1366 1367 1368
libvirt_driver_qemu_impl_la_CFLAGS = \
		$(GNUTLS_CFLAGS) \
		$(LIBNL_CFLAGS) \
1369
		$(XDR_CFLAGS) \
1370 1371
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1372
		-I$(srcdir)/secret \
1373
		$(AM_CFLAGS)
E
Eric Blake 已提交
1374
libvirt_driver_qemu_impl_la_LDFLAGS = $(AM_LDFLAGS)
1375
libvirt_driver_qemu_impl_la_LIBADD = $(CAPNG_LIBS) \
1376
                                $(GNUTLS_LIBS) \
1377 1378
				$(LIBNL_LIBS) \
				$(LIBXML_LIBS) \
1379
				libvirt_secret.la \
1380
				$(NULL)
E
Eric Blake 已提交
1381
libvirt_driver_qemu_impl_la_SOURCES = $(QEMU_DRIVER_SOURCES)
1382

A
Amy Griffis 已提交
1383
conf_DATA += qemu/qemu.conf
1384

1385
augeas_DATA += qemu/libvirtd_qemu.aug
1386 1387
augeastest_DATA += test_libvirtd_qemu.aug
CLEANFILES += test_libvirtd_qemu.aug
1388

1389
endif WITH_QEMU
1390
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
1391
		qemu/test_libvirtd_qemu.aug.in qemu/THREADS.txt
1392

1393 1394

if WITH_LXC
E
Eric Blake 已提交
1395 1396 1397
noinst_LTLIBRARIES += libvirt_driver_lxc_impl.la
libvirt_driver_lxc_la_SOURCES =
libvirt_driver_lxc_la_LIBADD = libvirt_driver_lxc_impl.la
1398 1399
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
E
Eric Blake 已提交
1400 1401
libvirt_driver_lxc_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1402
else ! WITH_DRIVER_MODULES
1403
noinst_LTLIBRARIES += libvirt_driver_lxc.la
1404
# Stateful, so linked to daemon instead
1405
#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
1406
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1407 1408

libvirt_driver_lxc_impl_la_CFLAGS = \
S
Serge Hallyn 已提交
1409
		$(LIBNL_CFLAGS) \
G
Gao feng 已提交
1410
		$(FUSE_CFLAGS) \
P
Pavel Fedin 已提交
1411
		$(XDR_CFLAGS) \
1412 1413
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1414
		$(AM_CFLAGS)
I
ik.nitk 已提交
1415 1416 1417 1418 1419 1420
libvirt_driver_lxc_impl_la_LIBADD = \
               $(CAPNG_LIBS) \
               $(LIBNL_LIBS) \
               $(LIBXML_LIBS) \
               $(FUSE_LIBS)

1421
if WITH_BLKID
E
Eric Blake 已提交
1422 1423
libvirt_driver_lxc_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_lxc_impl_la_LIBADD += $(BLKID_LIBS)
1424
endif WITH_BLKID
1425
libvirt_driver_lxc_impl_la_LIBADD += $(SECDRIVER_LIBS)
E
Eric Blake 已提交
1426
libvirt_driver_lxc_impl_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
1427 1428 1429

conf_DATA += lxc/lxc.conf

1430
augeas_DATA += lxc/libvirtd_lxc.aug
1431 1432
augeastest_DATA += test_libvirtd_lxc.aug
CLEANFILES += test_libvirtd_lxc.aug
1433

1434
endif WITH_LXC
1435
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug.in
1436

1437
if WITH_UML
E
Eric Blake 已提交
1438 1439 1440
noinst_LTLIBRARIES += libvirt_driver_uml_impl.la
libvirt_driver_uml_la_SOURCES =
libvirt_driver_uml_la_LIBADD = libvirt_driver_uml_impl.la
1441 1442
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
E
Eric Blake 已提交
1443
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
1444
libvirt_driver_uml_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1445
else ! WITH_DRIVER_MODULES
1446 1447
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
1448
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
1449
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1450

1451
libvirt_driver_uml_impl_la_CFLAGS = \
1452 1453
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1454
		$(AM_CFLAGS)
E
Eric Blake 已提交
1455
libvirt_driver_uml_impl_la_LDFLAGS = $(AM_LDFLAGS)
1456
# libvirt_driver_uml_impl_la_LIBADD =
E
Eric Blake 已提交
1457
libvirt_driver_uml_impl_la_SOURCES = $(UML_DRIVER_SOURCES)
1458
endif WITH_UML
1459

D
Daniel Veillard 已提交
1460

1461
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
1462

1463 1464
ESX_GENERATED_STAMP = .esx_vi_generator.stamp

E
Eric Blake 已提交
1465 1466
EXTRA_DIST += $(ESX_GENERATED_STAMP)

1467 1468 1469
$(ESX_DRIVER_GENERATED): $(ESX_GENERATED_STAMP)

$(ESX_GENERATED_STAMP): $(srcdir)/esx/esx_vi_generator.input \
1470
                         $(srcdir)/esx/esx_vi_generator.py
1471 1472 1473 1474 1475
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/esx/esx_vi_generator.py \
	  && touch $@

MAINTAINERCLEANFILES += $(ESX_DRIVER_GENERATED) $(ESX_GENERATED_STAMP)

D
Daniel Veillard 已提交
1476

1477 1478
if WITH_ESX
noinst_LTLIBRARIES += libvirt_driver_esx.la
1479
libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
1480
libvirt_driver_esx_la_CFLAGS = $(CURL_CFLAGS) \
1481
		-I$(srcdir)/conf -I$(srcdir)/vmx $(AM_CFLAGS)
1482
libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
1483
libvirt_driver_esx_la_LIBADD = $(CURL_LIBS)
1484
libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
1485
libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
1486
endif WITH_ESX
1487

M
Matthias Bolte 已提交
1488

1489 1490
BUILT_SOURCES += $(HYPERV_DRIVER_GENERATED)

1491 1492
HYPERV_GENERATED_STAMP = .hyperv_wmi_generator.stamp

E
Eric Blake 已提交
1493 1494
EXTRA_DIST += $(HYPERV_GENERATED_STAMP)

1495 1496 1497
$(HYPERV_DRIVER_GENERATED): $(HYPERV_GENERATED_STAMP)

$(HYPERV_GENERATED_STAMP): $(srcdir)/hyperv/hyperv_wmi_generator.input \
1498
                            $(srcdir)/hyperv/hyperv_wmi_generator.py
1499 1500
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) \
	  $(srcdir)/hyperv/hyperv_wmi_generator.py \
1501 1502 1503
	  && touch $@

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

M
Matthias Bolte 已提交
1505 1506 1507 1508
if WITH_HYPERV
noinst_LTLIBRARIES += libvirt_driver_hyperv.la
libvirt_la_BUILT_LIBADD += libvirt_driver_hyperv.la
libvirt_driver_hyperv_la_CFLAGS = $(OPENWSMAN_CFLAGS) \
1509
		-I$(srcdir)/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
1510 1511 1512
libvirt_driver_hyperv_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_hyperv_la_LIBADD = $(OPENWSMAN_LIBS)
libvirt_driver_hyperv_la_SOURCES = $(HYPERV_DRIVER_SOURCES)
1513
endif WITH_HYPERV
M
Matthias Bolte 已提交
1514

1515
if WITH_VZ
1516 1517 1518 1519 1520 1521 1522 1523
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
1524
noinst_LTLIBRARIES += libvirt_driver_vz.la
1525 1526
endif ! WITH_DRIVER_MODULES
libvirt_driver_vz_impl_la_CFLAGS = \
1527
		-I$(srcdir)/conf $(AM_CFLAGS) \
1528
		$(PARALLELS_SDK_CFLAGS) $(LIBNL_CFLAGS)
1529 1530
libvirt_driver_vz_impl_la_SOURCES = $(VZ_DRIVER_SOURCES)
libvirt_driver_vz_impl_la_LIBADD =  $(PARALLELS_SDK_LIBS) $(LIBNL_LIBS)
1531
endif WITH_VZ
D
Dmitry Guryanov 已提交
1532

R
Roman Bogorodskiy 已提交
1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545
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 = \
1546 1547
	-I$(srcdir)/access \
	-I$(srcdir)/conf \
R
Roman Bogorodskiy 已提交
1548 1549 1550 1551 1552
	$(AM_CFLAGS)
libvirt_driver_bhyve_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_bhyve_impl_la_SOURCES = $(BHYVE_DRIVER_SOURCES)
endif WITH_BHYVE

1553
if WITH_NETWORK
E
Eric Blake 已提交
1554 1555 1556
noinst_LTLIBRARIES += libvirt_driver_network_impl.la
libvirt_driver_network_la_SOURCES =
libvirt_driver_network_la_LIBADD = libvirt_driver_network_impl.la
1557 1558
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
1559 1560 1561 1562
libvirt_driver_network_la_LIBADD += ../gnulib/lib/libgnu.la \
	$(LIBNL_LIBS) \
	$(DBUS_LIBS) \
	$(NULL)
E
Eric Blake 已提交
1563
libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1564
else ! WITH_DRIVER_MODULES
1565
noinst_LTLIBRARIES += libvirt_driver_network.la
1566
# Stateful, so linked to daemon instead
1567
#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
1568
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1569 1570

libvirt_driver_network_impl_la_CFLAGS = \
1571 1572
		$(LIBNL_CFLAGS) \
		$(DBUS_CFLAGS) \
1573 1574
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1575
		$(AM_CFLAGS)
E
Eric Blake 已提交
1576
libvirt_driver_network_impl_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
1577
libvirt_driver_network_impl_la_LIBADD  = $(DBUS_LIBS)
1578
endif WITH_NETWORK
1579 1580 1581
EXTRA_DIST += network/default.xml


1582
if WITH_INTERFACE
1583 1584
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_interface.la
1585
else ! WITH_DRIVER_MODULES
1586
noinst_LTLIBRARIES += libvirt_driver_interface.la
1587 1588
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la
1589
endif ! WITH_DRIVER_MODULES
1590
libvirt_driver_interface_la_CFLAGS = \
1591 1592
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1593
		$(AM_CFLAGS) $(LIBNL_CFLAGS)
1594
libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS)
1595 1596 1597 1598
libvirt_driver_interface_la_LIBADD =
if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
1599
endif WITH_NETCF
1600
if WITH_UDEV
1601 1602
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
1603
endif WITH_UDEV
1604
if WITH_DRIVER_MODULES
1605
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
1606
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
1607
endif WITH_DRIVER_MODULES
1608
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
1609
endif WITH_INTERFACE
D
Daniel Veillard 已提交
1610

D
Daniel P. Berrange 已提交
1611
if WITH_SECRETS
1612 1613
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_secret.la
1614
else ! WITH_DRIVER_MODULES
1615
noinst_LTLIBRARIES += libvirt_driver_secret.la
1616
# Stateful, so linked to daemon instead
1617
#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
1618
endif ! WITH_DRIVER_MODULES
1619
libvirt_driver_secret_la_CFLAGS = \
1620 1621
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1622
		$(AM_CFLAGS)
1623
if WITH_DRIVER_MODULES
1624
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
1625
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1626
endif WITH_DRIVER_MODULES
1627
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
1628
endif WITH_SECRETS
1629

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

1661
if WITH_STORAGE_LVM
1662
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
1663
endif WITH_STORAGE_LVM
1664

1665
if WITH_STORAGE_ISCSI
1666
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
1667
endif WITH_STORAGE_ISCSI
1668

1669
if WITH_STORAGE_SCSI
1670
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
1671
endif WITH_STORAGE_SCSI
1672

D
Dave Allan 已提交
1673
if WITH_STORAGE_MPATH
1674 1675 1676
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)
1677
endif WITH_STORAGE_MPATH
D
Dave Allan 已提交
1678

1679
if WITH_STORAGE_DISK
1680
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
1681
endif WITH_STORAGE_DISK
1682

1683
if WITH_STORAGE_RBD
1684 1685
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_RBD_SOURCES)
libvirt_driver_storage_impl_la_LIBADD += $(LIBRBD_LIBS)
1686
endif WITH_STORAGE_RBD
1687

1688
if WITH_STORAGE_SHEEPDOG
1689
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SHEEPDOG_SOURCES)
1690
endif WITH_STORAGE_SHEEPDOG
1691

1692 1693 1694 1695 1696 1697
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 已提交
1698 1699 1700 1701
if WITH_STORAGE_ZFS
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ZFS_SOURCES)
endif WITH_STORAGE_ZFS

1702 1703 1704 1705
if WITH_NODE_DEVICES
# Needed to keep automake quiet about conditionals
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nodedev.la
1706
else ! WITH_DRIVER_MODULES
1707 1708
noinst_LTLIBRARIES += libvirt_driver_nodedev.la
# Stateful, so linked to daemon instead
1709
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
1710
endif ! WITH_DRIVER_MODULES
1711 1712
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

1713
libvirt_driver_nodedev_la_CFLAGS = \
1714 1715
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1716
		$(AM_CFLAGS) $(LIBNL_CFLAGS)
1717
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
1718
libvirt_driver_nodedev_la_LIBADD =
1719

D
Doug Goldstein 已提交
1720
if WITH_LIBVIRTD
1721
if WITH_HAL
1722 1723
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
1724
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
1725
endif WITH_HAL
1726
if WITH_UDEV
1727
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
1728
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
1729
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
1730 1731
endif WITH_UDEV
endif WITH_LIBVIRTD
1732 1733

if WITH_DRIVER_MODULES
1734
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
1735
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
1736 1737
endif WITH_DRIVER_MODULES
endif WITH_NODE_DEVICES
1738 1739


1740
if WITH_NWFILTER
1741 1742 1743
noinst_LTLIBRARIES += libvirt_driver_nwfilter_impl.la
libvirt_driver_nwfilter_la_SOURCES =
libvirt_driver_nwfilter_la_LIBADD = libvirt_driver_nwfilter_impl.la
1744 1745
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nwfilter.la
1746
libvirt_driver_nwfilter_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1747
else ! WITH_DRIVER_MODULES
1748
noinst_LTLIBRARIES += libvirt_driver_nwfilter.la
1749 1750
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
1751
endif ! WITH_DRIVER_MODULES
1752
libvirt_driver_nwfilter_impl_la_CFLAGS = \
1753 1754 1755
		$(LIBPCAP_CFLAGS) \
		$(LIBNL_CFLAGS) \
		$(DBUS_CFLAGS) \
1756 1757
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1758
		$(AM_CFLAGS)
1759 1760 1761 1762 1763
libvirt_driver_nwfilter_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_nwfilter_impl_la_LIBADD = \
		$(LIBPCAP_LIBS) \
		$(LIBNL_LIBS) \
		$(DBUS_LIBS)
1764
if WITH_DRIVER_MODULES
1765 1766
libvirt_driver_nwfilter_impl_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_nwfilter_impl_la_LDFLAGS += -module -avoid-version
1767
endif WITH_DRIVER_MODULES
1768
libvirt_driver_nwfilter_impl_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
1769
endif WITH_NWFILTER
1770 1771


1772 1773 1774 1775
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 = \
1776
		-I$(srcdir)/conf $(AM_CFLAGS)
1777
libvirt_security_manager_la_LDFLAGS = $(AM_LDFLAGS)
1778
libvirt_security_manager_la_LIBADD = $(SECDRIVER_LIBS)
1779
if WITH_SECDRIVER_SELINUX
1780 1781
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
libvirt_security_manager_la_CFLAGS += $(SELINUX_CFLAGS)
1782
endif WITH_SECDRIVER_SELINUX
J
Jamie Strandboge 已提交
1783
if WITH_SECDRIVER_APPARMOR
1784 1785
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
libvirt_security_manager_la_CFLAGS += $(APPARMOR_CFLAGS)
1786
endif WITH_SECDRIVER_APPARMOR
1787

1788 1789
libvirt_driver_access_la_SOURCES = \
	$(ACCESS_DRIVER_SOURCES) $(ACCESS_DRIVER_GENERATED)
1790 1791 1792
noinst_LTLIBRARIES += libvirt_driver_access.la
libvirt_la_BUILT_LIBADD += libvirt_driver_access.la
libvirt_driver_access_la_CFLAGS = \
1793
		-I$(srcdir)/conf $(AM_CFLAGS)
1794 1795 1796
libvirt_driver_access_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_access_la_LIBADD =

1797 1798
EXTRA_DIST += access/genpolkit.pl

1799 1800 1801 1802
$(ACCESS_DRIVER_POLKIT_POLICY): $(srcdir)/access/viraccessperm.h \
    $(srcdir)/access/genpolkit.pl Makefile.am
	$(AM_V_GEN)$(PERL) $(srcdir)/access/genpolkit.pl < $< > $@ || rm -f $@

1803 1804 1805 1806
if WITH_POLKIT1
libvirt_driver_access_la_SOURCES += $(ACCESS_DRIVER_POLKIT_SOURCES)

polkitactiondir = $(datadir)/polkit-1/actions
1807
if WITH_LIBVIRTD
1808
polkitaction_DATA = $(ACCESS_DRIVER_POLKIT_POLICY)
1809
endif WITH_LIBVIRTD
1810 1811 1812

CLEANFILES += $(ACCESS_DRIVER_POLKIT_POLICY)
BUILT_SOURCES += $(ACCESS_DRIVER_POLKIT_POLICY)
1813
else ! WITH_POLKIT1
1814
EXTRA_DIST += $(ACCESS_DRIVER_POLKIT_SOURCES)
1815
endif ! WITH_POLKIT1
1816

1817

1818 1819
BUILT_SOURCES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
CLEANFILES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833

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

1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846
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 已提交
1847
access/viraccessapicheck.h: $(srcdir)/rpc/gendispatch.pl \
1848 1849
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1850 1851 1852
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheck.h
access/viraccessapicheck.c: $(srcdir)/rpc/gendispatch.pl \
1853 1854
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1855 1856
	  remote REMOTE $(REMOTE_PROTOCOL) access/viraccessapicheck.h \
	  > $(srcdir)/access/viraccessapicheck.c
1857

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

E
Eric Blake 已提交
1869
access/viraccessapichecklxc.h: $(srcdir)/rpc/gendispatch.pl \
1870 1871
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1872 1873 1874
	  lxc LXC $(LXC_PROTOCOL) \
	  > $(srcdir)/access/viraccessapichecklxc.h
access/viraccessapichecklxc.c: $(srcdir)/rpc/gendispatch.pl \
1875 1876
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1877 1878
	  lxc LXC $(LXC_PROTOCOL) access/viraccessapichecklxc.h \
	  > $(srcdir)/access/viraccessapichecklxc.c
1879

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

1925 1926
check-local: check-augeas

1927 1928 1929 1930 1931
.PHONY: check-augeas \
	check-augeas-qemu \
	check-augeas-lxc \
	check-augeas-sanlock \
	check-augeas-lockd \
1932
	check-augeas-libxl \
1933
	$(NULL)
1934

1935
check-augeas: check-augeas-qemu check-augeas-lxc check-augeas-sanlock \
1936 1937
	check-augeas-lockd check-augeas-virtlockd check-augeas-libxl \
	check-augeas-virtlogd
1938

1939
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1940
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1941

1942
if WITH_QEMU
1943 1944
test_libvirtd_qemu.aug: qemu/test_libvirtd_qemu.aug.in \
		$(srcdir)/qemu/qemu.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1945
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/qemu/qemu.conf $< $@
1946

1947
check-augeas-qemu: test_libvirtd_qemu.aug
1948
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1949
	    '$(AUGPARSE)' -I $(srcdir)/qemu test_libvirtd_qemu.aug; \
1950
	fi
1951
else ! WITH_QEMU
1952
check-augeas-qemu:
1953
endif ! WITH_QEMU
1954

1955
if WITH_LXC
1956 1957
test_libvirtd_lxc.aug: lxc/test_libvirtd_lxc.aug.in \
		$(srcdir)/lxc/lxc.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1958
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/lxc/lxc.conf $< $@
1959

1960
check-augeas-lxc: test_libvirtd_lxc.aug
1961
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1962
	    '$(AUGPARSE)' -I $(srcdir)/lxc test_libvirtd_lxc.aug; \
1963
	fi
1964
else ! WITH_LXC
1965
check-augeas-lxc:
1966
endif ! WITH_LXC
1967

1968
if WITH_SANLOCK
1969 1970
test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
		locking/qemu-sanlock.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1971
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
1972

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

1981
if WITH_QEMU
1982 1983 1984
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 $< $@
1985 1986 1987
else ! WITH_QEMU
test_libvirt_lockd.aug:
endif ! WITH_QEMU
1988

1989 1990
test_virtlockd.aug: locking/test_virtlockd.aug.in \
		locking/virtlockd.conf $(AUG_GENTEST)
1991
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/locking/virtlockd.conf $< $@
1992

1993
if WITH_QEMU
1994 1995 1996 1997
check-augeas-lockd: test_libvirt_lockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_lockd.aug; \
	fi
1998 1999 2000
else ! WITH_QEMU
check-augeas-lockd:
endif ! WITH_QEMU
2001

2002 2003 2004 2005 2006
check-augeas-virtlockd: test_virtlockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_virtlockd.aug; \
	fi

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

2020 2021 2022 2023 2024 2025 2026 2027 2028
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

2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047
#
# 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.
#

2048
if WITH_DRIVER_MODULES
2049
USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
2050
else ! WITH_DRIVER_MODULES
2051
SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
2052
endif ! WITH_DRIVER_MODULES
2053

2054
if WITH_LINUX
2055
USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
2056
else ! WITH_LINUX
2057
SYM_FILES += $(srcdir)/libvirt_linux.syms
2058
endif ! WITH_LINUX
2059

2060
if WITH_ESX
2061
USED_SYM_FILES += $(srcdir)/libvirt_esx.syms
2062
else ! WITH_ESX
2063
SYM_FILES += $(srcdir)/libvirt_esx.syms
2064
endif ! WITH_ESX
2065

E
Eric Blake 已提交
2066 2067 2068 2069 2070 2071
if WITH_REMOTE
USED_SYM_FILES += $(srcdir)/libvirt_remote.syms
else ! WITH_REMOTE
SYM_FILES += $(srcdir)/libvirt_remote.syms
endif ! WITH_REMOTE

2072
if WITH_OPENVZ
2073
USED_SYM_FILES += $(srcdir)/libvirt_openvz.syms
2074
else ! WITH_OPENVZ
2075
SYM_FILES += $(srcdir)/libvirt_openvz.syms
2076
endif ! WITH_OPENVZ
2077

2078
if WITH_VMX
2079
USED_SYM_FILES += $(srcdir)/libvirt_vmx.syms
2080
else ! WITH_VMX
2081
SYM_FILES += $(srcdir)/libvirt_vmx.syms
2082
endif ! WITH_VMX
2083

2084 2085 2086 2087 2088 2089
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 已提交
2090 2091 2092 2093 2094
if WITH_XENCONFIG
USED_SYM_FILES += $(srcdir)/libvirt_xenconfig.syms
else ! WITH_XENCONFIG
SYM_FILES += $(srcdir)/libvirt_xenconfig.syms
endif ! WITH_XENCONFIG
2095

2096 2097 2098 2099 2100 2101
if WITH_LIBXL
USED_SYM_FILES += $(srcdir)/libvirt_xenxlconfig.syms
else ! WITH_LIBXL
SYM_FILES += $(srcdir)/libvirt_xenxlconfig.syms
endif ! WITH_LIBXL

2102
if WITH_SASL
2103
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
2104
else ! WITH_SASL
2105
SYM_FILES += $(srcdir)/libvirt_sasl.syms
2106
endif ! WITH_SASL
E
Eric Blake 已提交
2107

2108 2109
if WITH_GNUTLS
USED_SYM_FILES += $(srcdir)/libvirt_gnutls.syms
2110
else ! WITH_GNUTLS
2111
SYM_FILES += $(srcdir)/libvirt_gnutls.syms
2112
endif ! WITH_GNUTLS
2113

2114
if WITH_SSH2
2115
USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
2116
else ! WITH_SSH2
2117
SYM_FILES += $(srcdir)/libvirt_libssh2.syms
2118
endif ! WITH_SSH2
2119

2120
if WITH_ATOMIC_OPS_PTHREAD
2121
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
2122
else ! WITH_ATOMIC_OPS_PTHREAD
2123
SYM_FILES += $(srcdir)/libvirt_atomic.syms
2124
endif ! WITH_ATOMIC_OPS_PTHREAD
2125

2126
EXTRA_DIST += \
2127 2128 2129
	libvirt_public.syms		\
	libvirt_lxc.syms		\
	libvirt_qemu.syms		\
2130
	libvirt_admin_public.syms	\
2131
	$(SYM_FILES)			\
2132
	$(ADMIN_SYM_FILES)		\
2133
	$(NULL)
2134

2135
BUILT_SOURCES += $(GENERATED_SYM_FILES)
2136

2137 2138
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(ACCESS_DRIVER_SYM_FILES) \
2139
		$(top_builddir)/config.status
2140 2141 2142 2143 2144 2145
	$(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 && \
2146
	cat $(USED_SYM_FILES) $(ACCESS_DRIVER_SYM_FILES) >>$@-tmp && \
2147 2148
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
2149
	mv $@-tmp libvirt.syms
2150

2151
%.def: %.syms
2152 2153
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
2154 2155
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d'	\
	    -e 's/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
2156
	chmod a-w $@-tmp && \
2157
	mv $@-tmp $@
2158

2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171
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

2172 2173 2174 2175
# 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 已提交
2176 2177 2178 2179 2180 2181 2182 2183 2184
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)			\
2185
		$(AM_LDFLAGS)
M
Martin Kletzander 已提交
2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197

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 += \
2198
		$(XDR_CFLAGS)			\
M
Martin Kletzander 已提交
2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213
		$(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)

2214 2215
ADMIN_SYM_FILES = $(srcdir)/libvirt_admin_private.syms

M
Martin Kletzander 已提交
2216 2217 2218 2219
if WITH_DTRACE_PROBES
libvirt_admin_la_LIBADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

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

2240
if WITH_DTRACE_PROBES
2241
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
2242
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
2243
nodist_libvirt_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
2244
if WITH_REMOTE
E
Eric Blake 已提交
2245
nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
2246
endif WITH_REMOTE
2247 2248
if WITH_DRIVER_MODULES
DTRACE2SYSTEMTAP_FLAGS = --with-modules
2249
endif WITH_DRIVER_MODULES
2250

2251 2252 2253
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

if WITH_QEMU
2254
libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
2255
nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
2256
BUILT_SOURCES += libvirt_qemu_probes.h
2257
endif WITH_QEMU
2258 2259

tapsetdir = $(datadir)/systemtap/tapset
2260
tapset_DATA = libvirt_probes.stp libvirt_qemu_probes.stp libvirt_functions.stp
2261

2262
%_probes.h: %_probes.d
2263 2264
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

E
Eric Blake 已提交
2265
.PRECIOUS: %_probes.o
2266
%_probes.o: %_probes.d
2267 2268
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

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

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

2291 2292
%_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl \
		$(top_builddir)/config.status
2293
	$(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
2294
	  $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
2295

2296
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
2297
              libvirt_qemu_probes.h libvirt_qemu_probes.o \
2298
              libvirt_qemu_probes.lo\
2299 2300
              libvirt_functions.stp libvirt_probes.stp \
              libvirt_qemu_probes.stp
2301
endif WITH_DTRACE_PROBES
2302

2303
EXTRA_DIST += libvirt_probes.d libvirt_qemu_probes.d
2304

C
Chris Lalancette 已提交
2305
libvirt_qemu_la_SOURCES = libvirt-qemu.c
D
Daniel P. Berrange 已提交
2306 2307 2308 2309 2310
libvirt_qemu_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(NULL)
2311
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
2312
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
2313

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

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

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

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

2416 2417 2418
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES =

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

2445 2446 2447 2448 2449 2450
if WITH_LIBXL
nodist_conf_DATA += locking/libxl-lockd.conf
BUILT_SOURCES += locking/libxl-lockd.conf
DISTCLEANFILES += locking/libxl-lockd.conf
endif WITH_LIBXL

2451 2452 2453 2454 2455
locking/%-lockd.conf: $(srcdir)/locking/lockd.conf
	$(AM_V_GEN)$(MKDIR_P) locking ; \
	cp $< $@


2456
sbin_PROGRAMS = virtlockd virtlogd
2457

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

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

virtlogd_SOURCES = \
		$(LOG_DAEMON_SOURCES) \
		$(LOG_PROTOCOL_GENERATED) \
		$(LOG_DAEMON_GENERATED) \
		$(NULL)
virtlogd_CFLAGS = \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(XDR_CFLAGS) \
		$(NULL)
virtlogd_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
virtlogd_LDADD = \
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
		libvirt_util.la \
		../gnulib/lib/libgnu.la \
		$(CYGWIN_EXTRA_LIBADD) \
		$(NULL)
if WITH_DTRACE_PROBES
virtlogd_LDADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

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

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

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

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

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

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

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

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

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

2570 2571 2572 2573 2574 2575 2576 2577 2578
virtlogd.init: logging/virtlogd.init.in $(top_builddir)/config.status
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g'		\
	    < $< > $@-t &&					\
	    chmod a+x $@-t &&					\
	    mv $@-t $@

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

2581
virtlockd.8.in: locking/virtlockd.pod
2582 2583 2584 2585 2586 2587 2588 2589
	$(AM_V_GEN)$(POD2MAN) --section=8 $< $@-t1 && \
	if grep 'POD ERROR' $@-t1; then rm $@-t1; exit 1; fi && \
	sed \
		-e 's|SYSCONFDIR|\@sysconfdir\@|g' \
		-e 's|LOCALSTATEDIR|\@localstatedir\@|g' \
		< $@-t1 > $@-t2 && \
	rm -f $@-t1 && \
	mv $@-t2 $@
2590

2591
virtlogd.8.in: logging/virtlogd.pod
2592 2593 2594 2595 2596 2597 2598 2599
	$(AM_V_GEN)$(POD2MAN) --section=8 $< $@-t1 && \
	if grep 'POD ERROR' $@-t1; then rm $@-t1; exit 1; fi && \
	sed \
		-e 's|SYSCONFDIR|\@sysconfdir\@|g' \
		-e 's|LOCALSTATEDIR|\@localstatedir\@|g' \
		< $@-t1 > $@-t2 && \
	rm -f $@-t1 && \
	mv $@-t2 $@
2600

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

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

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

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

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

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

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

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

2645 2646 2647 2648

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_SYSTEMD

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

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

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

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

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

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

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

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

2707

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

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

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

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

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

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

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

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

2761
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
2762

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

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

2825 2826 2827 2828 2829
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 已提交
2830 2831
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
2832
libvirt_net_rpc_client_la_LDFLAGS = $(AM_LDFLAGS)
2833 2834
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
2835

2836 2837
libexec_PROGRAMS =

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

D
Daniel P. Berrange 已提交
2852 2853 2854 2855
libvirt_iohelper_CFLAGS = \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2856 2857 2858 2859

if WITH_NETWORK
libexec_PROGRAMS += libvirt_leaseshelper
libvirt_leaseshelper_SOURCES = $(NETWORK_LEASES_HELPER_SOURCES)
2860 2861 2862 2863
libvirt_leaseshelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878
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

2879
endif WITH_LIBVIRTD
2880

2881
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
2882
if WITH_LIBVIRTD
2883
libexec_PROGRAMS += libvirt_parthelper
2884

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

D
Daniel P. Berrange 已提交
2898 2899 2900 2901 2902
libvirt_parthelper_CFLAGS = \
		$(LIBPARTED_CFLAGS) \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2903 2904
endif WITH_LIBVIRTD
endif WITH_STORAGE_DISK
2905 2906
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

2907

2908
if WITH_SANLOCK
2909 2910 2911
libexec_PROGRAMS += libvirt_sanlock_helper

libvirt_sanlock_helper_SOURCES = $(LOCK_DRIVER_SANLOCK_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
2912
libvirt_sanlock_helper_CFLAGS = \
2913
		-I$(srcdir)/conf \
D
Daniel P. Berrange 已提交
2914 2915 2916 2917 2918 2919 2920
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
libvirt_sanlock_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2921
libvirt_sanlock_helper_LDADD = libvirt.la
2922
endif WITH_SANLOCK
2923

2924 2925 2926 2927 2928 2929
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

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

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

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


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

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

3152 3153
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
3154
MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED)