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

3
## Copyright (C) 2005-2013 Red Hat, Inc.
4 5
## See COPYING.LIB for the License of this software

6 7
# No libraries with the exception of LIBXML should be listed
# here. List them against the individual XXX_la_CFLAGS targets
8
# that actually use them. Also keep GETTEXT_CPPFLAGS at the end.
9 10
INCLUDES =	-I../gnulib/lib					\
		-I$(top_srcdir)/gnulib/lib			\
11
		-I../include					\
12 13
		-I$(top_srcdir)/include				\
		-I$(top_srcdir)/src/util			\
14 15
		-DIN_LIBVIRT					\
		$(GETTEXT_CPPFLAGS)
E
Eric Blake 已提交
16 17

AM_CFLAGS =	$(DRIVER_MODULE_CFLAGS)				\
18 19
		$(LIBXML_CFLAGS)				\
		$(WARN_CFLAGS)					\
E
Eric Blake 已提交
20 21 22
		$(LOCK_CHECKING_CFLAGS)				\
		$(WIN32_EXTRA_CFLAGS)				\
		$(COVERAGE_CFLAGS)
23 24
AM_LDFLAGS = $(COVERAGE_LDFLAGS)

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

27
BUILT_SOURCES =
28 29 30
CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES =
31
nodist_conf_DATA =
32

E
Eric Blake 已提交
33 34
THREAD_LIBS = $(LIB_PTHREAD) $(LTLIBMULTITHREAD)

35 36 37
if WITH_NETWORK
UUID=$(shell uuidgen 2>/dev/null)
endif
38

C
Chris Lalancette 已提交
39
lib_LTLIBRARIES = libvirt.la libvirt-qemu.la
40

41
moddir = $(libdir)/libvirt/connection-driver
42 43
mod_LTLIBRARIES =

A
Amy Griffis 已提交
44
confdir = $(sysconfdir)/libvirt
45
conf_DATA = libvirt.conf
46

47 48 49 50 51 52
augeasdir = $(datadir)/augeas/lenses
augeas_DATA =

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

53 54
# These files are not related to driver APIs. Simply generic
# helper APIs for various purposes
55
UTIL_SOURCES =							\
56
		util/viralloc.c util/viralloc.h			\
57
		util/virarch.h util/virarch.c			\
58
		util/viratomic.h util/viratomic.c		\
59
		util/viraudit.c util/viraudit.h			\
60
		util/virauth.c util/virauth.h			\
61
		util/virauthconfig.c util/virauthconfig.h	\
62
		util/virbitmap.c util/virbitmap.h		\
63
		util/virbuffer.c util/virbuffer.h		\
64
		util/vircgroup.c util/vircgroup.h		\
65
		util/vircommand.c util/vircommand.h		\
66
		util/virconf.c util/virconf.h			\
67 68
		util/virdbus.c util/virdbus.h			\
		util/virdnsmasq.c util/virdnsmasq.h		\
69
		util/virebtables.c util/virebtables.h		\
70
		util/virerror.c util/virerror.h			\
71
		util/virevent.c util/virevent.h			\
72
		util/vireventpoll.c util/vireventpoll.h		\
E
Eric Blake 已提交
73
		util/virfile.c util/virfile.h			\
74 75
		util/virhash.c util/virhash.h			\
		util/virhashcode.c util/virhashcode.h		\
76
		util/virhook.c util/virhook.h			\
77
		util/virinitctl.c util/virinitctl.h		\
78
		util/viriptables.c util/viriptables.h		\
79
		util/virjson.c util/virjson.h			\
L
Lai Jiangshan 已提交
80
		util/virkeycode.c util/virkeycode.h		\
81
		util/virkeyfile.c util/virkeyfile.h		\
82
		util/virkeymaps.h				\
83
		util/virlockspace.c util/virlockspace.h		\
84
		util/virlog.c util/virlog.h			\
85
		util/virmacaddr.h util/virmacaddr.c		\
86
		util/virnetdev.h util/virnetdev.c		\
87
		util/virnetdevbandwidth.h util/virnetdevbandwidth.c \
88
		util/virnetdevbridge.h util/virnetdevbridge.c	\
89
		util/virnetdevmacvlan.c util/virnetdevmacvlan.h	\
A
Ansis Atteka 已提交
90
		util/virnetdevopenvswitch.h util/virnetdevopenvswitch.c \
91
		util/virnetdevtap.h util/virnetdevtap.c		\
92 93
		util/virnetdevveth.h util/virnetdevveth.c	\
		util/virnetdevvlan.h util/virnetdevvlan.c	\
94
		util/virnetdevvportprofile.h util/virnetdevvportprofile.c \
95
		util/virnetlink.c util/virnetlink.h		\
96 97 98 99 100
		util/virnodesuspend.c util/virnodesuspend.h	\
		util/virobject.c util/virobject.h		\
		util/virpci.c util/virpci.h			\
		util/virpidfile.c util/virpidfile.h		\
		util/virprocess.c util/virprocess.h		\
101
		util/virrandom.h util/virrandom.c		\
102 103 104 105 106 107 108 109 110 111 112 113
		util/virsexpr.c util/virsexpr.h			\
		util/virsocketaddr.h util/virsocketaddr.c	\
		util/virstatslinux.c util/virstatslinux.h	\
		util/virstoragefile.c util/virstoragefile.h	\
		util/virstring.h util/virstring.c		\
		util/virsysinfo.c util/virsysinfo.h		\
		util/virthread.c util/virthread.h		\
		util/virthreadpthread.h				\
		util/virthreadwin32.h				\
		util/virthreadpool.c util/virthreadpool.h	\
		util/virtime.h util/virtime.c			\
		util/virtypedparam.c util/virtypedparam.h	\
114
		util/virusb.c util/virusb.h			\
115 116
		util/viruri.h util/viruri.c			\
		util/virutil.c util/virutil.h			\
117
		util/viruuid.c util/viruuid.h			\
118
		util/virxml.c util/virxml.h			\
119
		$(NULL)
L
Lai Jiangshan 已提交
120

121

L
Lai Jiangshan 已提交
122 123 124
EXTRA_DIST += $(srcdir)/util/virkeymaps.h $(srcdir)/util/keymaps.csv \
		$(srcdir)/util/virkeycode-mapgen.py

125 126
BUILT_SOURCES += $(srcdir)/util/virkeymaps.h

L
Lai Jiangshan 已提交
127 128
$(srcdir)/util/virkeymaps.h: $(srcdir)/util/keymaps.csv	\
		$(srcdir)/util/virkeycode-mapgen.py
129
	$(AM_V_GEN)$(PYTHON) $(srcdir)/util/virkeycode-mapgen.py <$(srcdir)/util/keymaps.csv >$@
L
Lai Jiangshan 已提交
130

131
EXTRA_DIST += util/virthreadpthread.c util/virthreadwin32.c
132

133
# Internal generic driver infrastructure
134
NODE_INFO_SOURCES = nodeinfo.h nodeinfo.c
O
Osier Yang 已提交
135 136 137 138 139 140 141 142 143 144 145
DATATYPES_SOURCES = datatypes.h datatypes.c
DRIVER_SOURCES =							\
		driver.c driver.h					\
		internal.h						\
		$(DATATYPES_SOURCES)					\
		fdstream.c fdstream.h					\
		$(NODE_INFO_SOURCES)					\
		libvirt.c libvirt_internal.h				\
		locking/lock_manager.c locking/lock_manager.h		\
		locking/lock_driver.h					\
		locking/lock_driver_nop.h locking/lock_driver_nop.c	\
146
		locking/domain_lock.h locking/domain_lock.c
147

148 149 150
LOCK_DRIVER_SANLOCK_SOURCES = \
		locking/lock_driver_sanlock.c

151 152
LOCK_DRIVER_SANLOCK_HELPER_SOURCES = \
		locking/sanlock_helper.c
153

154
LOCK_PROTOCOL_GENERATED = \
155 156
		$(srcdir)/locking/lock_protocol.h \
		$(srcdir)/locking/lock_protocol.c \
157 158
		$(NULL)

159 160 161
LOCK_PROTOCOL = $(srcdir)/locking/lock_protocol.x
EXTRA_DIST += $(LOCK_PROTOCOL) \
	$(LOCK_PROTOCOL_GENERATED)
162 163 164
BUILT_SOURCES += $(LOCK_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(LOCK_PROTOCOL_GENERATED)

165
LOCK_DAEMON_GENERATED = \
166
		$(srcdir)/locking/lock_daemon_dispatch_stubs.h
167 168 169
		$(NULL)

BUILT_SOURCES += $(LOCK_DAEMON_GENERATED)
170
EXTRA_DIST += $(LOCK_DAEMON_GENERATED)
171 172
MAINTAINERCLEANFILES += $(LOCK_DAEMON_GENERATED)

173 174 175 176
LOCK_DRIVER_LOCKD_SOURCES = \
		locking/lock_driver_lockd.c \
		$(NULL)

177 178 179 180 181
LOCK_DAEMON_SOURCES = \
		locking/lock_daemon.h \
		locking/lock_daemon.c \
		locking/lock_daemon_config.h \
		locking/lock_daemon_config.c \
182 183
		locking/lock_daemon_dispatch.c \
		locking/lock_daemon_dispatch.h \
184 185
		$(NULL)

186 187 188 189 190
$(srcdir)/locking/lock_daemon_dispatch_stubs.h: $(LOCK_PROTOCOL) \
		$(srcdir)/rpc/gendispatch.pl Makefile.am
	$(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl \
	    -b virLockSpaceProtocol VIR_LOCK_SPACE_PROTOCOL \
	    $(LOCK_PROTOCOL) > $@
191 192


193 194
NETDEV_CONF_SOURCES =						\
		conf/netdev_bandwidth_conf.h conf/netdev_bandwidth_conf.c \
195 196
		conf/netdev_vport_profile_conf.h conf/netdev_vport_profile_conf.c \
		conf/netdev_vlan_conf.h conf/netdev_vlan_conf.c
197

198
# XML configuration format handling sources
199 200
# Domain driver generic impl APIs
DOMAIN_CONF_SOURCES =						\
201
		conf/capabilities.c conf/capabilities.h		\
202
		conf/domain_conf.c conf/domain_conf.h		\
203
		conf/domain_audit.c conf/domain_audit.h		\
204 205
		conf/domain_nwfilter.c conf/domain_nwfilter.h	\
		conf/snapshot_conf.c conf/snapshot_conf.h
206 207 208

DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
209 210

# Network driver generic impl APIs
211
NETWORK_CONF_SOURCES =						\
212
		conf/network_conf.c conf/network_conf.h
213

214 215
# Network filter driver generic impl APIs
NWFILTER_PARAM_CONF_SOURCES =					\
216
		conf/nwfilter_params.c conf/nwfilter_params.h	\
217 218
		conf/nwfilter_ipaddrmap.c			\
		conf/nwfilter_ipaddrmap.h			\
219
		conf/nwfilter_conf.h
220

221
NWFILTER_CONF_SOURCES =						\
222 223 224
		$(NWFILTER_PARAM_CONF_SOURCES)			\
		conf/nwfilter_conf.c conf/nwfilter_conf.h

225
# Storage driver generic impl APIs
226 227
STORAGE_CONF_SOURCES =                                         \
		conf/storage_conf.h conf/storage_conf.c
228

229
# Interface driver generic impl APIs
230 231
INTERFACE_CONF_SOURCES =                                       \
		conf/interface_conf.c conf/interface_conf.h
232

233
# Secret driver generic impl APIs
234 235 236 237 238 239 240 241 242 243
SECRET_CONF_SOURCES =                                          \
		conf/secret_conf.h conf/secret_conf.c

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

ENCRYPTION_CONF_SOURCES =					\
		conf/storage_encryption_conf.c conf/storage_encryption_conf.h

244 245
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h
246

247 248
# Safe character device handling helper APIs
CHRDEV_CONF_SOURCES =						\
249
		conf/virchrdev.c conf/virchrdev.h
250

251 252 253 254
# Device Helper APIs
DEVICE_CONF_SOURCES =                                           \
		conf/device_conf.c conf/device_conf.h

255
CONF_SOURCES =							\
256
		$(NETDEV_CONF_SOURCES)				\
257 258 259
		$(DOMAIN_CONF_SOURCES)				\
		$(DOMAIN_EVENT_SOURCES)				\
		$(NETWORK_CONF_SOURCES)				\
260
		$(NWFILTER_CONF_SOURCES)			\
261 262 263 264
		$(NODE_DEVICE_CONF_SOURCES)			\
		$(STORAGE_CONF_SOURCES)				\
		$(ENCRYPTION_CONF_SOURCES)			\
		$(INTERFACE_CONF_SOURCES)			\
265
		$(SECRET_CONF_SOURCES)				\
266
		$(CPU_CONF_SOURCES)				\
267
		$(CHRDEV_CONF_SOURCES)				\
268
		$(DEVICE_CONF_SOURCES)
269

270
# The remote RPC driver, covering domains, storage, networks, etc
271
REMOTE_DRIVER_GENERATED = \
E
Eric Blake 已提交
272 273 274 275 276 277 278 279 280
		$(srcdir)/remote/remote_protocol.c		\
		$(srcdir)/remote/remote_protocol.h		\
		$(srcdir)/remote/remote_client_bodies.h		\
		$(srcdir)/remote/qemu_protocol.c		\
		$(srcdir)/remote/qemu_protocol.h		\
		$(srcdir)/remote/qemu_client_bodies.h

REMOTE_PROTOCOL = $(srcdir)/remote/remote_protocol.x
QEMU_PROTOCOL = $(srcdir)/remote/qemu_protocol.x
281
REMOTE_DRIVER_PROTOCOL = $(REMOTE_PROTOCOL) $(QEMU_PROTOCOL)
282

283 284
$(srcdir)/remote/remote_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
		$(REMOTE_PROTOCOL)
285
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl \
286
	  -k remote REMOTE $(REMOTE_PROTOCOL) > $@
287

288 289
$(srcdir)/remote/qemu_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
		$(QEMU_PROTOCOL)
290
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl \
291
	  -k qemu QEMU $(QEMU_PROTOCOL) > $@
292 293 294 295 296

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

298
EXTRA_DIST +=  $(REMOTE_DRIVER_PROTOCOL) \
299
		$(REMOTE_DRIVER_GENERATED)
300

301 302 303 304 305 306 307 308 309 310
# 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
311 312 313 314

# With pdwtags 1.8, --verbose output includes separators like these:
# /* 93 */
# /* <0> (null):0 */
315 316
# with the second line omitted for intrinsic types.
# Whereas with pdwtags 1.3, they look like this:
317
# /* <2d2> /usr/include/libio.h:180 */
318 319
# The alternation of the following regexps matches both cases.
r1 = /\* \d+ \*/
320
r2 = /\* <[[:xdigit:]]+> \S+:\d+ \*/
321
struct_prefix = (remote_|qemu_|virNet|keepalive_)
322

323
PDWTAGS = \
324
	$(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then		\
325 326 327 328 329
	  pdwtags --verbose $(<:.lo=.$(OBJEXT))	> $(@F)-t1 2> $(@F)-t2;	\
	  if test -s $(@F)-t2; then					\
	    rm -rf $(@F)-t?;						\
	    echo 'WARNING: pdwtags appears broken; skipping the $@ test' >&2;\
	  else								\
330
	    $(PERL) -0777 -n						\
331
		-e 'foreach my $$p (split m!\n*(?:$(r1)|$(r2))\n!) {'	\
332 333
		-e '  if ($$p =~ /^(struct|enum) $(struct_prefix)/ ||'	\
		-e '      $$p =~ /^enum {/) {'				\
334 335 336
		-e '    $$p =~ s!\t*/\*.*?\*/!!sg;'			\
		-e '    $$p =~ s!\s+\n!\n!sg;'				\
		-e '    $$p =~ s!\s+$$!!;'				\
337
		-e '    $$p =~ s!\t!        !g;'			\
338 339 340 341
		-e '    print "$$p\n";'					\
		-e '    $$n++;'						\
		-e '  }'						\
		-e '}'							\
342 343 344
		-e 'BEGIN {'						\
		-e '  print "/* -*- c -*- */\n";'			\
		-e '}'							\
345
		-e 'END {'						\
346
		-e '  if ($$n < 1) {'					\
347 348 349 350 351 352
		-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 '}'							\
353 354
		< $(@F)-t1 > $(@F)-t3;					\
	    case $$? in 8) rm -f $(@F)-t?; exit 0;; 0) ;; *) exit 1;; esac;\
355
	    diff -u $(@)s $(@F)-t3; st=$$?; rm -f $(@F)-t?; exit $$st;	\
356
	  fi;								\
357
	else								\
358 359
	  echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2;	\
	  echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
360
	fi
361

362
# .libs/libvirt.so is built by libtool as a side-effect of the Makefile
363 364
# rule for libvirt.la.  However, checking symbols relies on Linux ELF layout
if WITH_LINUX
365 366 367
check-symfile: libvirt.syms libvirt.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \
	  .libs/libvirt.so
368 369 370
else
check-symfile:
endif
371 372
check-symsorting:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl $(USED_SYM_FILES)
J
Jiri Denemark 已提交
373
EXTRA_DIST += check-symfile.pl check-symsorting.pl
374

375 376 377
PROTOCOL_STRUCTS = \
	$(srcdir)/remote_protocol-structs \
	$(srcdir)/qemu_protocol-structs \
J
Jiri Denemark 已提交
378 379
	$(srcdir)/virnetprotocol-structs \
	$(srcdir)/virkeepaliveprotocol-structs
380
if WITH_REMOTE
381 382
check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)

383 384
# 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.
385 386
$(srcdir)/remote_protocol-struct $(srcdir)/qemu_protocol-struct: \
		$(srcdir)/%-struct: libvirt_driver_remote_la-%.lo
387
	$(PDWTAGS)
388 389
$(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \
		$(srcdir)/%-struct: libvirt_net_rpc_la-%.lo
390
	$(PDWTAGS)
391
else !WITH_REMOTE
392 393 394
# The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be
# re-generated when configured --without-remote.
check-protocol:
395
endif
J
Jiri Denemark 已提交
396
EXTRA_DIST += $(PROTOCOL_STRUCTS)
397
check-local: check-protocol check-symfile check-symsorting
398
.PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
399

400 401
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES =						\
402
		test/test_driver.c test/test_driver.h
403 404 405

# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
406 407 408 409 410 411
		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
412
if WITH_XEN_INOTIFY
413
XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
414
endif
415

416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453
LXC_PROTOCOL_GENERATED = \
	$(srcdir)/lxc/lxc_protocol.h \
	$(srcdir)/lxc/lxc_protocol.c \
	$(NULL)

LXC_MONITOR_GENERATED = \
	$(srcdir)/lxc/lxc_monitor_dispatch.h \
	$(NULL)

LXC_CONTROLLER_GENERATED = \
	$(srcdir)/lxc/lxc_controller_dispatch.h \
	$(NULL)

LXC_GENERATED = \
	$(LXC_PROTOCOL_GENERATED) \
	$(LXC_MONITOR_GENERATED) \
	$(LXC_CONTROLLER_GENERATED) \
	$(NULL)

LXC_PROTOCOL = $(srcdir)/lxc/lxc_protocol.x

$(srcdir)/lxc/lxc_monitor_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
		$(LXC_PROTOCOL)
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl \
	  -k virLXCProtocol VIR_LXC_PROTOCOL $(LXC_PROTOCOL) > $@

$(srcdir)/lxc/lxc_controller_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
		$(REMOTE_PROTOCOL)
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl \
	  -b virLXCProtocol VIR_LXC_PROTOCOL $(LXC_PROTOCOL) > $@

EXTRA_DIST += \
	$(LXC_PROTOCOL) \
	$(LXC_GENERATED) \
	$(NULL)

BUILT_SOURCES += $(LXC_GENERATED)

454
LXC_DRIVER_SOURCES =						\
455 456
		$(LXC_PROTOCOL_GENERATED)			\
		$(LXC_MONITOR_GENERATED)			\
457 458
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
459
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
460
		lxc/lxc_domain.c lxc/lxc_domain.h		\
461
		lxc/lxc_hostdev.c lxc/lxc_hostdev.h		\
462
		lxc/lxc_monitor.c lxc/lxc_monitor.h		\
463
		lxc/lxc_process.c lxc/lxc_process.h		\
G
Gao feng 已提交
464
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
465
		lxc/lxc_driver.c lxc/lxc_driver.h
466

467
LXC_CONTROLLER_SOURCES =					\
468 469
		$(LXC_PROTOCOL_GENERATED)			\
		$(LXC_CONTROLLER_GENERATED)			\
470 471
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
472
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
G
Gao feng 已提交
473
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
474
		lxc/lxc_controller.c
475

J
Jamie Strandboge 已提交
476
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES =			\
E
Eric Blake 已提交
477
		$(DATATYPES_SOURCES)				\
J
Jamie Strandboge 已提交
478 479
		security/virt-aa-helper.c

480 481 482
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

483
OPENVZ_DRIVER_SOURCES =						\
484
		openvz/openvz_conf.c openvz/openvz_conf.h	\
485 486
		openvz/openvz_driver.c openvz/openvz_driver.h   \
		openvz/openvz_util.c openvz/openvz_util.h
487

E
Eric Blake 已提交
488
VMWARE_DRIVER_SOURCES =						\
489
		vmware/vmware_driver.c vmware/vmware_driver.h	\
490 491
		vmware/vmware_conf.c vmware/vmware_conf.h

492
VBOX_DRIVER_SOURCES =						\
E
Eric Blake 已提交
493 494 495 496 497 498
	vbox/vbox_glue.c vbox/vbox_glue.h			\
	vbox/vbox_driver.c vbox/vbox_driver.h			\
	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			\
499 500
	vbox/vbox_V4_0.c vbox/vbox_CAPI_v4_0.h			\
	vbox/vbox_V4_1.c vbox/vbox_CAPI_v4_1.h
501

E
Eric Blake 已提交
502
VBOX_DRIVER_EXTRA_DIST =					\
503 504 505
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
506

O
Osier Yang 已提交
507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524
QEMU_DRIVER_SOURCES =							\
		qemu/qemu_agent.c qemu/qemu_agent.h			\
		qemu/qemu_capabilities.c qemu/qemu_capabilities.h	\
		qemu/qemu_command.c qemu/qemu_command.h			\
		qemu/qemu_domain.c qemu/qemu_domain.h			\
		qemu/qemu_cgroup.c qemu/qemu_cgroup.h			\
		qemu/qemu_hostdev.c qemu/qemu_hostdev.h			\
		qemu/qemu_hotplug.c qemu/qemu_hotplug.h			\
		qemu/qemu_conf.c qemu/qemu_conf.h			\
		qemu/qemu_process.c qemu/qemu_process.h			\
		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				\
		qemu/qemu_driver.c qemu/qemu_driver.h			\
		qemu/qemu_bridge_filter.c				\
525
		qemu/qemu_bridge_filter.h
R
Richard W.M. Jones 已提交
526

O
Osier Yang 已提交
527
XENAPI_DRIVER_SOURCES =						\
528
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
O
Osier Yang 已提交
529
		xenapi/xenapi_driver_private.h			\
530 531
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

J
Jim Fehlig 已提交
532 533 534 535
LIBXL_DRIVER_SOURCES =						\
		libxl/libxl_conf.c libxl/libxl_conf.h		\
		libxl/libxl_driver.c libxl/libxl_driver.h

536
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
537 538
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
539

O
Osier Yang 已提交
540 541 542 543 544 545
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	\
546
		esx/esx_storage_backend_vmfs.c esx/esx_storage_backend_vmfs.h	\
547
		esx/esx_storage_backend_iscsi.c esx/esx_storage_backend_iscsi.h	\
O
Osier Yang 已提交
548
		esx/esx_device_monitor.c esx/esx_device_monitor.h	\
549
		esx/esx_secret_driver.c esx/esx_secret_driver.h		\
O
Osier Yang 已提交
550 551 552 553
		esx/esx_nwfilter_driver.c esx/esx_nwfilter_driver.h	\
		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		\
554
		esx/esx_vi_types.c esx/esx_vi_types.h
555

556
ESX_DRIVER_GENERATED =							\
557 558
		esx/esx_vi_methods.generated.c				\
		esx/esx_vi_methods.generated.h				\
559
		esx/esx_vi_methods.generated.macro			\
560 561 562 563 564
		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			\
565 566 567
		esx/esx_vi_types.generated.typefromstring		\
		esx/esx_vi.generated.c					\
		esx/esx_vi.generated.h
568

O
Osier Yang 已提交
569
ESX_DRIVER_EXTRA_DIST =							\
570 571 572 573 574
		esx/README						\
		esx/esx_vi_generator.input				\
		esx/esx_vi_generator.py					\
		$(ESX_DRIVER_GENERATED)

O
Osier Yang 已提交
575
HYPERV_DRIVER_SOURCES =									\
M
Matthias Bolte 已提交
576 577 578 579 580 581 582
		hyperv/hyperv_private.h							\
		hyperv/hyperv_driver.c hyperv/hyperv_driver.h				\
		hyperv/hyperv_interface_driver.c hyperv/hyperv_interface_driver.h	\
		hyperv/hyperv_network_driver.c hyperv/hyperv_network_driver.h		\
		hyperv/hyperv_storage_driver.c hyperv/hyperv_storage_driver.h		\
		hyperv/hyperv_device_monitor.c hyperv/hyperv_device_monitor.h		\
		hyperv/hyperv_secret_driver.c hyperv/hyperv_secret_driver.h		\
583
		hyperv/hyperv_nwfilter_driver.c hyperv/hyperv_nwfilter_driver.h		\
584
		hyperv/hyperv_util.c hyperv/hyperv_util.h				\
585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600
		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)

D
Dmitry Guryanov 已提交
601 602
PARALLELS_DRIVER_SOURCES =					\
		parallels/parallels_driver.h			\
603
		parallels/parallels_driver.c			\
604 605
		parallels/parallels_utils.c			\
		parallels/parallels_utils.h			\
D
Dmitry Guryanov 已提交
606 607
		parallels/parallels_storage.c		\
		parallels/parallels_network.c
D
Dmitry Guryanov 已提交
608

609
NETWORK_DRIVER_SOURCES =					\
610
		network/bridge_driver.h network/bridge_driver.c
611

612 613 614 615
INTERFACE_DRIVER_SOURCES =

if WITH_INTERFACE
INTERFACE_DRIVER_SOURCES +=					\
616 617
		interface/interface_driver.h        \
		interface/interface_driver.c
618 619 620 621

if WITH_NETCF
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_netcf.c
622
endif
623 624 625 626 627
if HAVE_UDEV
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_udev.c
endif
endif
628

629
SECRET_DRIVER_SOURCES =						\
630
		secret/secret_driver.h secret/secret_driver.c
631

632
# Storage backend specific impls
O
Osier Yang 已提交
633 634
STORAGE_DRIVER_SOURCES =						\
		storage/storage_driver.h storage/storage_driver.c	\
635
		storage/storage_backend.h storage/storage_backend.c
636 637

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

640
STORAGE_DRIVER_LVM_SOURCES =					\
O
Osier Yang 已提交
641
		storage/storage_backend_logical.h		\
642
		storage/storage_backend_logical.c
643 644

STORAGE_DRIVER_ISCSI_SOURCES =					\
645
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
646

647
STORAGE_DRIVER_SCSI_SOURCES =					\
648
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
649

D
Dave Allan 已提交
650
STORAGE_DRIVER_MPATH_SOURCES =					\
651
		storage/storage_backend_mpath.h storage/storage_backend_mpath.c
D
Dave Allan 已提交
652

653
STORAGE_DRIVER_DISK_SOURCES =					\
654
		storage/storage_backend_disk.h storage/storage_backend_disk.c
655

656 657 658
STORAGE_DRIVER_RBD_SOURCES =					\
		storage/storage_backend_rbd.h storage/storage_backend_rbd.c

659 660 661
STORAGE_DRIVER_SHEEPDOG_SOURCES =				\
		storage/storage_backend_sheepdog.h storage/storage_backend_sheepdog.c

662
STORAGE_HELPER_DISK_SOURCES =					\
663
		storage/parthelper.c
664

665 666 667
UTIL_IO_HELPER_SOURCES =					\
		util/iohelper.c

668
# Network filters
O
Osier Yang 已提交
669
NWFILTER_DRIVER_SOURCES =						\
670
		nwfilter/nwfilter_driver.h nwfilter/nwfilter_driver.c	\
671 672
		nwfilter/nwfilter_gentech_driver.c			\
		nwfilter/nwfilter_gentech_driver.h			\
S
Stefan Berger 已提交
673 674
		nwfilter/nwfilter_dhcpsnoop.c				\
		nwfilter/nwfilter_dhcpsnoop.h				\
675
		nwfilter/nwfilter_ebiptables_driver.c			\
676 677 678
		nwfilter/nwfilter_ebiptables_driver.h			\
		nwfilter/nwfilter_learnipaddr.c				\
		nwfilter/nwfilter_learnipaddr.h
679

680

681
# Security framework and drivers for various models
O
Osier Yang 已提交
682 683 684 685 686
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		\
687
		security/security_manager.h security/security_manager.c
688

689
SECURITY_DRIVER_SELINUX_SOURCES =				\
690
		security/security_selinux.h security/security_selinux.c
691

J
Jamie Strandboge 已提交
692 693 694
SECURITY_DRIVER_APPARMOR_SOURCES =				\
		security/security_apparmor.h security/security_apparmor.c

695

696
NODE_DEVICE_DRIVER_SOURCES =					\
O
Osier Yang 已提交
697 698
		node_device/node_device_driver.c		\
		node_device/node_device_driver.h		\
699
		node_device/node_device_linux_sysfs.c
700 701

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
702
		node_device/node_device_hal.c			\
703
		node_device/node_device_hal.h
704

705
NODE_DEVICE_DRIVER_UDEV_SOURCES =				\
D
Daniel Veillard 已提交
706 707
		node_device/node_device_udev.c			\
		node_device/node_device_udev.h
708

J
Jiri Denemark 已提交
709 710 711 712
CPU_SOURCES =							\
		cpu/cpu.h cpu/cpu.c				\
		cpu/cpu_generic.h cpu/cpu_generic.c		\
		cpu/cpu_x86.h cpu/cpu_x86.c cpu/cpu_x86_data.h	\
T
Thang Pham 已提交
713
		cpu/cpu_s390.h cpu/cpu_s390.c			\
C
Chuck Short 已提交
714
		cpu/cpu_arm.h cpu/cpu_arm.c			\
P
Prerna Saxena 已提交
715
		cpu/cpu_map.h cpu/cpu_map.c cpu/cpu_powerpc.h	\
716
		cpu/cpu_powerpc.c cpu/cpu_ppc_data.h
717

718 719 720
VMX_SOURCES =							\
		vmx/vmx.c vmx/vmx.h

721 722
XENXS_SOURCES =							\
		xenxs/xenxs_private.h				\
723 724
		xenxs/xen_sxpr.c xenxs/xen_sxpr.h		\
		xenxs/xen_xm.c xenxs/xen_xm.h
725

J
Jiri Denemark 已提交
726 727
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
728
EXTRA_DIST +=	$(pkgdata_DATA)
729

730 731 732 733 734 735
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

736
noinst_LTLIBRARIES = libvirt_util.la
737 738
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
libvirt_la_BUILT_LIBADD = libvirt_util.la
739 740
libvirt_util_la_SOURCES =					\
		$(UTIL_SOURCES)
741
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
742
		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS) \
E
Eric Blake 已提交
743
		$(DBUS_CFLAGS) $(LDEXP_LIBM)
744
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
745
		$(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
746
		$(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS)
747

748 749

noinst_LTLIBRARIES += libvirt_conf.la
750
libvirt_la_BUILT_LIBADD += libvirt_conf.la
751
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
752 753
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
754

J
Jiri Denemark 已提交
755
noinst_LTLIBRARIES += libvirt_cpu.la
756
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
757
libvirt_cpu_la_CFLAGS = \
758
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
759 760
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

761 762 763 764
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
765
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
766 767 768
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
endif

769
if WITH_XENXS
770 771 772
noinst_LTLIBRARIES += libvirt_xenxs.la
libvirt_la_BUILT_LIBADD += libvirt_xenxs.la
libvirt_xenxs_la_CFLAGS = \
773
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
774 775 776
libvirt_xenxs_la_SOURCES = $(XENXS_SOURCES)
endif

777

778
noinst_LTLIBRARIES += libvirt_driver.la
779
libvirt_la_BUILT_LIBADD += libvirt_driver.la
780
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
781

M
Matthias Bolte 已提交
782
libvirt_driver_la_CFLAGS = $(NUMACTL_CFLAGS) $(GNUTLS_CFLAGS) \
783
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
784
libvirt_driver_la_LIBADD = $(NUMACTL_LIBS) $(GNUTLS_LIBS) $(DLOPEN_LIBS)
785

786
USED_SYM_FILES = $(srcdir)/libvirt_private.syms
787

788
if WITH_TEST
789
noinst_LTLIBRARIES += libvirt_driver_test.la
790
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
791
libvirt_driver_test_la_CFLAGS = \
792
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
793
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
794 795 796
endif

if WITH_REMOTE
797
noinst_LTLIBRARIES += libvirt_driver_remote.la
798
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
799 800
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
E
Eric Blake 已提交
801
		$(XDR_CFLAGS)					\
802 803
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/rpc				\
804 805
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
806 807 808 809
libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) \
                libvirt-net-rpc-client.la \
                libvirt-net-rpc-server.la \
                libvirt-net-rpc.la
810
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
811

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

814 815
endif WITH_REMOTE

816
%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
817
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
E
Eric Blake 已提交
818
	       $< $@
819

820
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
821
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
E
Eric Blake 已提交
822
	       $< $@
823

824
if WITH_XEN
E
Eric Blake 已提交
825 826 827
noinst_LTLIBRARIES += libvirt_driver_xen_impl.la
libvirt_driver_xen_la_SOURCES =
libvirt_driver_xen_la_LIBADD = libvirt_driver_xen_impl.la
828 829
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
E
Eric Blake 已提交
830 831
libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_xen_la_LDFLAGS = -module -avoid-version
832
else
833
noinst_LTLIBRARIES += libvirt_driver_xen.la
834 835
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
836
endif
E
Eric Blake 已提交
837 838

libvirt_driver_xen_impl_la_CFLAGS =					\
839
		$(XEN_CFLAGS)					\
840 841
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/xenxs			\
842
		$(AM_CFLAGS)
E
Eric Blake 已提交
843 844 845
libvirt_driver_xen_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_xen_impl_la_LIBADD = $(XEN_LIBS)
libvirt_driver_xen_impl_la_SOURCES = $(XEN_DRIVER_SOURCES)
846 847
endif

848 849
if WITH_PHYP
noinst_LTLIBRARIES += libvirt_driver_phyp.la
850
libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
851
libvirt_driver_phyp_la_LIBADD = $(LIBSSH2_LIBS)
852
libvirt_driver_phyp_la_CFLAGS = $(LIBSSH2_CFLAGS) \
853
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
854 855 856
libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
endif

857
if WITH_OPENVZ
858
noinst_LTLIBRARIES += libvirt_driver_openvz.la
859
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
860
libvirt_driver_openvz_la_CFLAGS = \
861
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
862
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
863 864
endif

865 866 867 868
if WITH_VMWARE
noinst_LTLIBRARIES += libvirt_driver_vmware.la
libvirt_la_BUILT_LIBADD += libvirt_driver_vmware.la
libvirt_driver_vmware_la_CFLAGS = \
869
		-I$(top_srcdir)/src/conf -I$(top_srcdir)/src/vmx $(AM_CFLAGS)
870 871 872
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
endif

873 874
if WITH_VBOX
noinst_LTLIBRARIES += libvirt_driver_vbox.la
875
libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
876
libvirt_driver_vbox_la_CFLAGS = \
877
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
878
libvirt_driver_vbox_la_LIBADD = $(DLOPEN_LIBS) $(MSCOM_LIBS)
879 880 881
libvirt_driver_vbox_la_SOURCES = $(VBOX_DRIVER_SOURCES)
endif

882 883
if WITH_XENAPI
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
884
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
885
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(LIBCURL_CFLAGS) \
886
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
887
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
888
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(LIBCURL_LIBS)
889 890 891
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
endif

J
Jim Fehlig 已提交
892
if WITH_LIBXL
E
Eric Blake 已提交
893 894 895
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 已提交
896 897
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_libxl.la
E
Eric Blake 已提交
898 899
libvirt_driver_libxl_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version
J
Jim Fehlig 已提交
900 901 902 903 904
else
noinst_LTLIBRARIES += libvirt_driver_libxl.la
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_libxl.la
endif
E
Eric Blake 已提交
905 906

libvirt_driver_libxl_impl_la_CFLAGS = $(LIBXL_CFLAGS)		\
907 908
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/xenxs			\
909
		$(AM_CFLAGS)
E
Eric Blake 已提交
910 911 912
libvirt_driver_libxl_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_libxl_impl_la_LIBADD = $(LIBXL_LIBS) libvirt_xenxs.la
libvirt_driver_libxl_impl_la_SOURCES = $(LIBXL_DRIVER_SOURCES)
J
Jim Fehlig 已提交
913 914
endif

915
if WITH_QEMU
E
Eric Blake 已提交
916 917 918
noinst_LTLIBRARIES += libvirt_driver_qemu_impl.la
libvirt_driver_qemu_la_SOURCES =
libvirt_driver_qemu_la_LIBADD = libvirt_driver_qemu_impl.la
919 920
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
E
Eric Blake 已提交
921 922
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_qemu_la_LDFLAGS = -module -avoid-version
923
else
924
noinst_LTLIBRARIES += libvirt_driver_qemu.la
925
# Stateful, so linked to daemon instead
926
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
927
endif
E
Eric Blake 已提交
928 929

libvirt_driver_qemu_impl_la_CFLAGS = $(NUMACTL_CFLAGS) \
930
                                $(GNUTLS_CFLAGS) \
S
Serge Hallyn 已提交
931
                                $(LIBNL_CFLAGS) \
932
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
E
Eric Blake 已提交
933 934
libvirt_driver_qemu_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_qemu_impl_la_LIBADD = $(NUMACTL_LIBS) \
935 936
				$(CAPNG_LIBS) \
                                $(GNUTLS_LIBS) \
S
Serge Hallyn 已提交
937
				$(LIBNL_LIBS)
E
Eric Blake 已提交
938
libvirt_driver_qemu_impl_la_SOURCES = $(QEMU_DRIVER_SOURCES)
939

A
Amy Griffis 已提交
940
conf_DATA += qemu/qemu.conf
941

942
augeas_DATA += qemu/libvirtd_qemu.aug
943 944
augeastest_DATA += test_libvirtd_qemu.aug
CLEANFILES += test_libvirtd_qemu.aug
945

946
endif
947
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
948
		qemu/test_libvirtd_qemu.aug.in qemu/THREADS.txt
949

950 951

if WITH_LXC
E
Eric Blake 已提交
952 953 954
noinst_LTLIBRARIES += libvirt_driver_lxc_impl.la
libvirt_driver_lxc_la_SOURCES =
libvirt_driver_lxc_la_LIBADD = libvirt_driver_lxc_impl.la
955 956
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
E
Eric Blake 已提交
957 958
libvirt_driver_lxc_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
959
else
960
noinst_LTLIBRARIES += libvirt_driver_lxc.la
961
# Stateful, so linked to daemon instead
962
#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
963
endif
E
Eric Blake 已提交
964 965

libvirt_driver_lxc_impl_la_CFLAGS = \
S
Serge Hallyn 已提交
966
		$(LIBNL_CFLAGS) \
G
Gao feng 已提交
967
		$(FUSE_CFLAGS) \
968
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
G
Gao feng 已提交
969
libvirt_driver_lxc_impl_la_LIBADD = $(CAPNG_LIBS) $(LIBNL_LIBS) $(FUSE_LIBS)
970
if HAVE_LIBBLKID
E
Eric Blake 已提交
971 972
libvirt_driver_lxc_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_lxc_impl_la_LIBADD += $(BLKID_LIBS)
973
endif
974
if WITH_SECDRIVER_SELINUX
E
Eric Blake 已提交
975
libvirt_driver_lxc_impl_la_LIBADD += $(SELINUX_LIBS)
976 977
endif
if WITH_SECDRIVER_APPARMOR
E
Eric Blake 已提交
978
libvirt_driver_lxc_impl_la_LIBADD += $(APPARMOR_LIBS)
979
endif
E
Eric Blake 已提交
980
libvirt_driver_lxc_impl_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
981 982 983

conf_DATA += lxc/lxc.conf

984
augeas_DATA += lxc/libvirtd_lxc.aug
985 986
augeastest_DATA += test_libvirtd_lxc.aug
CLEANFILES += test_libvirtd_lxc.aug
987

988
endif
989
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug.in
990

991
if WITH_UML
E
Eric Blake 已提交
992 993 994
noinst_LTLIBRARIES += libvirt_driver_uml_impl.la
libvirt_driver_uml_la_SOURCES =
libvirt_driver_uml_la_LIBADD = libvirt_driver_uml_impl.la
995 996
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
E
Eric Blake 已提交
997 998
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_uml_la_LDFLAGS = -module -avoid-version
999
else
1000 1001
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
1002
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
1003
endif
E
Eric Blake 已提交
1004 1005

libvirt_driver_uml_impl_la_CFLAGS = $(NUMACTL_CFLAGS) \
1006
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
E
Eric Blake 已提交
1007 1008 1009
libvirt_driver_uml_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_uml_impl_la_LIBADD = $(NUMACTL_LIBS)
libvirt_driver_uml_impl_la_SOURCES = $(UML_DRIVER_SOURCES)
1010
endif
1011

D
Daniel Veillard 已提交
1012

1013
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
1014

1015 1016
ESX_GENERATED_STAMP = .esx_vi_generator.stamp

E
Eric Blake 已提交
1017 1018
EXTRA_DIST += $(ESX_GENERATED_STAMP)

1019 1020 1021
$(ESX_DRIVER_GENERATED): $(ESX_GENERATED_STAMP)

$(ESX_GENERATED_STAMP): $(srcdir)/esx/esx_vi_generator.input \
1022
                         $(srcdir)/esx/esx_vi_generator.py
1023 1024 1025 1026 1027
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/esx/esx_vi_generator.py \
	  && touch $@

MAINTAINERCLEANFILES += $(ESX_DRIVER_GENERATED) $(ESX_GENERATED_STAMP)

D
Daniel Veillard 已提交
1028

1029 1030
if WITH_ESX
noinst_LTLIBRARIES += libvirt_driver_esx.la
1031
libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
1032
libvirt_driver_esx_la_CFLAGS = $(LIBCURL_CFLAGS) \
1033
		-I$(top_srcdir)/src/conf -I$(top_srcdir)/src/vmx $(AM_CFLAGS)
1034
libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
1035
libvirt_driver_esx_la_LIBADD = $(LIBCURL_LIBS)
1036
libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
1037
libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
1038 1039
endif

M
Matthias Bolte 已提交
1040

1041 1042
BUILT_SOURCES += $(HYPERV_DRIVER_GENERATED)

1043 1044
HYPERV_GENERATED_STAMP = .hyperv_wmi_generator.stamp

E
Eric Blake 已提交
1045 1046
EXTRA_DIST += $(HYPERV_GENERATED_STAMP)

1047 1048 1049
$(HYPERV_DRIVER_GENERATED): $(HYPERV_GENERATED_STAMP)

$(HYPERV_GENERATED_STAMP): $(srcdir)/hyperv/hyperv_wmi_generator.input \
1050
                            $(srcdir)/hyperv/hyperv_wmi_generator.py
1051 1052 1053 1054
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/hyperv/hyperv_wmi_generator.py \
	  && touch $@

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

M
Matthias Bolte 已提交
1056 1057 1058 1059
if WITH_HYPERV
noinst_LTLIBRARIES += libvirt_driver_hyperv.la
libvirt_la_BUILT_LIBADD += libvirt_driver_hyperv.la
libvirt_driver_hyperv_la_CFLAGS = $(OPENWSMAN_CFLAGS) \
1060
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
1061 1062 1063 1064 1065
libvirt_driver_hyperv_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_hyperv_la_LIBADD = $(OPENWSMAN_LIBS)
libvirt_driver_hyperv_la_SOURCES = $(HYPERV_DRIVER_SOURCES)
endif

D
Dmitry Guryanov 已提交
1066 1067 1068 1069 1070 1071 1072 1073
if WITH_PARALLELS
noinst_LTLIBRARIES += libvirt_driver_parallels.la
libvirt_la_BUILT_LIBADD += libvirt_driver_parallels.la
libvirt_driver_parallels_la_CFLAGS = \
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
libvirt_driver_parallels_la_SOURCES = $(PARALLELS_DRIVER_SOURCES)
endif

1074
if WITH_NETWORK
E
Eric Blake 已提交
1075 1076 1077
noinst_LTLIBRARIES += libvirt_driver_network_impl.la
libvirt_driver_network_la_SOURCES =
libvirt_driver_network_la_LIBADD = libvirt_driver_network_impl.la
1078 1079
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
1080
libvirt_driver_network_la_LIBADD += ../gnulib/lib/libgnu.la $(LIBNL_LIBS) $(DBUS_LIBS)
E
Eric Blake 已提交
1081
libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1082
else
1083
noinst_LTLIBRARIES += libvirt_driver_network.la
1084
# Stateful, so linked to daemon instead
1085
#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
1086
endif
E
Eric Blake 已提交
1087 1088

libvirt_driver_network_impl_la_CFLAGS = \
1089
		$(LIBNL_CFLAGS) $(DBUS_CFLAGS) \
1090
		-I$(top_srcdir)/src/conf $(AM_CFLAGS) $(DBUS_CFLAGS)
E
Eric Blake 已提交
1091
libvirt_driver_network_impl_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
1092
endif
1093 1094 1095
EXTRA_DIST += network/default.xml


1096
if WITH_INTERFACE
1097 1098 1099 1100
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_interface.la
else
noinst_LTLIBRARIES += libvirt_driver_interface.la
1101 1102
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la
1103
endif
1104
libvirt_driver_interface_la_CFLAGS = -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1105
libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS)
1106 1107 1108 1109
libvirt_driver_interface_la_LIBADD =
if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
1110 1111 1112 1113 1114
else
if HAVE_UDEV
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
endif
1115
endif
1116
if WITH_DRIVER_MODULES
1117
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
1118 1119 1120
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
D
Daniel Veillard 已提交
1121 1122
endif

D
Daniel P. Berrange 已提交
1123
if WITH_SECRETS
1124 1125 1126 1127
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_secret.la
else
noinst_LTLIBRARIES += libvirt_driver_secret.la
1128
# Stateful, so linked to daemon instead
1129
#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
1130
endif
1131
libvirt_driver_secret_la_CFLAGS = \
1132
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1133
if WITH_DRIVER_MODULES
1134
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
1135
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1136 1137
endif
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
D
Daniel P. Berrange 已提交
1138
endif
1139

1140
# Needed to keep automake quiet about conditionals
1141 1142
libvirt_driver_storage_impl_la_SOURCES =
libvirt_driver_storage_impl_la_CFLAGS = \
1143
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1144 1145
libvirt_driver_storage_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_storage_impl_la_LIBADD =
1146
if WITH_SECDRIVER_SELINUX
1147
libvirt_driver_storage_impl_la_LIBADD += $(SELINUX_LIBS)
1148 1149
endif
if WITH_SECDRIVER_APPARMOR
1150
libvirt_driver_storage_impl_la_LIBADD += $(APPARMOR_LIBS)
1151
endif
O
Osier Yang 已提交
1152
if HAVE_LIBBLKID
1153 1154
libvirt_driver_storage_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_storage_impl_la_LIBADD += $(BLKID_LIBS)
O
Osier Yang 已提交
1155
endif
1156
if WITH_STORAGE
1157 1158 1159
noinst_LTLIBRARIES += libvirt_driver_storage_impl.la
libvirt_driver_storage_la_SOURCES =
libvirt_driver_storage_la_LIBADD = libvirt_driver_storage_impl.la
1160 1161
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
1162
libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
1163
libvirt_driver_storage_la_LDFLAGS = -module -avoid-version
1164
else
1165
noinst_LTLIBRARIES += libvirt_driver_storage.la
1166
# Stateful, so linked to daemon instead
1167
#libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la
1168
endif
1169 1170
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
1171 1172
endif

1173
if WITH_STORAGE_LVM
1174
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
1175 1176
endif

1177
if WITH_STORAGE_ISCSI
1178
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
1179 1180
endif

1181
if WITH_STORAGE_SCSI
1182
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
1183 1184
endif

D
Dave Allan 已提交
1185
if WITH_STORAGE_MPATH
1186 1187 1188
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)
D
Dave Allan 已提交
1189 1190
endif

1191
if WITH_STORAGE_DISK
1192
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
1193
endif
1194

1195
if WITH_STORAGE_RBD
1196 1197
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_RBD_SOURCES)
libvirt_driver_storage_impl_la_LIBADD += $(LIBRBD_LIBS)
1198 1199
endif

1200
if WITH_STORAGE_SHEEPDOG
1201
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SHEEPDOG_SOURCES)
1202 1203
endif

1204 1205 1206 1207 1208 1209 1210
if WITH_NODE_DEVICES
# Needed to keep automake quiet about conditionals
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nodedev.la
else
noinst_LTLIBRARIES += libvirt_driver_nodedev.la
# Stateful, so linked to daemon instead
1211
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
1212 1213 1214
endif
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

1215
libvirt_driver_nodedev_la_CFLAGS = \
1216
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1217
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
1218
libvirt_driver_nodedev_la_LIBADD =
1219

1220 1221 1222
if HAVE_HAL
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
1223
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
1224
endif
1225 1226
if HAVE_UDEV
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
1227
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
1228
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
1229
endif
1230 1231

if WITH_DRIVER_MODULES
1232
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
1233 1234 1235 1236 1237
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
endif
endif


1238 1239 1240 1241 1242
if WITH_NWFILTER
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nwfilter.la
else
noinst_LTLIBRARIES += libvirt_driver_nwfilter.la
1243 1244
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
1245
endif
1246
libvirt_driver_nwfilter_la_CFLAGS = $(LIBPCAP_CFLAGS) \
1247
		-I$(top_srcdir)/src/conf $(LIBNL_CFLAGS) $(AM_CFLAGS) $(DBUS_CFLAGS)
1248
libvirt_driver_nwfilter_la_LDFLAGS = $(LD_AMFLAGS)
1249
libvirt_driver_nwfilter_la_LIBADD = $(LIBPCAP_LIBS) $(LIBNL_LIBS) $(DBUS_LIBS)
1250
if WITH_DRIVER_MODULES
1251
libvirt_driver_nwfilter_la_LIBADD += ../gnulib/lib/libgnu.la
1252
libvirt_driver_nwfilter_la_LDFLAGS += -module -avoid-version
1253 1254 1255 1256 1257
endif
libvirt_driver_nwfilter_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
endif


1258 1259 1260 1261
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 = \
1262
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1263 1264
libvirt_security_manager_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_security_manager_la_LIBADD =
1265
if WITH_SECDRIVER_SELINUX
1266 1267 1268
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
libvirt_security_manager_la_CFLAGS += $(SELINUX_CFLAGS)
libvirt_security_manager_la_LIBADD += $(SELINUX_LIBS)
1269
endif
J
Jamie Strandboge 已提交
1270
if WITH_SECDRIVER_APPARMOR
1271 1272 1273
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
libvirt_security_manager_la_CFLAGS += $(APPARMOR_CFLAGS)
libvirt_security_manager_la_LIBADD += $(APPARMOR_LIBS)
J
Jamie Strandboge 已提交
1274
endif
1275

1276 1277 1278 1279 1280 1281 1282
# Add all conditional sources just in case...
EXTRA_DIST +=							\
		$(TEST_DRIVER_SOURCES)				\
		$(REMOTE_DRIVER_SOURCES)			\
		$(XEN_DRIVER_SOURCES)				\
		$(QEMU_DRIVER_SOURCES)				\
		$(LXC_DRIVER_SOURCES)				\
1283
		$(UML_DRIVER_SOURCES)				\
1284
		$(OPENVZ_DRIVER_SOURCES)			\
1285
		$(PHYP_DRIVER_SOURCES)				\
1286
		$(VBOX_DRIVER_SOURCES)				\
1287
		$(XENAPI_DRIVER_SOURCES)			\
O
Osier Yang 已提交
1288
		$(LIBXL_DRIVER_SOURCES)				\
1289
		$(ESX_DRIVER_SOURCES)				\
1290
		$(ESX_DRIVER_EXTRA_DIST)			\
M
Matthias Bolte 已提交
1291
		$(HYPERV_DRIVER_SOURCES)			\
1292
		$(HYPERV_DRIVER_EXTRA_DIST)			\
O
Osier Yang 已提交
1293
		$(PARALLELS_DRIVER_SOURCES)			\
1294
		$(NETWORK_DRIVER_SOURCES)			\
1295
		$(INTERFACE_DRIVER_SOURCES)			\
1296 1297 1298 1299
		$(STORAGE_DRIVER_SOURCES)			\
		$(STORAGE_DRIVER_FS_SOURCES)			\
		$(STORAGE_DRIVER_LVM_SOURCES)			\
		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
1300
		$(STORAGE_DRIVER_SCSI_SOURCES)			\
D
Dave Allan 已提交
1301
		$(STORAGE_DRIVER_MPATH_SOURCES)			\
1302
		$(STORAGE_DRIVER_DISK_SOURCES)			\
1303
		$(STORAGE_DRIVER_RBD_SOURCES)			\
1304
		$(STORAGE_DRIVER_SHEEPDOG_SOURCES)		\
1305 1306
		$(NODE_DEVICE_DRIVER_SOURCES)			\
		$(NODE_DEVICE_DRIVER_HAL_SOURCES)		\
1307
		$(NODE_DEVICE_DRIVER_UDEV_SOURCES)		\
1308
		$(NWFILTER_DRIVER_SOURCES)			\
1309
		$(SECURITY_DRIVER_SELINUX_SOURCES)		\
J
Jamie Strandboge 已提交
1310
		$(SECURITY_DRIVER_APPARMOR_SOURCES)		\
D
Daniel P. Berrange 已提交
1311
		$(SECRET_DRIVER_SOURCES)			\
1312
		$(VBOX_DRIVER_EXTRA_DIST)			\
1313 1314
		$(VMWARE_DRIVER_SOURCES)			\
		$(XENXS_SOURCES)
1315

1316 1317
check-local: check-augeas

1318 1319 1320 1321 1322 1323
.PHONY: check-augeas \
	check-augeas-qemu \
	check-augeas-lxc \
	check-augeas-sanlock \
	check-augeas-lockd \
	$(NULL)
1324

1325
check-augeas: check-augeas-qemu check-augeas-lxc check-augeas-sanlock check-augeas-lockd
1326

1327
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1328
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1329

1330
if WITH_QEMU
1331 1332
test_libvirtd_qemu.aug: qemu/test_libvirtd_qemu.aug.in \
		$(srcdir)/qemu/qemu.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1333
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/qemu/qemu.conf $< $@
1334

1335
check-augeas-qemu: test_libvirtd_qemu.aug
1336
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1337
	    '$(AUGPARSE)' -I $(srcdir)/qemu test_libvirtd_qemu.aug; \
1338
	fi
1339 1340
else
check-augeas-qemu:
1341
endif
1342

1343
if WITH_LXC
1344 1345
test_libvirtd_lxc.aug: lxc/test_libvirtd_lxc.aug.in \
		$(srcdir)/lxc/lxc.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1346
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/lxc/lxc.conf $< $@
1347

1348
check-augeas-lxc: test_libvirtd_lxc.aug
1349
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1350
	    '$(AUGPARSE)' -I $(srcdir)/lxc test_libvirtd_lxc.aug; \
1351
	fi
1352 1353
else
check-augeas-lxc:
1354
endif
1355

1356
if HAVE_SANLOCK
1357 1358
test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
		locking/qemu-sanlock.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1359
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
1360

1361
check-augeas-sanlock: test_libvirt_sanlock.aug
1362
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1363
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_sanlock.aug; \
1364
	fi
1365 1366 1367
else
check-augeas-sanlock:
endif
1368

1369 1370 1371 1372 1373 1374 1375 1376 1377
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 $< $@

check-augeas-lockd: test_libvirt_lockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_lockd.aug; \
	fi

1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396
#
# 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.
#

1397
if WITH_DRIVER_MODULES
1398
USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
1399
endif
1400

1401
if WITH_LINUX
1402
USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
1403
endif
1404

1405
if WITH_ESX
1406
USED_SYM_FILES += $(srcdir)/libvirt_esx.syms
1407 1408
endif

1409
if WITH_LIBVIRTD
1410
USED_SYM_FILES += $(srcdir)/libvirt_daemon.syms
1411 1412
endif

1413
if WITH_OPENVZ
1414
USED_SYM_FILES += $(srcdir)/libvirt_openvz.syms
1415 1416
endif

1417
if WITH_VMX
1418
USED_SYM_FILES += $(srcdir)/libvirt_vmx.syms
1419 1420
endif

1421
if WITH_XENXS
1422
USED_SYM_FILES += $(srcdir)/libvirt_xenxs.syms
1423 1424
endif

E
Eric Blake 已提交
1425
if HAVE_SASL
1426
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
E
Eric Blake 已提交
1427 1428
endif

1429
if HAVE_LIBSSH2
1430
USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
1431 1432
endif

1433
if WITH_ATOMIC_OPS_PTHREAD
1434
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
1435 1436
endif

1437 1438 1439
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
1440
  libvirt_atomic.syms		\
1441
  libvirt_driver_modules.syms	\
E
Eric Blake 已提交
1442
  libvirt_daemon.syms		\
1443
  libvirt_linux.syms		\
1444 1445 1446
  libvirt_esx.syms		\
  libvirt_openvz.syms		\
  libvirt_qemu.syms		\
E
Eric Blake 已提交
1447
  libvirt_sasl.syms		\
1448
  libvirt_vmx.syms		\
1449 1450
  libvirt_xenxs.syms	\
  libvirt_libssh2.syms
1451

1452 1453 1454
GENERATED_SYM_FILES = libvirt.syms libvirt.def libvirt_qemu.def

BUILT_SOURCES += $(GENERATED_SYM_FILES)
1455

1456 1457
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(top_builddir)/config.status
1458 1459 1460 1461 1462 1463
	$(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 && \
E
Eric Blake 已提交
1464
	cat $(USED_SYM_FILES) >>$@-tmp && \
1465 1466
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
1467
	mv $@-tmp libvirt.syms
1468

1469 1470 1471
libvirt.def: libvirt.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1472
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1473 1474 1475
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt.def

1476 1477 1478
libvirt_qemu.def: $(srcdir)/libvirt_qemu.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1479
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1480 1481 1482
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt_qemu.def

1483 1484
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
1485
libvirt_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
E
Eric Blake 已提交
1486
		     -version-info $(LIBVIRT_VERSION_INFO) \
1487
		    $(LIBVIRT_NODELETE) $(AM_LDFLAGS) \
1488
		    $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS)
1489
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
1490
libvirt_la_LIBADD += \
1491
		    $(DRIVER_MODULE_LIBS) \
1492
		    $(CYGWIN_EXTRA_LIBADD)
1493
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
1494 1495 1496 1497 1498 1499
# 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)
1500

1501
if WITH_DTRACE_PROBES
1502
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
1503
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
1504
nodist_libvirt_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1505
if WITH_REMOTE
E
Eric Blake 已提交
1506
nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1507
endif WITH_REMOTE
1508 1509 1510
if WITH_DRIVER_MODULES
DTRACE2SYSTEMTAP_FLAGS = --with-modules
endif
1511

1512 1513 1514
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

if WITH_QEMU
1515
libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
1516
nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
1517
BUILT_SOURCES += libvirt_qemu_probes.h
1518
endif
1519 1520

tapsetdir = $(datadir)/systemtap/tapset
1521
tapset_DATA = libvirt_probes.stp libvirt_qemu_probes.stp libvirt_functions.stp
1522

1523
%_probes.h: %_probes.d
1524 1525
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

E
Eric Blake 已提交
1526
.PRECIOUS: %_probes.o
1527
%_probes.o: %_probes.d
1528 1529
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

1530 1531 1532 1533 1534 1535 1536 1537 1538
%_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='$<'" \
	> $@

J
Jiri Denemark 已提交
1539 1540 1541 1542
RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x \
		  $(srcdir)/rpc/virkeepaliveprotocol.x \
		  $(srcdir)/remote/remote_protocol.x \
		  $(srcdir)/remote/qemu_protocol.x
1543 1544

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

1547
%_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl $(top_builddir)/config.status
1548
	$(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
1549
	  $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
1550

1551
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
1552
              libvirt_qemu_probes.h libvirt_qemu_probes.o \
1553
              libvirt_qemu_probes.lo\
1554 1555
              libvirt_functions.stp libvirt_probes.stp \
              libvirt_qemu_probes.stp
1556 1557
endif

1558
EXTRA_DIST += libvirt_probes.d libvirt_qemu_probes.d
1559

C
Chris Lalancette 已提交
1560 1561
libvirt_qemu_la_SOURCES = libvirt-qemu.c
libvirt_qemu_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
E
Eric Blake 已提交
1562 1563
			  -version-info $(LIBVIRT_VERSION_INFO) \
			  $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS) \
1564 1565
			  $(AM_LDFLAGS)
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
1566
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
E
Eric Blake 已提交
1567
EXTRA_DIST += $(LIBVIRT_QEMU_SYMBOL_FILE)
1568

1569 1570 1571
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES =

1572
if WITH_LIBVIRTD
1573 1574 1575 1576 1577 1578 1579 1580
lockdriver_LTLIBRARIES += lockd.la
lockd_la_SOURCES = \
		$(LOCK_DRIVER_LOCKD_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
		$(NULL)
lockd_la_CFLAGS = -I$(top_srcdir)/src/conf $(AM_CFLAGS)
lockd_la_LDFLAGS = -module -avoid-version
lockd_la_LIBADD = ../gnulib/lib/libgnu.la libvirt-net-rpc.la libvirt-net-rpc-client.la
J
Jiri Denemark 已提交
1581 1582 1583
augeas_DATA += locking/libvirt_lockd.aug
augeastest_DATA += test_libvirt_lockd.aug
CLEANFILES += test_libvirt_lockd.aug
1584 1585 1586 1587
if WITH_DTRACE_PROBES
lockd_la_LIBADD += libvirt_probes.lo
endif
if WITH_QEMU
1588
nodist_conf_DATA += locking/qemu-lockd.conf
1589 1590 1591 1592 1593 1594 1595 1596 1597
BUILT_SOURCES += locking/qemu-lockd.conf
DISTCLEANFILES += locking/qemu-lockd.conf
endif

locking/%-lockd.conf: $(srcdir)/locking/lockd.conf
	$(AM_V_GEN)$(MKDIR_P) locking ; \
	cp $< $@


1598 1599
sbin_PROGRAMS = virtlockd

1600 1601 1602
virtlockd_SOURCES = \
		$(LOCK_DAEMON_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
1603
		$(LOCK_DAEMON_GENERATED) \
1604
		$(NULL)
1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624
virtlockd_CFLAGS = \
		$(AM_CFLAGS) \
		$(NULL)
virtlockd_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
virtlockd_LDADD = \
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
		libvirt_util.la \
		../gnulib/lib/libgnu.la \
		$(CYGWIN_EXTRA_LIBADD) \
		$(NULL)
if WITH_DTRACE_PROBES
virtlockd_LDADD += libvirt_probes.lo
endif

else
1625 1626
EXTRA_DIST += $(LOCK_DAEMON_SOURCES) \
              $(LOCK_DRIVER_LOCKD_SOURCES)
1627 1628
endif

J
Jiri Denemark 已提交
1629 1630 1631 1632
EXTRA_DIST += locking/virtlockd.sysconf \
	locking/lockd.conf \
	locking/libvirt_lockd.aug \
	locking/test_libvirt_lockd.aug.in
1633 1634

install-sysconfig:
E
Eric Blake 已提交
1635
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
1636 1637 1638 1639 1640
	$(INSTALL_DATA) $(srcdir)/locking/virtlockd.sysconf \
	  $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd

uninstall-sysconfig:
	rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
E
Eric Blake 已提交
1641
	rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
1642 1643 1644 1645 1646 1647

EXTRA_DIST += locking/virtlockd.init.in

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_RED_HAT
install-init:: virtlockd.init install-sysconfig
E
Eric Blake 已提交
1648
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d
1649 1650 1651 1652
	$(INSTALL_SCRIPT) virtlockd.init \
	  $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd

uninstall-init:: uninstall-sysconfig
E
Eric Blake 已提交
1653 1654
	rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd
	rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || :
1655 1656

BUILT_SOURCES += virtlockd.init
E
Eric Blake 已提交
1657
DISTCLEANFILES += virtlockd.init
1658 1659 1660 1661 1662 1663 1664 1665 1666 1667
else
install-init::
uninstall-init::
endif
else
install-init::
uninstall-init::
endif

virtlockd.init: locking/virtlockd.init.in $(top_builddir)/config.status
1668 1669 1670 1671 1672 1673
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g'		\
	    < $< > $@-t &&					\
	    chmod a+x $@-t &&					\
1674 1675 1676 1677
	    mv $@-t $@



1678 1679 1680 1681 1682 1683 1684 1685
EXTRA_DIST += locking/virtlockd.service.in locking/virtlockd.socket.in

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_SYSTEMD

SYSTEMD_UNIT_DIR = /lib/systemd/system

BUILT_SOURCES += virtlockd.service virtlockd.socket
E
Eric Blake 已提交
1686
DISTCLEANFILES += virtlockd.service virtlockd.socket
1687

E
Eric Blake 已提交
1688 1689
install-systemd: virtlockd.service virtlockd.socket install-sysconfig
	$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
1690
	$(INSTALL_DATA) virtlockd.service \
1691
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
1692
	$(INSTALL_DATA) virtlockd.socket \
1693 1694 1695
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/

uninstall-systemd: uninstall-sysconfig
E
Eric Blake 已提交
1696 1697 1698
	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket
	rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
1699 1700 1701 1702 1703 1704 1705 1706 1707 1708
else
install-systemd:
uninstall-systemd:
endif
else
install-systemd:
uninstall-systemd:
endif

virtlockd.service: locking/virtlockd.service.in $(top_builddir)/config.status
1709 1710 1711 1712
	$(AM_V_GEN)sed						\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    < $< > $@-t &&					\
	    chmod a+x $@-t &&					\
1713 1714 1715
	    mv $@-t $@

virtlockd.socket: locking/virtlockd.socket.in $(top_builddir)/config.status
1716 1717 1718 1719
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    < $< > $@-t &&					\
	    chmod a+x $@-t &&					\
1720 1721 1722
	    mv $@-t $@


1723
if HAVE_SANLOCK
1724
lockdriver_LTLIBRARIES += sanlock.la
1725
sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
1726
sanlock_la_CFLAGS = -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1727
sanlock_la_LDFLAGS = -module -avoid-version
1728
sanlock_la_LIBADD = -lsanlock_client \
1729 1730 1731
		../gnulib/lib/libgnu.la

augeas_DATA += locking/libvirt_sanlock.aug
1732 1733
augeastest_DATA += test_libvirt_sanlock.aug
CLEANFILES += test_libvirt_sanlock.aug
1734

E
Eric Blake 已提交
1735
locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
1736
	$(AM_V_GEN)$(MKDIR_P) locking ; \
1737 1738 1739
	cp $< $@

if WITH_QEMU
1740
nodist_conf_DATA += locking/qemu-sanlock.conf
1741
BUILT_SOURCES += locking/qemu-sanlock.conf
E
Eric Blake 已提交
1742
DISTCLEANFILES += locking/qemu-sanlock.conf
1743
endif
1744
else
1745
EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
1746
endif
1747 1748
EXTRA_DIST += locking/sanlock.conf \
	locking/libvirt_sanlock.aug \
1749
	locking/test_libvirt_sanlock.aug.in
1750

1751 1752 1753 1754
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
1755

1756
EXTRA_DIST += \
E
Eric Blake 已提交
1757 1758 1759 1760
	dtrace2systemtap.pl \
	rpc/gendispatch.pl \
	rpc/genprotocol.pl \
	rpc/gensystemtap.pl \
J
Jiri Denemark 已提交
1761 1762
	rpc/virnetprotocol.x \
	rpc/virkeepaliveprotocol.x
1763

E
Eric Blake 已提交
1764 1765
VIR_NET_RPC_GENERATED = \
	$(srcdir)/rpc/virnetprotocol.h \
J
Jiri Denemark 已提交
1766 1767 1768
	$(srcdir)/rpc/virnetprotocol.c \
	$(srcdir)/rpc/virkeepaliveprotocol.h \
	$(srcdir)/rpc/virkeepaliveprotocol.c
1769

1770
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
1771

1772
libvirt_net_rpc_la_SOURCES = \
1773
	rpc/virnetmessage.h rpc/virnetmessage.c \
1774
	rpc/virnetprotocol.h rpc/virnetprotocol.c \
1775
	rpc/virnetsocket.h rpc/virnetsocket.c \
J
Jiri Denemark 已提交
1776
	rpc/virnettlscontext.h rpc/virnettlscontext.c \
1777 1778
	rpc/virkeepaliveprotocol.h rpc/virkeepaliveprotocol.c \
	rpc/virkeepalive.h rpc/virkeepalive.c
1779 1780 1781 1782 1783 1784 1785
if HAVE_LIBSSH2
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
else
EXTRA_DIST += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
endif
1786 1787 1788 1789 1790 1791 1792
if HAVE_SASL
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
else
EXTRA_DIST += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
endif
1793
libvirt_net_rpc_la_CFLAGS = \
1794
			$(GNUTLS_CFLAGS) \
1795
			$(SASL_CFLAGS) \
1796
			$(LIBSSH2_CFLAGS) \
1797
			$(XDR_CFLAGS) \
1798 1799
			$(AM_CFLAGS)
libvirt_net_rpc_la_LDFLAGS = \
1800
			$(GNUTLS_LIBS) \
1801
			$(SASL_LIBS) \
1802
			$(LIBSSH2_LIBS)\
1803 1804 1805 1806 1807 1808
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1809 1810 1811 1812
libvirt_net_rpc_server_la_SOURCES = \
	rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
	rpc/virnetserverservice.h rpc/virnetserverservice.c \
	rpc/virnetserverclient.h rpc/virnetserverclient.c \
1813
	rpc/virnetservermdns.h rpc/virnetservermdns.c \
1814 1815
	rpc/virnetserver.h rpc/virnetserver.c
libvirt_net_rpc_server_la_CFLAGS = \
1816
			$(AVAHI_CFLAGS) \
1817
			$(DBUS_CFLAGS) \
E
Eric Blake 已提交
1818
			$(XDR_CFLAGS) \
J
Jim Fehlig 已提交
1819 1820
			$(AM_CFLAGS) \
			$(POLKIT_CFLAGS)
1821 1822
libvirt_net_rpc_server_la_LDFLAGS = \
			$(AM_LDFLAGS) \
1823
			$(AVAHI_LIBS) \
1824
			$(DBUS_LIBS) \
J
Jim Fehlig 已提交
1825
			$(POLKIT_LIBS) \
1826 1827 1828 1829 1830
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_server_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1831 1832 1833 1834 1835
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 已提交
1836 1837
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
1838 1839 1840 1841 1842 1843
libvirt_net_rpc_client_la_LDFLAGS = \
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
1844

1845 1846
libexec_PROGRAMS =

1847
if WITH_LIBVIRTD
1848 1849 1850 1851 1852 1853
libexec_PROGRAMS += libvirt_iohelper
libvirt_iohelper_SOURCES = $(UTIL_IO_HELPER_SOURCES)
libvirt_iohelper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
libvirt_iohelper_LDADD =		\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
1854 1855 1856
if WITH_DTRACE_PROBES
libvirt_iohelper_LDADD += libvirt_probes.lo
endif
1857 1858

libvirt_iohelper_CFLAGS = $(AM_CFLAGS)
1859
endif
1860

1861
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
1862
if WITH_LIBVIRTD
1863
libexec_PROGRAMS += libvirt_parthelper
1864

1865
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
1866
libvirt_parthelper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
1867 1868 1869 1870
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
1871 1872 1873
if WITH_DTRACE_PROBES
libvirt_parthelper_LDADD += libvirt_probes.lo
endif
1874

1875
libvirt_parthelper_CFLAGS = $(LIBPARTED_CFLAGS) $(AM_CFLAGS)
R
Richard W.M. Jones 已提交
1876
endif
1877
endif
1878 1879
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

1880

1881 1882 1883 1884 1885 1886 1887 1888 1889
if HAVE_SANLOCK
libexec_PROGRAMS += libvirt_sanlock_helper

libvirt_sanlock_helper_SOURCES = $(LOCK_DRIVER_SANLOCK_HELPER_SOURCES)
libvirt_sanlock_helper_CFLAGS = -I$(top_srcdir)/src/conf $(AM_CFLAGS)
libvirt_sanlock_helper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
libvirt_sanlock_helper_LDADD = libvirt.la
endif

1890 1891 1892 1893 1894 1895
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
O
Osier Yang 已提交
1896 1897
		$(NODE_INFO_SOURCES)				\
		$(DATATYPES_SOURCES)
1898
libvirt_lxc_LDFLAGS = $(WARN_CFLAGS) $(AM_LDFLAGS)
1899 1900
libvirt_lxc_LDADD =			\
		$(NUMACTL_LIBS) \
G
Gao feng 已提交
1901
		$(FUSE_LIBS) \
1902 1903
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
1904
		libvirt_security_manager.la \
1905 1906
		libvirt_conf.la \
		libvirt_util.la \
1907
		../gnulib/lib/libgnu.la
1908
if WITH_DTRACE_PROBES
1909
libvirt_lxc_LDADD += libvirt_probes.lo
1910
endif
1911 1912 1913
if WITH_SECDRIVER_SELINUX
libvirt_lxc_LDADD += $(SELINUX_LIBS)
endif
J
Jiri Denemark 已提交
1914 1915 1916
if WITH_SECDRIVER_APPARMOR
libvirt_lxc_LDADD += $(APPARMOR_LIBS)
endif
1917
libvirt_lxc_CFLAGS =				\
1918
		-I$(top_srcdir)/src/conf	\
1919
		$(AM_CFLAGS)                    \
G
Gao feng 已提交
1920 1921
		$(LIBNL_CFLAGS)			\
		$(FUSE_CFLAGS)
1922 1923 1924 1925
if HAVE_LIBBLKID
libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
libvirt_lxc_LDADD += $(BLKID_LIBS)
endif
1926 1927 1928
if WITH_SECDRIVER_SELINUX
libvirt_lxc_CFLAGS += $(SELINUX_CFLAGS)
endif
J
Jiri Denemark 已提交
1929 1930 1931
if WITH_SECDRIVER_APPARMOR
libvirt_lxc_CFLAGS += $(APPARMOR_CFLAGS)
endif
1932 1933 1934 1935
endif
endif
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
1936 1937 1938 1939 1940 1941
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1942
virt_aa_helper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
J
Jamie Strandboge 已提交
1943
virt_aa_helper_LDADD =						\
C
Chris Lalancette 已提交
1944 1945 1946
		libvirt_conf.la					\
		libvirt_util.la					\
		../gnulib/lib/libgnu.la
1947
if WITH_DTRACE_PROBES
1948
virt_aa_helper_LDADD += libvirt_probes.lo
1949
endif
J
Jamie Strandboge 已提交
1950
virt_aa_helper_CFLAGS =						\
1951 1952
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/security			\
1953
		$(AM_CFLAGS)
J
Jamie Strandboge 已提交
1954 1955 1956 1957
endif
endif
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1958
install-data-local: install-init install-systemd
1959 1960
if WITH_LIBVIRTD
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd"
1961
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files"
1962 1963
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lockd"
endif
1964 1965
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
1966
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems"
1967
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
1968 1969 1970
if HAVE_SANLOCK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock"
endif
1971 1972 1973
if WITH_QEMU
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/qemu"
1974
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
1975
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
1976 1977 1978 1979 1980
endif
if WITH_LXC
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
endif
J
Jim Fehlig 已提交
1981 1982 1983
if WITH_LIBXL
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/libxl"
J
Jim Fehlig 已提交
1984
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/libxl"
J
Jim Fehlig 已提交
1985
endif
1986 1987 1988 1989
if WITH_UML
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/uml"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/uml"
endif
1990 1991 1992
if WITH_XEN
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/xen"
endif
1993 1994
if WITH_NETWORK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/network"
1995
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
1996
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
1997 1998 1999 2000
	$(MKDIR_P) "$(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart"
	$(INSTALL_DATA) $(srcdir)/network/default.xml \
	  $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml
	test -z "$(UUID)" || \
E
Eric Blake 已提交
2001 2002 2003 2004 2005 2006
	  { sed -e "s,</name>,</name>\n  <uuid>$(UUID)</uuid>," \
	      $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml > \
	      $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml.t && \
	    cp $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml.t \
	      $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml && \
	    rm $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml.t; }
2007
	test -e $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml || \
E
Eric Blake 已提交
2008
	   ln -s ../default.xml \
2009 2010 2011
	    $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml
endif

2012
uninstall-local:: uninstall-init uninstall-systemd
2013
if WITH_LIBVIRTD
2014
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files" ||:
2015 2016 2017
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lockd" ||:
endif
2018 2019
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
2020
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
2021
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
2022 2023 2024
if HAVE_SANLOCK
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
endif
2025 2026 2027 2028 2029
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" ||:
2030
endif
2031 2032 2033 2034
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
endif
J
Jim Fehlig 已提交
2035 2036 2037
if WITH_LIBXL
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/libxl" ||:
J
Jim Fehlig 已提交
2038
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/libxl" ||:
J
Jim Fehlig 已提交
2039
endif
2040 2041 2042 2043
if WITH_UML
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/uml" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/uml" ||:
endif
2044 2045 2046
if WITH_XEN
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/xen" ||:
endif
2047 2048 2049 2050 2051 2052 2053 2054 2055
if WITH_NETWORK
	rm -f $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml
	rm -f $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml
	rmdir "$(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart" || :
	rmdir "$(DESTDIR)$(sysconfdir)/libvirt/qemu/networks" || :
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/network" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/network" ||:
endif
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
R
Richard W.M. Jones 已提交
2056

2057 2058
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
2059
MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED)