Makefile.am 98.3 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
	$(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) \
662
	$(VZ_DRIVER_SOURCES) \
663 664
	$(NULL)

665 666 667

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BUILT_SOURCES += $(LXC_GENERATED)

746 747
CLEANFILES += $(LXC_GENERATED)

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

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

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

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

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

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

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

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

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

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

846 847 848 849 850
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 已提交
851
		libxl/libxl_migration.c libxl/libxl_migration.h
J
Jim Fehlig 已提交
852

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

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

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

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

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

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

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

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

945 946 947 948
INTERFACE_DRIVER_SOURCES =

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

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

962 963 964
SECRET_UTIL_SOURCES =						\
		secret/secret_util.h secret/secret_util.c

965
SECRET_DRIVER_SOURCES =						\
966
		secret/secret_driver.h secret/secret_driver.c
967

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

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

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

STORAGE_DRIVER_ISCSI_SOURCES =					\
981
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
982

983
STORAGE_DRIVER_SCSI_SOURCES =					\
984
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
985

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

989
STORAGE_DRIVER_DISK_SOURCES =					\
990
		storage/storage_backend_disk.h storage/storage_backend_disk.c
991

992 993 994
STORAGE_DRIVER_RBD_SOURCES =					\
		storage/storage_backend_rbd.h storage/storage_backend_rbd.c

995 996 997
STORAGE_DRIVER_SHEEPDOG_SOURCES =				\
		storage/storage_backend_sheepdog.h storage/storage_backend_sheepdog.c

998 999 1000
STORAGE_DRIVER_GLUSTER_SOURCES =				\
		storage/storage_backend_gluster.h storage/storage_backend_gluster.c

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

1004
STORAGE_HELPER_DISK_SOURCES =					\
1005
		storage/parthelper.c
1006

1007 1008 1009
UTIL_IO_HELPER_SOURCES =					\
		util/iohelper.c

1010 1011 1012
NETWORK_LEASES_HELPER_SOURCES =                                 \
               network/leaseshelper.c

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

1026

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

1035
SECURITY_DRIVER_SELINUX_SOURCES =				\
1036
		security/security_selinux.h security/security_selinux.c
1037

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

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

1050
ACCESS_DRIVER_SYM_FILES = \
1051 1052 1053
		libvirt_access.syms \
		libvirt_access_qemu.syms \
		libvirt_access_lxc.syms
1054

1055 1056 1057 1058 1059
ACCESS_DRIVER_API_FILES = \
		libvirt_access.xml \
		libvirt_access_qemu.xml \
		libvirt_access_lxc.xml

1060 1061 1062 1063 1064 1065 1066
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

1067 1068 1069 1070
ACCESS_DRIVER_POLKIT_SOURCES = \
		access/viraccessdriverpolkit.h access/viraccessdriverpolkit.c

ACCESS_DRIVER_POLKIT_POLICY = \
1071
		$(srcdir)/access/org.libvirt.api.policy
1072 1073


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

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
1081
		node_device/node_device_hal.c			\
1082
		node_device/node_device_hal.h
1083

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

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

1097 1098 1099
VMX_SOURCES =							\
		vmx/vmx.c vmx/vmx.h

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

J
Jiri Denemark 已提交
1110 1111
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
1112
EXTRA_DIST +=	$(pkgdata_DATA)
1113

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

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

1136 1137

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

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

1150 1151 1152 1153 1154 1155
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)

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

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

1173

1174
noinst_LTLIBRARIES += libvirt_driver.la
1175
libvirt_la_BUILT_LIBADD += libvirt_driver.la
1176
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
1177

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

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

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

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

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

1220 1221
endif WITH_REMOTE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A
Amy Griffis 已提交
1385
conf_DATA += qemu/qemu.conf
1386

1387
augeas_DATA += qemu/libvirtd_qemu.aug
1388 1389
augeastest_DATA += test_libvirtd_qemu.aug
CLEANFILES += test_libvirtd_qemu.aug
1390

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

1395 1396

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

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

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

conf_DATA += lxc/lxc.conf

1432
augeas_DATA += lxc/libvirtd_lxc.aug
1433 1434
augeastest_DATA += test_libvirtd_lxc.aug
CLEANFILES += test_libvirtd_lxc.aug
1435

1436
endif WITH_LXC
1437
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug.in
1438

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

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

D
Daniel Veillard 已提交
1462

1463
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
1464

1465 1466
ESX_GENERATED_STAMP = .esx_vi_generator.stamp

E
Eric Blake 已提交
1467 1468
EXTRA_DIST += $(ESX_GENERATED_STAMP)

1469 1470 1471
$(ESX_DRIVER_GENERATED): $(ESX_GENERATED_STAMP)

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

MAINTAINERCLEANFILES += $(ESX_DRIVER_GENERATED) $(ESX_GENERATED_STAMP)

D
Daniel Veillard 已提交
1478

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

M
Matthias Bolte 已提交
1490

1491 1492
BUILT_SOURCES += $(HYPERV_DRIVER_GENERATED)

1493 1494
HYPERV_GENERATED_STAMP = .hyperv_wmi_generator.stamp

E
Eric Blake 已提交
1495 1496
EXTRA_DIST += $(HYPERV_GENERATED_STAMP)

1497 1498 1499
$(HYPERV_DRIVER_GENERATED): $(HYPERV_GENERATED_STAMP)

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

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

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

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

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

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

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


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

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

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

1665
if WITH_STORAGE_LVM
1666
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
1667
endif WITH_STORAGE_LVM
1668

1669
if WITH_STORAGE_ISCSI
1670
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
1671
endif WITH_STORAGE_ISCSI
1672

1673
if WITH_STORAGE_SCSI
1674
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
1675
endif WITH_STORAGE_SCSI
1676

D
Dave Allan 已提交
1677
if WITH_STORAGE_MPATH
1678 1679 1680
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)
1681
endif WITH_STORAGE_MPATH
D
Dave Allan 已提交
1682

1683
if WITH_STORAGE_DISK
1684
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
1685
endif WITH_STORAGE_DISK
1686

1687
if WITH_STORAGE_RBD
1688 1689
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_RBD_SOURCES)
libvirt_driver_storage_impl_la_LIBADD += $(LIBRBD_LIBS)
1690
endif WITH_STORAGE_RBD
1691

1692
if WITH_STORAGE_SHEEPDOG
1693
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SHEEPDOG_SOURCES)
1694
endif WITH_STORAGE_SHEEPDOG
1695

1696 1697 1698 1699 1700 1701
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 已提交
1702 1703 1704 1705
if WITH_STORAGE_ZFS
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ZFS_SOURCES)
endif WITH_STORAGE_ZFS

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

1717
libvirt_driver_nodedev_la_CFLAGS = \
1718 1719
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1720
		$(AM_CFLAGS) $(LIBNL_CFLAGS)
1721
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
1722
libvirt_driver_nodedev_la_LIBADD =
1723

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

if WITH_DRIVER_MODULES
1738
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
1739
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
1740 1741
endif WITH_DRIVER_MODULES
endif WITH_NODE_DEVICES
1742 1743


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


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

1792 1793
libvirt_driver_access_la_SOURCES = \
	$(ACCESS_DRIVER_SOURCES) $(ACCESS_DRIVER_GENERATED)
1794 1795 1796
noinst_LTLIBRARIES += libvirt_driver_access.la
libvirt_la_BUILT_LIBADD += libvirt_driver_access.la
libvirt_driver_access_la_CFLAGS = \
1797
		-I$(srcdir)/conf $(AM_CFLAGS)
1798 1799 1800
libvirt_driver_access_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_access_la_LIBADD =

1801 1802
EXTRA_DIST += access/genpolkit.pl

1803 1804 1805 1806
$(ACCESS_DRIVER_POLKIT_POLICY): $(srcdir)/access/viraccessperm.h \
    $(srcdir)/access/genpolkit.pl Makefile.am
	$(AM_V_GEN)$(PERL) $(srcdir)/access/genpolkit.pl < $< > $@ || rm -f $@

1807 1808 1809 1810
if WITH_POLKIT1
libvirt_driver_access_la_SOURCES += $(ACCESS_DRIVER_POLKIT_SOURCES)

polkitactiondir = $(datadir)/polkit-1/actions
1811
if WITH_LIBVIRTD
1812
polkitaction_DATA = $(ACCESS_DRIVER_POLKIT_POLICY)
1813
endif WITH_LIBVIRTD
1814 1815 1816

CLEANFILES += $(ACCESS_DRIVER_POLKIT_POLICY)
BUILT_SOURCES += $(ACCESS_DRIVER_POLKIT_POLICY)
1817
else ! WITH_POLKIT1
1818
EXTRA_DIST += $(ACCESS_DRIVER_POLKIT_SOURCES)
1819
endif ! WITH_POLKIT1
1820

1821

1822 1823
BUILT_SOURCES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
CLEANFILES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837

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

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

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

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

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

1929 1930
check-local: check-augeas

1931 1932 1933 1934 1935
.PHONY: check-augeas \
	check-augeas-qemu \
	check-augeas-lxc \
	check-augeas-sanlock \
	check-augeas-lockd \
1936
	check-augeas-libxl \
1937
	$(NULL)
1938

1939
check-augeas: check-augeas-qemu check-augeas-lxc check-augeas-sanlock \
1940 1941
	check-augeas-lockd check-augeas-virtlockd check-augeas-libxl \
	check-augeas-virtlogd
1942

1943
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1944
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1945

1946
if WITH_QEMU
1947 1948
test_libvirtd_qemu.aug: qemu/test_libvirtd_qemu.aug.in \
		$(srcdir)/qemu/qemu.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1949
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/qemu/qemu.conf $< $@
1950

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

1959
if WITH_LXC
1960 1961
test_libvirtd_lxc.aug: lxc/test_libvirtd_lxc.aug.in \
		$(srcdir)/lxc/lxc.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1962
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/lxc/lxc.conf $< $@
1963

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

1972
if WITH_SANLOCK
1973 1974
test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
		locking/qemu-sanlock.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1975
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
1976

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

1985
if WITH_QEMU
1986 1987 1988
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 $< $@
1989 1990 1991
else ! WITH_QEMU
test_libvirt_lockd.aug:
endif ! WITH_QEMU
1992

1993 1994
test_virtlockd.aug: locking/test_virtlockd.aug.in \
		locking/virtlockd.conf $(AUG_GENTEST)
1995
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/locking/virtlockd.conf $< $@
1996

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

2006 2007 2008 2009 2010
check-augeas-virtlockd: test_virtlockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_virtlockd.aug; \
	fi

2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023
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

2024 2025 2026 2027 2028 2029 2030 2031 2032
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

2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051
#
# 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.
#

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

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

2064
if WITH_ESX
2065
USED_SYM_FILES += $(srcdir)/libvirt_esx.syms
2066
else ! WITH_ESX
2067
SYM_FILES += $(srcdir)/libvirt_esx.syms
2068
endif ! WITH_ESX
2069

E
Eric Blake 已提交
2070 2071 2072 2073 2074 2075
if WITH_REMOTE
USED_SYM_FILES += $(srcdir)/libvirt_remote.syms
else ! WITH_REMOTE
SYM_FILES += $(srcdir)/libvirt_remote.syms
endif ! WITH_REMOTE

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

2082
if WITH_VMX
2083
USED_SYM_FILES += $(srcdir)/libvirt_vmx.syms
2084
else ! WITH_VMX
2085
SYM_FILES += $(srcdir)/libvirt_vmx.syms
2086
endif ! WITH_VMX
2087

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

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

2106
if WITH_SASL
2107
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
2108
else ! WITH_SASL
2109
SYM_FILES += $(srcdir)/libvirt_sasl.syms
2110
endif ! WITH_SASL
E
Eric Blake 已提交
2111

2112 2113
if WITH_GNUTLS
USED_SYM_FILES += $(srcdir)/libvirt_gnutls.syms
2114
else ! WITH_GNUTLS
2115
SYM_FILES += $(srcdir)/libvirt_gnutls.syms
2116
endif ! WITH_GNUTLS
2117

2118
if WITH_SSH2
2119
USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
2120
else ! WITH_SSH2
2121
SYM_FILES += $(srcdir)/libvirt_libssh2.syms
2122
endif ! WITH_SSH2
2123

2124
if WITH_ATOMIC_OPS_PTHREAD
2125
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
2126
else ! WITH_ATOMIC_OPS_PTHREAD
2127
SYM_FILES += $(srcdir)/libvirt_atomic.syms
2128
endif ! WITH_ATOMIC_OPS_PTHREAD
2129

2130 2131 2132 2133 2134 2135
if WITH_LIBSSH
USED_SYM_FILES += $(srcdir)/libvirt_libssh.syms
else ! WITH_LIBSSH
SYM_FILES += $(srcdir)/libvirt_libssh.syms
endif ! WITH_LIBSSH

2136
EXTRA_DIST += \
2137 2138 2139
	libvirt_public.syms		\
	libvirt_lxc.syms		\
	libvirt_qemu.syms		\
2140
	libvirt_admin_public.syms	\
2141
	$(SYM_FILES)			\
2142
	$(ADMIN_SYM_FILES)		\
2143
	$(NULL)
2144

2145
BUILT_SOURCES += $(GENERATED_SYM_FILES)
2146

2147 2148
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(ACCESS_DRIVER_SYM_FILES) \
2149
		$(top_builddir)/config.status
2150 2151 2152 2153 2154 2155
	$(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 && \
2156
	cat $(USED_SYM_FILES) $(ACCESS_DRIVER_SYM_FILES) >>$@-tmp && \
2157 2158
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
2159
	mv $@-tmp libvirt.syms
2160

2161
%.def: %.syms
2162 2163
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
2164 2165
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d'	\
	    -e 's/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
2166
	chmod a-w $@-tmp && \
2167
	mv $@-tmp $@
2168

2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181
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

2182 2183 2184 2185
# 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 已提交
2186 2187 2188 2189 2190 2191 2192 2193 2194
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)			\
2195
		$(AM_LDFLAGS)
M
Martin Kletzander 已提交
2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207

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 += \
2208
		$(XDR_CFLAGS)			\
M
Martin Kletzander 已提交
2209 2210 2211 2212
		$(CAPNG_CFLAGS)			\
		$(YAJL_CFLAGS)			\
		$(SSH2_CFLAGS)			\
		$(SASL_CFLAGS)			\
2213 2214
		$(GNUTLS_CFLAGS)		\
		$(LIBSSH_CFLAGS)
M
Martin Kletzander 已提交
2215 2216 2217 2218 2219 2220 2221 2222

libvirt_admin_la_LIBADD += \
		$(CAPNG_LIBS)			\
		$(YAJL_LIBS)			\
		$(DEVMAPPER_LIBS)		\
		$(LIBXML_LIBS)			\
		$(SSH2_LIBS)			\
		$(SASL_LIBS)			\
2223 2224
		$(GNUTLS_LIBS)			\
		$(LIBSSH_LIBS)
M
Martin Kletzander 已提交
2225

2226 2227
ADMIN_SYM_FILES = $(srcdir)/libvirt_admin_private.syms

M
Martin Kletzander 已提交
2228 2229 2230 2231
if WITH_DTRACE_PROBES
libvirt_admin_la_LIBADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

2232 2233
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
D
Daniel P. Berrange 已提交
2234 2235 2236 2237 2238 2239
libvirt_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(LIBVIRT_NODELETE) \
		$(AM_LDFLAGS) \
		$(NULL)
2240
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
2241
libvirt_la_LIBADD += \
2242
		    $(DRIVER_MODULE_LIBS) \
2243
		    $(CYGWIN_EXTRA_LIBADD)
2244
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
2245 2246 2247 2248 2249 2250
# 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)
2251

2252
if WITH_DTRACE_PROBES
2253
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
2254
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
2255
nodist_libvirt_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
2256
if WITH_REMOTE
E
Eric Blake 已提交
2257
nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
2258
endif WITH_REMOTE
2259 2260
if WITH_DRIVER_MODULES
DTRACE2SYSTEMTAP_FLAGS = --with-modules
2261
endif WITH_DRIVER_MODULES
2262

2263 2264 2265
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

if WITH_QEMU
2266
libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
2267
nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
2268
BUILT_SOURCES += libvirt_qemu_probes.h
2269
endif WITH_QEMU
2270 2271

tapsetdir = $(datadir)/systemtap/tapset
2272
tapset_DATA = libvirt_probes.stp libvirt_qemu_probes.stp libvirt_functions.stp
2273

2274
%_probes.h: %_probes.d
2275 2276
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

E
Eric Blake 已提交
2277
.PRECIOUS: %_probes.o
2278
%_probes.o: %_probes.d
2279 2280
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

2281 2282 2283 2284 2285 2286 2287 2288 2289
%_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 已提交
2290
# Keep this list synced with PROTOCOL_STRUCTS
J
Jiri Denemark 已提交
2291 2292 2293
RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x \
		  $(srcdir)/rpc/virkeepaliveprotocol.x \
		  $(srcdir)/remote/remote_protocol.x \
2294
		  $(srcdir)/remote/lxc_protocol.x \
2295 2296
		  $(srcdir)/remote/qemu_protocol.x \
		  $(srcdir)/lxc/lxc_monitor_protocol.x \
M
Martin Kletzander 已提交
2297 2298
		  $(srcdir)/locking/lock_protocol.x \
		  $(srcdir)/admin/admin_protocol.x
2299 2300

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

2303 2304
%_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl \
		$(top_builddir)/config.status
2305
	$(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
2306
	  $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
2307

2308
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
2309
              libvirt_qemu_probes.h libvirt_qemu_probes.o \
2310
              libvirt_qemu_probes.lo\
2311 2312
              libvirt_functions.stp libvirt_probes.stp \
              libvirt_qemu_probes.stp
2313
endif WITH_DTRACE_PROBES
2314

2315
EXTRA_DIST += libvirt_probes.d libvirt_qemu_probes.d
2316

C
Chris Lalancette 已提交
2317
libvirt_qemu_la_SOURCES = libvirt-qemu.c
D
Daniel P. Berrange 已提交
2318 2319 2320 2321 2322
libvirt_qemu_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(NULL)
2323
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
2324
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
2325

2326
libvirt_lxc_la_SOURCES = libvirt-lxc.c
D
Daniel P. Berrange 已提交
2327 2328 2329 2330 2331
libvirt_lxc_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_LXC_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(NULL)
2332 2333 2334
libvirt_lxc_la_CFLAGS = $(AM_CFLAGS)
libvirt_lxc_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)

2335 2336 2337 2338 2339 2340 2341
# 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
2342
if WITH_SETUID_RPC_CLIENT
2343 2344 2345 2346
noinst_LTLIBRARIES += libvirt-setuid-rpc-client.la

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

libvirt_setuid_rpc_client_la_LDFLAGS =		\
		$(AM_LDFLAGS)			\
		$(LIBXML_LIBS)			\
J
Jim Fehlig 已提交
2416
		$(SECDRIVER_LIBS)		\
2417 2418 2419
		$(NULL)
libvirt_setuid_rpc_client_la_CFLAGS =		\
		-DLIBVIRT_SETUID_RPC_CLIENT	\
2420 2421
		-I$(srcdir)/conf		\
		-I$(srcdir)/rpc			\
2422
		$(AM_CFLAGS)			\
J
Jim Fehlig 已提交
2423
		$(SECDRIVER_CFLAGS)		\
P
Pavel Fedin 已提交
2424
		$(XDR_CFLAGS)			\
2425
		$(NULL)
2426
endif WITH_SETUID_RPC_CLIENT
2427

2428 2429 2430
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES =

2431
if WITH_LIBVIRTD
2432 2433 2434 2435 2436
lockdriver_LTLIBRARIES += lockd.la
lockd_la_SOURCES = \
		$(LOCK_DRIVER_LOCKD_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
		$(NULL)
2437
lockd_la_CFLAGS = -I$(srcdir)/conf \
E
Eric Blake 已提交
2438 2439
		$(XDR_CFLAGS) \
		$(AM_CFLAGS)
2440
lockd_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
2441 2442 2443 2444
lockd_la_LIBADD = ../gnulib/lib/libgnu.la \
	libvirt-net-rpc.la \
	libvirt-net-rpc-client.la \
	$(NULL)
J
Jiri Denemark 已提交
2445
augeas_DATA += locking/libvirt_lockd.aug
2446 2447
if WITH_DTRACE_PROBES
lockd_la_LIBADD += libvirt_probes.lo
2448
endif WITH_DTRACE_PROBES
2449
if WITH_QEMU
2450 2451
augeastest_DATA += test_libvirt_lockd.aug
CLEANFILES += test_libvirt_lockd.aug
2452
nodist_conf_DATA += locking/qemu-lockd.conf
2453 2454
BUILT_SOURCES += locking/qemu-lockd.conf
DISTCLEANFILES += locking/qemu-lockd.conf
2455
endif WITH_QEMU
2456

2457 2458 2459 2460 2461 2462
if WITH_LIBXL
nodist_conf_DATA += locking/libxl-lockd.conf
BUILT_SOURCES += locking/libxl-lockd.conf
DISTCLEANFILES += locking/libxl-lockd.conf
endif WITH_LIBXL

2463 2464 2465 2466 2467
locking/%-lockd.conf: $(srcdir)/locking/lockd.conf
	$(AM_V_GEN)$(MKDIR_P) locking ; \
	cp $< $@


2468
sbin_PROGRAMS = virtlockd virtlogd
2469

2470 2471 2472
virtlockd_SOURCES = \
		$(LOCK_DAEMON_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
2473
		$(LOCK_DAEMON_GENERATED) \
2474
		$(NULL)
2475 2476
virtlockd_CFLAGS = \
		$(AM_CFLAGS) \
D
Daniel P. Berrange 已提交
2477
		$(PIE_CFLAGS) \
2478
		$(XDR_CFLAGS) \
2479 2480 2481
		$(NULL)
virtlockd_LDFLAGS = \
		$(AM_LDFLAGS) \
D
Daniel P. Berrange 已提交
2482
		$(PIE_LDFLAGS) \
2483 2484 2485 2486 2487 2488 2489 2490 2491 2492
		$(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
2493
endif WITH_DTRACE_PROBES
2494

2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520

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

2521
else ! WITH_LIBVIRTD
2522
EXTRA_DIST += $(LOCK_DAEMON_SOURCES) \
2523 2524
              $(LOCK_DRIVER_LOCKD_SOURCES) \
	      $(LOG_DAEMON_SOURCES)
2525
endif ! WITH_LIBVIRTD
2526

2527 2528
EXTRA_DIST += \
	locking/virtlockd.sysconf \
J
Jiri Denemark 已提交
2529 2530
	locking/lockd.conf \
	locking/libvirt_lockd.aug \
2531
	locking/test_libvirt_lockd.aug.in \
2532
	logging/virtlogd.sysconf
2533 2534

install-sysconfig:
E
Eric Blake 已提交
2535
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
2536 2537
	$(INSTALL_DATA) $(srcdir)/locking/virtlockd.sysconf \
	  $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
2538 2539
	$(INSTALL_DATA) $(srcdir)/logging/virtlogd.sysconf \
	  $(DESTDIR)$(sysconfdir)/sysconfig/virtlogd
2540 2541

uninstall-sysconfig:
2542
	rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlogd
2543
	rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
E
Eric Blake 已提交
2544
	rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
2545

2546
EXTRA_DIST += locking/virtlockd.init.in logging/virtlogd.init.in
2547 2548 2549

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_RED_HAT
2550
install-init:: virtlockd.init virtlogd.init install-sysconfig
E
Eric Blake 已提交
2551
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d
2552 2553
	$(INSTALL_SCRIPT) virtlockd.init \
	  $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd
2554 2555
	$(INSTALL_SCRIPT) virtlogd.init \
	  $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlogd
2556 2557

uninstall-init:: uninstall-sysconfig
E
Eric Blake 已提交
2558
	rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd
2559
	rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlogd
E
Eric Blake 已提交
2560
	rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || :
2561

2562 2563
BUILT_SOURCES += virtlockd.init virtlogd.init
DISTCLEANFILES += virtlockd.init virtlogd.init
2564
else ! LIBVIRT_INIT_SCRIPT_RED_HAT
2565 2566
install-init::
uninstall-init::
2567 2568
endif ! LIBVIRT_INIT_SCRIPT_RED_HAT
else ! WITH_LIBVIRTD
2569 2570
install-init::
uninstall-init::
2571
endif ! WITH_LIBVIRTD
2572 2573

virtlockd.init: locking/virtlockd.init.in $(top_builddir)/config.status
2574 2575 2576 2577 2578 2579
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g'		\
	    < $< > $@-t &&					\
	    chmod a+x $@-t &&					\
2580 2581
	    mv $@-t $@

2582 2583 2584 2585 2586 2587 2588 2589 2590
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 $@

2591
POD2MAN = pod2man -c "Virtualization Support" -r "$(PACKAGE)-$(VERSION)"
2592

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

2603
virtlogd.8.in: logging/virtlogd.pod
2604 2605 2606 2607 2608 2609 2610 2611
	$(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 $@
2612

2613
%.8: %.8.in $(top_srcdir)/configure.ac
2614
	$(AM_V_GEN)sed \
2615 2616 2617
		-e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
		-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
		< $< > $@-t && \
2618 2619
	mv $@-t $@

2620
if WITH_LIBVIRTD
2621
man8_MANS = virtlockd.8 virtlogd.8
2622

2623
conf_DATA += locking/virtlockd.conf logging/virtlogd.conf
2624

2625 2626
augeas_DATA += locking/virtlockd.aug logging/virtlogd.aug
augeastest_DATA += test_virtlockd.aug test_virtlogd.aug
2627
endif WITH_LIBVIRTD
2628

A
Andrea Bolognani 已提交
2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640
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)
2641 2642 2643 2644

EXTRA_DIST += \
        locking/virtlockd.service.in \
        locking/virtlockd.socket.in \
2645 2646 2647
        locking/virtlockd.aug \
        locking/virtlockd.conf \
        locking/test_virtlockd.aug.in \
2648 2649 2650 2651 2652
        logging/virtlogd.service.in \
        logging/virtlogd.socket.in \
        logging/virtlogd.aug \
        logging/virtlogd.conf \
        logging/test_virtlogd.aug.in \
A
Andrea Bolognani 已提交
2653 2654
        $(PODFILES) \
        $(MANINFILES) \
2655
        $(NULL)
2656

2657 2658 2659 2660

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_SYSTEMD

2661
SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
2662

2663 2664 2665 2666
BUILT_SOURCES += virtlockd.service virtlockd.socket \
		 virtlogd.service virtlogd.socket
DISTCLEANFILES += virtlockd.service virtlockd.socket \
		  virtlogd.service virtlogd.socket
2667

2668 2669
install-systemd: virtlockd.service virtlockd.socket \
                 virtlogd.service virtlogd.socket install-sysconfig
E
Eric Blake 已提交
2670
	$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
2671
	$(INSTALL_DATA) virtlockd.service \
2672
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2673
	$(INSTALL_DATA) virtlockd.socket \
2674
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2675 2676 2677 2678
	$(INSTALL_DATA) virtlogd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
	$(INSTALL_DATA) virtlogd.socket \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2679 2680

uninstall-systemd: uninstall-sysconfig
E
Eric Blake 已提交
2681 2682
	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket
2683 2684
	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlogd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlogd.socket
E
Eric Blake 已提交
2685
	rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
2686
else ! LIBVIRT_INIT_SCRIPT_SYSTEMD
2687 2688
install-systemd:
uninstall-systemd:
2689 2690
endif ! LIBVIRT_INIT_SCRIPT_SYSTEMD
else ! WITH_LIBVIRTD
2691 2692
install-systemd:
uninstall-systemd:
2693
endif ! WITH_LIBVIRTD
2694 2695

virtlockd.service: locking/virtlockd.service.in $(top_builddir)/config.status
2696 2697 2698
	$(AM_V_GEN)sed						\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    < $< > $@-t &&					\
2699 2700 2701
	    mv $@-t $@

virtlockd.socket: locking/virtlockd.socket.in $(top_builddir)/config.status
2702 2703 2704
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    < $< > $@-t &&					\
2705 2706
	    mv $@-t $@

2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718
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 $@

2719

2720
if WITH_SANLOCK
2721
lockdriver_LTLIBRARIES += sanlock.la
2722
sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
2723
sanlock_la_CFLAGS = -I$(srcdir)/conf $(AM_CFLAGS)
2724
sanlock_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
2725
sanlock_la_LIBADD = -lsanlock_client \
2726 2727 2728
		../gnulib/lib/libgnu.la

augeas_DATA += locking/libvirt_sanlock.aug
2729 2730
augeastest_DATA += test_libvirt_sanlock.aug
CLEANFILES += test_libvirt_sanlock.aug
2731

E
Eric Blake 已提交
2732
locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
2733
	$(AM_V_GEN)$(MKDIR_P) locking ; \
2734 2735 2736
	cp $< $@

if WITH_QEMU
2737
nodist_conf_DATA += locking/qemu-sanlock.conf
2738
BUILT_SOURCES += locking/qemu-sanlock.conf
E
Eric Blake 已提交
2739
DISTCLEANFILES += locking/qemu-sanlock.conf
2740
endif WITH_QEMU
2741 2742 2743 2744 2745 2746

if WITH_LIBXL
nodist_conf_DATA += locking/libxl-sanlock.conf
BUILT_SOURCES += locking/libxl-sanlock.conf
DISTCLEANFILES += locking/libxl-sanlock.conf
endif WITH_LIBXL
2747
else ! WITH_SANLOCK
2748
EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
2749
endif ! WITH_SANLOCK
2750 2751
EXTRA_DIST += locking/sanlock.conf \
	locking/libvirt_sanlock.aug \
2752
	locking/test_libvirt_sanlock.aug.in
2753

2754 2755 2756 2757
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
2758

2759
EXTRA_DIST += \
E
Eric Blake 已提交
2760 2761 2762 2763
	dtrace2systemtap.pl \
	rpc/gendispatch.pl \
	rpc/genprotocol.pl \
	rpc/gensystemtap.pl \
J
Jiri Denemark 已提交
2764 2765
	rpc/virnetprotocol.x \
	rpc/virkeepaliveprotocol.x
2766

E
Eric Blake 已提交
2767
VIR_NET_RPC_GENERATED = \
2768 2769 2770 2771
	rpc/virnetprotocol.h \
	rpc/virnetprotocol.c \
	rpc/virkeepaliveprotocol.h \
	rpc/virkeepaliveprotocol.c
2772

2773
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
2774

2775
libvirt_net_rpc_la_SOURCES = \
2776
	rpc/virnetmessage.h rpc/virnetmessage.c \
2777
	rpc/virnetsocket.h rpc/virnetsocket.c \
2778 2779
	rpc/virkeepalive.h rpc/virkeepalive.c \
	$(VIR_NET_RPC_GENERATED)
2780
if WITH_SSH2
2781 2782
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
2783
else ! WITH_SSH2
2784 2785
EXTRA_DIST += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
2786
endif ! WITH_SSH2
2787
if WITH_GNUTLS
2788 2789
libvirt_net_rpc_la_SOURCES += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
2790
else ! WITH_GNUTLS
2791 2792
EXTRA_DIST += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
2793
endif ! WITH_GNUTLS
2794
if WITH_SASL
2795 2796
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2797
else ! WITH_SASL
2798 2799
EXTRA_DIST += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2800
endif ! WITH_SASL
2801 2802 2803 2804 2805 2806 2807
if WITH_LIBSSH
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetlibsshsession.h rpc/virnetlibsshsession.c
else ! WITH_LIBSSH
EXTRA_DIST += \
	rpc/virnetlibsshsession.h rpc/virnetlibsshsession.c
endif ! WITH_LIBSSH
2808
libvirt_net_rpc_la_CFLAGS = \
2809
			$(GNUTLS_CFLAGS) \
2810
			$(SASL_CFLAGS) \
2811
			$(SSH2_CFLAGS) \
2812
			$(LIBSSH_CFLAGS) \
2813
			$(XDR_CFLAGS) \
2814 2815
			$(AM_CFLAGS)
libvirt_net_rpc_la_LDFLAGS = \
2816
			$(GNUTLS_LIBS) \
2817
			$(SASL_LIBS) \
2818
			$(SSH2_LIBS)\
2819
			$(LIBSSH_LIBS) \
J
Jim Fehlig 已提交
2820
			$(SECDRIVER_LIBS) \
2821
			$(AM_LDFLAGS) \
2822
			$(NULL)
2823 2824 2825
libvirt_net_rpc_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

2826 2827 2828 2829
libvirt_net_rpc_server_la_SOURCES = \
	rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
	rpc/virnetserverservice.h rpc/virnetserverservice.c \
	rpc/virnetserverclient.h rpc/virnetserverclient.c \
2830
	rpc/virnetservermdns.h rpc/virnetservermdns.c \
2831
	rpc/virnetdaemon.h rpc/virnetdaemon.c \
2832 2833
	rpc/virnetserver.h rpc/virnetserver.c
libvirt_net_rpc_server_la_CFLAGS = \
2834
			$(AVAHI_CFLAGS) \
2835
			$(DBUS_CFLAGS) \
E
Eric Blake 已提交
2836
			$(XDR_CFLAGS) \
2837
			$(AM_CFLAGS)
2838 2839
libvirt_net_rpc_server_la_LDFLAGS = \
			$(AM_LDFLAGS) \
2840
			$(AVAHI_LIBS) \
2841
			$(DBUS_LIBS) \
2842
			$(NULL)
2843 2844 2845
libvirt_net_rpc_server_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

2846 2847 2848 2849 2850
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 已提交
2851 2852
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
2853
libvirt_net_rpc_client_la_LDFLAGS = $(AM_LDFLAGS)
2854 2855
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
2856

2857 2858
libexec_PROGRAMS =

2859
if WITH_LIBVIRTD
2860 2861
libexec_PROGRAMS += libvirt_iohelper
libvirt_iohelper_SOURCES = $(UTIL_IO_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
2862 2863 2864 2865
libvirt_iohelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2866 2867 2868
libvirt_iohelper_LDADD =		\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
2869 2870
if WITH_DTRACE_PROBES
libvirt_iohelper_LDADD += libvirt_probes.lo
2871
endif WITH_DTRACE_PROBES
2872

D
Daniel P. Berrange 已提交
2873 2874 2875 2876
libvirt_iohelper_CFLAGS = \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2877 2878 2879 2880

if WITH_NETWORK
libexec_PROGRAMS += libvirt_leaseshelper
libvirt_leaseshelper_SOURCES = $(NETWORK_LEASES_HELPER_SOURCES)
2881 2882 2883 2884
libvirt_leaseshelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899
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

2900
endif WITH_LIBVIRTD
2901

2902
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
2903
if WITH_LIBVIRTD
2904
libexec_PROGRAMS += libvirt_parthelper
2905

2906
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
D
Daniel P. Berrange 已提交
2907 2908 2909 2910
libvirt_parthelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2911 2912 2913 2914
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
2915 2916
if WITH_DTRACE_PROBES
libvirt_parthelper_LDADD += libvirt_probes.lo
2917
endif WITH_DTRACE_PROBES
2918

D
Daniel P. Berrange 已提交
2919 2920 2921 2922 2923
libvirt_parthelper_CFLAGS = \
		$(LIBPARTED_CFLAGS) \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2924 2925
endif WITH_LIBVIRTD
endif WITH_STORAGE_DISK
2926 2927
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

2928

2929
if WITH_SANLOCK
2930 2931 2932
libexec_PROGRAMS += libvirt_sanlock_helper

libvirt_sanlock_helper_SOURCES = $(LOCK_DRIVER_SANLOCK_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
2933
libvirt_sanlock_helper_CFLAGS = \
2934
		-I$(srcdir)/conf \
D
Daniel P. Berrange 已提交
2935 2936 2937 2938 2939 2940 2941
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
libvirt_sanlock_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2942
libvirt_sanlock_helper_LDADD = libvirt.la
2943
endif WITH_SANLOCK
2944

2945 2946 2947 2948 2949 2950
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
O
Osier Yang 已提交
2951 2952
		$(NODE_INFO_SOURCES)				\
		$(DATATYPES_SOURCES)
D
Daniel P. Berrange 已提交
2953 2954 2955 2956
libvirt_lxc_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2957
libvirt_lxc_LDADD =			\
G
Gao feng 已提交
2958
		$(FUSE_LIBS) \
2959 2960
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
2961
		libvirt_security_manager.la \
2962 2963
		libvirt_conf.la \
		libvirt_util.la \
2964
		../gnulib/lib/libgnu.la
2965
if WITH_DTRACE_PROBES
2966
libvirt_lxc_LDADD += libvirt_probes.lo
2967
endif WITH_DTRACE_PROBES
2968
libvirt_lxc_LDADD += $(SECDRIVER_LIBS)
2969
libvirt_lxc_CFLAGS =				\
2970
		-I$(srcdir)/conf	\
2971
		$(AM_CFLAGS)                    \
D
Daniel P. Berrange 已提交
2972
		$(PIE_CFLAGS)			\
G
Gao feng 已提交
2973
		$(LIBNL_CFLAGS)			\
D
Daniel P. Berrange 已提交
2974
		$(FUSE_CFLAGS)			\
2975
		$(DBUS_CFLAGS)			\
P
Pavel Fedin 已提交
2976
		$(XDR_CFLAGS)			\
D
Daniel P. Berrange 已提交
2977
		$(NULL)
2978
if WITH_BLKID
2979 2980
libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
libvirt_lxc_LDADD += $(BLKID_LIBS)
2981
endif WITH_BLKID
J
Jim Fehlig 已提交
2982
libvirt_lxc_CFLAGS += $(SECDRIVER_CFLAGS)
2983 2984
endif WITH_LIBVIRTD
endif WITH_LXC
2985 2986
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
2987 2988 2989 2990 2991 2992
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 已提交
2993 2994 2995 2996
virt_aa_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
J
Jamie Strandboge 已提交
2997
virt_aa_helper_LDADD =						\
2998
		libvirt.la					\
C
Chris Lalancette 已提交
2999 3000
		libvirt_conf.la					\
		libvirt_util.la					\
3001
		libvirt_driver_storage_impl.la			\
C
Chris Lalancette 已提交
3002
		../gnulib/lib/libgnu.la
3003
if WITH_DTRACE_PROBES
3004
virt_aa_helper_LDADD += libvirt_probes.lo
3005
endif WITH_DTRACE_PROBES
J
Jamie Strandboge 已提交
3006
virt_aa_helper_CFLAGS =						\
3007 3008 3009 3010
		-I$(srcdir)/conf				\
		-I$(srcdir)/security				\
		$(AM_CFLAGS) 					\
		$(PIE_CFLAGS) 					\
D
Daniel P. Berrange 已提交
3011
		$(NULL)
3012 3013
endif WITH_LIBVIRTD
endif WITH_SECDRIVER_APPARMOR
J
Jamie Strandboge 已提交
3014 3015
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

3016 3017 3018 3019 3020
noinst_LTLIBRARIES += libvirt-nss.la

libvirt_nss_la_SOURCES =		\
		util/viralloc.c			\
		util/viralloc.h			\
K
Kai Kang 已提交
3021 3022
		util/viratomic.c		\
		util/viratomic.h		\
3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074
		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)


3075
install-data-local: install-init install-systemd
3076 3077
if WITH_LIBVIRTD
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd"
3078
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files"
3079
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lockd"
3080
endif WITH_LIBVIRTD
3081 3082
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
3083
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems"
3084
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
3085
if WITH_SANLOCK
3086
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock"
3087
endif WITH_SANLOCK
3088
if WITH_QEMU
3089
	$(MKDIR_P) -m 0751 "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu"
3090
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/qemu"
3091
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
3092
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
3093
endif WITH_QEMU
3094 3095 3096
if WITH_LXC
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
3097
endif WITH_LXC
J
Jim Fehlig 已提交
3098 3099 3100
if WITH_LIBXL
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/libxl"
J
Jim Fehlig 已提交
3101
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/libxl"
3102
endif WITH_LIBXL
3103 3104 3105
if WITH_UML
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/uml"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/uml"
3106
endif WITH_UML
3107 3108
if WITH_XEN
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/xen"
3109
endif WITH_XEN
3110 3111
if WITH_NETWORK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/network"
3112
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
3113
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
3114
	$(MKDIR_P) "$(DESTDIR)$(confdir)/qemu/networks/autostart"
3115
	$(INSTALL_DATA) $(srcdir)/network/default.xml \
3116
	  $(DESTDIR)$(confdir)/qemu/networks/default.xml
3117
	test -z "$(UUID)" || \
3118 3119 3120
	  { sed -e "s,</name>,</name>;  <uuid>$(UUID)</uuid>," \
	      $(DESTDIR)$(confdir)/qemu/networks/default.xml | \
	      tr ";" "\n" > \
3121 3122 3123 3124
	      $(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 已提交
3125
	( cd $(DESTDIR)$(confdir)/qemu/networks/autostart && \
3126 3127
	  rm -f default.xml && \
	  $(LN_S) ../default.xml default.xml )
3128
endif WITH_NETWORK
3129

3130
uninstall-local:: uninstall-init uninstall-systemd
3131
if WITH_LIBVIRTD
3132
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files" ||:
3133 3134
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lockd" ||:
3135
endif WITH_LIBVIRTD
3136 3137
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
3138
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
3139
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
3140
if WITH_SANLOCK
3141
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
3142
endif WITH_SANLOCK
3143 3144 3145 3146 3147
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" ||:
3148
endif WITH_QEMU
3149 3150 3151
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
3152
endif WITH_LXC
J
Jim Fehlig 已提交
3153 3154 3155
if WITH_LIBXL
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/libxl" ||:
J
Jim Fehlig 已提交
3156
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/libxl" ||:
3157
endif WITH_LIBXL
3158 3159 3160
if WITH_UML
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/uml" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/uml" ||:
3161
endif WITH_UML
3162 3163
if WITH_XEN
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/xen" ||:
3164
endif WITH_XEN
3165
if WITH_NETWORK
3166 3167 3168 3169
	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" || :
3170 3171
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/network" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/network" ||:
3172
endif WITH_NETWORK
3173
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
R
Richard W.M. Jones 已提交
3174

3175 3176
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
3177
MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED)