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

3
## Copyright (C) 2005-2012 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/bitmap.c util/bitmap.h			\
57
		util/buf.c util/buf.h				\
58
		util/command.c util/command.h			\
59 60 61
		util/conf.c util/conf.h				\
		util/cgroup.c util/cgroup.h			\
		util/event.c util/event.h			\
62
		util/event_poll.c util/event_poll.h		\
D
Daniel Veillard 已提交
63
		util/hooks.c util/hooks.h			\
64
		util/iptables.c util/iptables.h			\
G
Gerhard Stenzel 已提交
65
		util/ebtables.c util/ebtables.h			\
66
		util/dnsmasq.c util/dnsmasq.h                   \
67
		util/json.c util/json.h				\
68 69 70
		util/logging.c util/logging.h			\
		util/memory.c util/memory.h			\
		util/pci.c util/pci.h				\
71
		util/processinfo.c util/processinfo.h		\
72
		util/hostusb.c util/hostusb.h			\
M
Markus Groß 已提交
73
		util/sexpr.c util/sexpr.h			\
74
		util/stats_linux.c util/stats_linux.h		\
75
		util/storage_file.c util/storage_file.h		\
76
		util/sysinfo.c util/sysinfo.h			\
77 78 79
		util/threads.c util/threads.h			\
		util/threads-pthread.h				\
		util/threads-win32.h				\
H
Hu Tao 已提交
80
		util/threadpool.c util/threadpool.h		\
81 82
		util/uuid.c util/uuid.h				\
		util/util.c util/util.h				\
83
		util/viratomic.h util/viratomic.c		\
84
		util/viraudit.c util/viraudit.h			\
85
		util/virauth.c util/virauth.h			\
86
		util/virauthconfig.c util/virauthconfig.h	\
E
Eric Blake 已提交
87
		util/virfile.c util/virfile.h			\
88
		util/virnodesuspend.c util/virnodesuspend.h	\
89
		util/virobject.c util/virobject.h		\
90
		util/virpidfile.c util/virpidfile.h		\
91
		util/virprocess.c util/virprocess.h		\
92
		util/virtypedparam.c util/virtypedparam.h	\
93
		util/xml.c util/xml.h				\
L
Lai Jiangshan 已提交
94
		util/virterror.c util/virterror_internal.h	\
95
		util/virdbus.c util/virdbus.h			\
96
		util/virhash.c util/virhash.h			\
97
		util/virhashcode.c util/virhashcode.h           \
98
		util/virinitctl.c util/virinitctl.h		\
L
Lai Jiangshan 已提交
99
		util/virkeycode.c util/virkeycode.h		\
100
		util/virkeyfile.c util/virkeyfile.h		\
101
		util/virkeymaps.h				\
102
		util/virlockspace.c util/virlockspace.h		\
103
		util/virmacaddr.h util/virmacaddr.c		\
104
		util/virnetdev.h util/virnetdev.c		\
105
		util/virnetdevbandwidth.h util/virnetdevbandwidth.c \
106
		util/virnetdevbridge.h util/virnetdevbridge.c	\
107
		util/virnetdevmacvlan.c util/virnetdevmacvlan.h	\
A
Ansis Atteka 已提交
108
		util/virnetdevopenvswitch.h util/virnetdevopenvswitch.c \
109
		util/virnetdevtap.h util/virnetdevtap.c		\
110
		util/virnetdevveth.h util/virnetdevveth.c \
L
Laine Stump 已提交
111
		util/virnetdevvlan.h util/virnetdevvlan.c \
112
		util/virnetdevvportprofile.h util/virnetdevvportprofile.c \
113
		util/virnetlink.c util/virnetlink.h		\
114
		util/virrandom.h util/virrandom.c		\
115
		util/virsocketaddr.h util/virsocketaddr.c \
116
		util/virstring.h util/virstring.c \
M
Martin Kletzander 已提交
117 118
		util/virtime.h util/virtime.c \
		util/viruri.h util/viruri.c
L
Lai Jiangshan 已提交
119 120 121 122

EXTRA_DIST += $(srcdir)/util/virkeymaps.h $(srcdir)/util/keymaps.csv \
		$(srcdir)/util/virkeycode-mapgen.py

123 124
BUILT_SOURCES += $(srcdir)/util/virkeymaps.h

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

129
EXTRA_DIST += util/threads-pthread.c util/threads-win32.c
130

131
# Internal generic driver infrastructure
132
NODE_INFO_SOURCES = nodeinfo.h nodeinfo.c
O
Osier Yang 已提交
133 134 135 136 137 138 139 140 141 142 143
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	\
144
		locking/domain_lock.h locking/domain_lock.c
145

146 147 148
LOCK_DRIVER_SANLOCK_SOURCES = \
		locking/lock_driver_sanlock.c

149 150
LOCK_DRIVER_SANLOCK_HELPER_SOURCES = \
		locking/sanlock_helper.c
151

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

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

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

BUILT_SOURCES += $(LOCK_DAEMON_GENERATED)
168
EXTRA_DIST += $(LOCK_DAEMON_GENERATED)
169 170
MAINTAINERCLEANFILES += $(LOCK_DAEMON_GENERATED)

171 172 173 174
LOCK_DRIVER_LOCKD_SOURCES = \
		locking/lock_driver_lockd.c \
		$(NULL)

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

184 185 186 187 188
$(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) > $@
189 190


191 192
NETDEV_CONF_SOURCES =						\
		conf/netdev_bandwidth_conf.h conf/netdev_bandwidth_conf.c \
193 194
		conf/netdev_vport_profile_conf.h conf/netdev_vport_profile_conf.c \
		conf/netdev_vlan_conf.h conf/netdev_vlan_conf.c
195

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

DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
207 208

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

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

219
NWFILTER_CONF_SOURCES =						\
220 221 222
		$(NWFILTER_PARAM_CONF_SOURCES)			\
		conf/nwfilter_conf.c conf/nwfilter_conf.h

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

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

231
# Secret driver generic impl APIs
232 233 234 235 236 237 238 239 240 241
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

242 243
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h
244

245 246 247
# Safe console handling helper APIs
CONSOLE_CONF_SOURCES =						\
		conf/virconsole.c conf/virconsole.h
248

249 250 251 252
# Device Helper APIs
DEVICE_CONF_SOURCES =                                           \
		conf/device_conf.c conf/device_conf.h

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

268
# The remote RPC driver, covering domains, storage, networks, etc
269
REMOTE_DRIVER_GENERATED = \
E
Eric Blake 已提交
270 271 272 273 274 275 276 277 278
		$(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
279
REMOTE_DRIVER_PROTOCOL = $(REMOTE_PROTOCOL) $(QEMU_PROTOCOL)
280

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

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

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

296
EXTRA_DIST +=  $(REMOTE_DRIVER_PROTOCOL) \
297
		$(REMOTE_DRIVER_GENERATED)
298

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

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

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

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

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

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

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

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

414 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
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)

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

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

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

477 478 479
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

480
OPENVZ_DRIVER_SOURCES =						\
481
		openvz/openvz_conf.c openvz/openvz_conf.h	\
482 483
		openvz/openvz_driver.c openvz/openvz_driver.h   \
		openvz/openvz_util.c openvz/openvz_util.h
484

E
Eric Blake 已提交
485
VMWARE_DRIVER_SOURCES =						\
486
		vmware/vmware_driver.c vmware/vmware_driver.h	\
487 488
		vmware/vmware_conf.c vmware/vmware_conf.h

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

E
Eric Blake 已提交
499
VBOX_DRIVER_EXTRA_DIST =					\
500 501 502
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
503

O
Osier Yang 已提交
504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521
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				\
522
		qemu/qemu_bridge_filter.h
R
Richard W.M. Jones 已提交
523

O
Osier Yang 已提交
524
XENAPI_DRIVER_SOURCES =						\
525
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
O
Osier Yang 已提交
526
		xenapi/xenapi_driver_private.h			\
527 528
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

J
Jim Fehlig 已提交
529 530 531 532
LIBXL_DRIVER_SOURCES =						\
		libxl/libxl_conf.c libxl/libxl_conf.h		\
		libxl/libxl_driver.c libxl/libxl_driver.h

533
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
534 535
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
536

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

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

O
Osier Yang 已提交
566
ESX_DRIVER_EXTRA_DIST =							\
567 568 569 570 571
		esx/README						\
		esx/esx_vi_generator.input				\
		esx/esx_vi_generator.py					\
		$(ESX_DRIVER_GENERATED)

O
Osier Yang 已提交
572
HYPERV_DRIVER_SOURCES =									\
M
Matthias Bolte 已提交
573 574 575 576 577 578 579
		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		\
580
		hyperv/hyperv_nwfilter_driver.c hyperv/hyperv_nwfilter_driver.h		\
581
		hyperv/hyperv_util.c hyperv/hyperv_util.h				\
582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597
		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 已提交
598 599
PARALLELS_DRIVER_SOURCES =					\
		parallels/parallels_driver.h			\
600
		parallels/parallels_driver.c			\
601 602
		parallels/parallels_utils.c			\
		parallels/parallels_utils.h			\
D
Dmitry Guryanov 已提交
603 604
		parallels/parallels_storage.c		\
		parallels/parallels_network.c
D
Dmitry Guryanov 已提交
605

606
NETWORK_DRIVER_SOURCES =					\
607
		network/bridge_driver.h network/bridge_driver.c
608

609 610 611 612
INTERFACE_DRIVER_SOURCES =

if WITH_INTERFACE
INTERFACE_DRIVER_SOURCES +=					\
613 614
		interface/interface_driver.h        \
		interface/interface_driver.c
615 616 617 618

if WITH_NETCF
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_netcf.c
619
endif
620 621 622 623 624
if HAVE_UDEV
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_udev.c
endif
endif
625

626
SECRET_DRIVER_SOURCES =						\
627
		secret/secret_driver.h secret/secret_driver.c
628

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

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

637
STORAGE_DRIVER_LVM_SOURCES =					\
O
Osier Yang 已提交
638
		storage/storage_backend_logical.h		\
639
		storage/storage_backend_logical.c
640 641

STORAGE_DRIVER_ISCSI_SOURCES =					\
642
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
643

644
STORAGE_DRIVER_SCSI_SOURCES =					\
645
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
646

D
Dave Allan 已提交
647
STORAGE_DRIVER_MPATH_SOURCES =					\
648
		storage/storage_backend_mpath.h storage/storage_backend_mpath.c
D
Dave Allan 已提交
649

650
STORAGE_DRIVER_DISK_SOURCES =					\
651
		storage/storage_backend_disk.h storage/storage_backend_disk.c
652

653 654 655
STORAGE_DRIVER_RBD_SOURCES =					\
		storage/storage_backend_rbd.h storage/storage_backend_rbd.c

656 657 658
STORAGE_DRIVER_SHEEPDOG_SOURCES =				\
		storage/storage_backend_sheepdog.h storage/storage_backend_sheepdog.c

659
STORAGE_HELPER_DISK_SOURCES =					\
660
		storage/parthelper.c
661

662 663 664
UTIL_IO_HELPER_SOURCES =					\
		util/iohelper.c

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

677

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

686
SECURITY_DRIVER_SELINUX_SOURCES =				\
687
		security/security_selinux.h security/security_selinux.c
688

J
Jamie Strandboge 已提交
689 690 691
SECURITY_DRIVER_APPARMOR_SOURCES =				\
		security/security_apparmor.h security/security_apparmor.c

692

693
NODE_DEVICE_DRIVER_SOURCES =					\
O
Osier Yang 已提交
694 695
		node_device/node_device_driver.c		\
		node_device/node_device_driver.h		\
696
		node_device/node_device_linux_sysfs.c
697 698

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
699
		node_device/node_device_hal.c			\
700
		node_device/node_device_hal.h
701

702
NODE_DEVICE_DRIVER_UDEV_SOURCES =				\
D
Daniel Veillard 已提交
703 704
		node_device/node_device_udev.c			\
		node_device/node_device_udev.h
705

J
Jiri Denemark 已提交
706 707 708 709
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 已提交
710
		cpu/cpu_s390.h cpu/cpu_s390.c			\
C
Chuck Short 已提交
711
		cpu/cpu_arm.h cpu/cpu_arm.c			\
P
Prerna Saxena 已提交
712
		cpu/cpu_map.h cpu/cpu_map.c cpu/cpu_powerpc.h	\
713
		cpu/cpu_powerpc.c cpu/cpu_ppc_data.h
714

715 716 717
VMX_SOURCES =							\
		vmx/vmx.c vmx/vmx.h

718 719
XENXS_SOURCES =							\
		xenxs/xenxs_private.h				\
720 721
		xenxs/xen_sxpr.c xenxs/xen_sxpr.h		\
		xenxs/xen_xm.c xenxs/xen_xm.h
722

J
Jiri Denemark 已提交
723 724
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
725
EXTRA_DIST +=	$(pkgdata_DATA)
726

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

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

745 746

noinst_LTLIBRARIES += libvirt_conf.la
747
libvirt_la_BUILT_LIBADD += libvirt_conf.la
748
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
749 750
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
751

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

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

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

774

775
noinst_LTLIBRARIES += libvirt_driver.la
776
libvirt_la_BUILT_LIBADD += libvirt_driver.la
777
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
778

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

783
USED_SYM_FILES = $(srcdir)/libvirt_private.syms
784

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

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

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

811 812
endif WITH_REMOTE

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

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

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

libvirt_driver_xen_impl_la_CFLAGS =					\
836
		$(XEN_CFLAGS)					\
837 838
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/xenxs			\
839
		$(AM_CFLAGS)
E
Eric Blake 已提交
840 841 842
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)
843 844
endif

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

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

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

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

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

J
Jim Fehlig 已提交
889
if WITH_LIBXL
E
Eric Blake 已提交
890 891 892
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 已提交
893 894
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_libxl.la
E
Eric Blake 已提交
895 896
libvirt_driver_libxl_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version
J
Jim Fehlig 已提交
897 898 899 900 901
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 已提交
902 903

libvirt_driver_libxl_impl_la_CFLAGS = $(LIBXL_CFLAGS)		\
904 905
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/xenxs			\
906
		$(AM_CFLAGS)
E
Eric Blake 已提交
907 908 909
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 已提交
910 911
endif

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

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

A
Amy Griffis 已提交
937
conf_DATA += qemu/qemu.conf
938

939
augeas_DATA += qemu/libvirtd_qemu.aug
940 941
augeastest_DATA += test_libvirtd_qemu.aug
CLEANFILES += test_libvirtd_qemu.aug
942

943
endif
944
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
945
		qemu/test_libvirtd_qemu.aug.in qemu/THREADS.txt
946

947 948

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

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

conf_DATA += lxc/lxc.conf

981
augeas_DATA += lxc/libvirtd_lxc.aug
982 983
augeastest_DATA += test_libvirtd_lxc.aug
CLEANFILES += test_libvirtd_lxc.aug
984

985
endif
986
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug.in
987

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

libvirt_driver_uml_impl_la_CFLAGS = $(NUMACTL_CFLAGS) \
1003
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
E
Eric Blake 已提交
1004 1005 1006
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)
1007
endif
1008

D
Daniel Veillard 已提交
1009

1010
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
1011

1012 1013
ESX_GENERATED_STAMP = .esx_vi_generator.stamp

E
Eric Blake 已提交
1014 1015
EXTRA_DIST += $(ESX_GENERATED_STAMP)

1016 1017 1018
$(ESX_DRIVER_GENERATED): $(ESX_GENERATED_STAMP)

$(ESX_GENERATED_STAMP): $(srcdir)/esx/esx_vi_generator.input \
1019
                         $(srcdir)/esx/esx_vi_generator.py
1020 1021 1022 1023 1024
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/esx/esx_vi_generator.py \
	  && touch $@

MAINTAINERCLEANFILES += $(ESX_DRIVER_GENERATED) $(ESX_GENERATED_STAMP)

D
Daniel Veillard 已提交
1025

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

M
Matthias Bolte 已提交
1037

1038 1039
BUILT_SOURCES += $(HYPERV_DRIVER_GENERATED)

1040 1041
HYPERV_GENERATED_STAMP = .hyperv_wmi_generator.stamp

E
Eric Blake 已提交
1042 1043
EXTRA_DIST += $(HYPERV_GENERATED_STAMP)

1044 1045 1046
$(HYPERV_DRIVER_GENERATED): $(HYPERV_GENERATED_STAMP)

$(HYPERV_GENERATED_STAMP): $(srcdir)/hyperv/hyperv_wmi_generator.input \
1047
                            $(srcdir)/hyperv/hyperv_wmi_generator.py
1048 1049 1050 1051
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/hyperv/hyperv_wmi_generator.py \
	  && touch $@

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

M
Matthias Bolte 已提交
1053 1054 1055 1056
if WITH_HYPERV
noinst_LTLIBRARIES += libvirt_driver_hyperv.la
libvirt_la_BUILT_LIBADD += libvirt_driver_hyperv.la
libvirt_driver_hyperv_la_CFLAGS = $(OPENWSMAN_CFLAGS) \
1057
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
1058 1059 1060 1061 1062
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 已提交
1063 1064 1065 1066 1067 1068 1069 1070
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

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

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


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

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

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

1170
if WITH_STORAGE_LVM
1171
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
1172 1173
endif

1174
if WITH_STORAGE_ISCSI
1175
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
1176 1177
endif

1178
if WITH_STORAGE_SCSI
1179
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
1180 1181
endif

D
Dave Allan 已提交
1182
if WITH_STORAGE_MPATH
1183 1184 1185
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 已提交
1186 1187
endif

1188
if WITH_STORAGE_DISK
1189
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
1190
endif
1191

1192
if WITH_STORAGE_RBD
1193 1194
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_RBD_SOURCES)
libvirt_driver_storage_impl_la_LIBADD += $(LIBRBD_LIBS)
1195 1196
endif

1197
if WITH_STORAGE_SHEEPDOG
1198
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SHEEPDOG_SOURCES)
1199 1200
endif

1201 1202 1203 1204 1205 1206 1207
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
1208
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
1209 1210 1211
endif
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

1212
libvirt_driver_nodedev_la_CFLAGS = \
1213
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1214
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
1215
libvirt_driver_nodedev_la_LIBADD =
1216

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

if WITH_DRIVER_MODULES
1229
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
1230 1231 1232 1233 1234
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
endif
endif


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


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

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

1313 1314
check-local: check-augeas

1315 1316 1317 1318 1319 1320
.PHONY: check-augeas \
	check-augeas-qemu \
	check-augeas-lxc \
	check-augeas-sanlock \
	check-augeas-lockd \
	$(NULL)
1321

1322
check-augeas: check-augeas-qemu check-augeas-lxc check-augeas-sanlock check-augeas-lockd
1323

1324
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1325
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1326

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

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

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

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

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

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

1366 1367 1368 1369 1370 1371 1372 1373 1374
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

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

1394
if WITH_DRIVER_MODULES
1395
USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
1396
endif
1397

1398
if WITH_LINUX
1399
USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
1400
endif
1401

1402
if WITH_ESX
1403
USED_SYM_FILES += $(srcdir)/libvirt_esx.syms
1404 1405
endif

1406
if WITH_LIBVIRTD
1407
USED_SYM_FILES += $(srcdir)/libvirt_daemon.syms
1408 1409
endif

1410
if WITH_OPENVZ
1411
USED_SYM_FILES += $(srcdir)/libvirt_openvz.syms
1412 1413
endif

1414
if WITH_VMX
1415
USED_SYM_FILES += $(srcdir)/libvirt_vmx.syms
1416 1417
endif

1418
if WITH_XENXS
1419
USED_SYM_FILES += $(srcdir)/libvirt_xenxs.syms
1420 1421
endif

E
Eric Blake 已提交
1422
if HAVE_SASL
1423
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
E
Eric Blake 已提交
1424 1425
endif

1426
if HAVE_LIBSSH2
1427
USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
1428 1429
endif

1430
if WITH_ATOMIC_OPS_PTHREAD
1431
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
1432 1433
endif

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

1449 1450 1451
GENERATED_SYM_FILES = libvirt.syms libvirt.def libvirt_qemu.def

BUILT_SOURCES += $(GENERATED_SYM_FILES)
1452

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

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

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

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

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

1509 1510 1511
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

if WITH_QEMU
1512
libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
1513
nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
1514
BUILT_SOURCES += libvirt_qemu_probes.h
1515
endif
1516 1517

tapsetdir = $(datadir)/systemtap/tapset
1518
tapset_DATA = libvirt_probes.stp libvirt_qemu_probes.stp libvirt_functions.stp
1519

1520
%_probes.h: %_probes.d
1521 1522
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

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

1527 1528 1529 1530 1531 1532 1533 1534 1535
%_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 已提交
1536 1537 1538 1539
RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x \
		  $(srcdir)/rpc/virkeepaliveprotocol.x \
		  $(srcdir)/remote/remote_protocol.x \
		  $(srcdir)/remote/qemu_protocol.x
1540 1541

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

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

1548
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
1549
              libvirt_qemu_probes.h libvirt_qemu_probes.o \
1550
              libvirt_qemu_probes.lo\
1551 1552
              libvirt_functions.stp libvirt_probes.stp \
              libvirt_qemu_probes.stp
1553 1554
endif

1555
EXTRA_DIST += libvirt_probes.d libvirt_qemu_probes.d
1556

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

1566 1567 1568
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES =

1569
if WITH_LIBVIRTD
1570 1571 1572 1573 1574 1575 1576 1577
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 已提交
1578 1579 1580
augeas_DATA += locking/libvirt_lockd.aug
augeastest_DATA += test_libvirt_lockd.aug
CLEANFILES += test_libvirt_lockd.aug
1581 1582 1583 1584
if WITH_DTRACE_PROBES
lockd_la_LIBADD += libvirt_probes.lo
endif
if WITH_QEMU
1585
nodist_conf_DATA += locking/qemu-lockd.conf
1586 1587 1588 1589 1590 1591 1592 1593 1594
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 $< $@


1595 1596
sbin_PROGRAMS = virtlockd

1597 1598 1599
virtlockd_SOURCES = \
		$(LOCK_DAEMON_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
1600
		$(LOCK_DAEMON_GENERATED) \
1601
		$(NULL)
1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621
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
1622 1623
EXTRA_DIST += $(LOCK_DAEMON_SOURCES) \
              $(LOCK_DRIVER_LOCKD_SOURCES)
1624 1625
endif

J
Jiri Denemark 已提交
1626 1627 1628 1629
EXTRA_DIST += locking/virtlockd.sysconf \
	locking/lockd.conf \
	locking/libvirt_lockd.aug \
	locking/test_libvirt_lockd.aug.in
1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671

install-sysconfig:
	mkdir -p $(DESTDIR)$(sysconfdir)/sysconfig
	$(INSTALL_DATA) $(srcdir)/locking/virtlockd.sysconf \
	  $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd

uninstall-sysconfig:
	rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd

EXTRA_DIST += locking/virtlockd.init.in

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_RED_HAT
install-init:: virtlockd.init install-sysconfig
	mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d
	$(INSTALL_SCRIPT) virtlockd.init \
	  $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd

uninstall-init:: uninstall-sysconfig
	rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd

BUILT_SOURCES += virtlockd.init
else
install-init::
uninstall-init::
endif
else
install-init::
uninstall-init::
endif

virtlockd.init: locking/virtlockd.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 $@



1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718
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

install-systemd: virtlockd.init install-sysconfig
	mkdir -p $(DESTDIR)$(SYSTEMD_UNIT_DIR)
	$(INSTALL_SCRIPT) virtlockd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
	$(INSTALL_SCRIPT) virtlockd.socket \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/

uninstall-systemd: uninstall-sysconfig
	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service
	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket
else
install-systemd:
uninstall-systemd:
endif
else
install-systemd:
uninstall-systemd:
endif

virtlockd.service: locking/virtlockd.service.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 $@

virtlockd.socket: locking/virtlockd.socket.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 $@


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

augeas_DATA += locking/libvirt_sanlock.aug
1728 1729
augeastest_DATA += test_libvirt_sanlock.aug
CLEANFILES += test_libvirt_sanlock.aug
1730

E
Eric Blake 已提交
1731
locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
1732
	$(AM_V_GEN)$(MKDIR_P) locking ; \
1733 1734 1735
	cp $< $@

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

1747 1748 1749 1750
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
1751

1752
EXTRA_DIST += \
E
Eric Blake 已提交
1753 1754 1755 1756
	dtrace2systemtap.pl \
	rpc/gendispatch.pl \
	rpc/genprotocol.pl \
	rpc/gensystemtap.pl \
J
Jiri Denemark 已提交
1757 1758
	rpc/virnetprotocol.x \
	rpc/virkeepaliveprotocol.x
1759

E
Eric Blake 已提交
1760 1761
VIR_NET_RPC_GENERATED = \
	$(srcdir)/rpc/virnetprotocol.h \
J
Jiri Denemark 已提交
1762 1763 1764
	$(srcdir)/rpc/virnetprotocol.c \
	$(srcdir)/rpc/virkeepaliveprotocol.h \
	$(srcdir)/rpc/virkeepaliveprotocol.c
1765

1766
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
1767

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

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

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

1841 1842
libexec_PROGRAMS =

1843
if WITH_LIBVIRTD
1844 1845 1846 1847 1848 1849
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
1850 1851 1852
if WITH_DTRACE_PROBES
libvirt_iohelper_LDADD += libvirt_probes.lo
endif
1853 1854

libvirt_iohelper_CFLAGS = $(AM_CFLAGS)
1855
endif
1856

1857
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
1858
if WITH_LIBVIRTD
1859
libexec_PROGRAMS += libvirt_parthelper
1860

1861
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
1862
libvirt_parthelper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
1863 1864 1865 1866
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
1867 1868 1869
if WITH_DTRACE_PROBES
libvirt_parthelper_LDADD += libvirt_probes.lo
endif
1870

1871
libvirt_parthelper_CFLAGS = $(LIBPARTED_CFLAGS) $(AM_CFLAGS)
R
Richard W.M. Jones 已提交
1872
endif
1873
endif
1874 1875
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

1876

1877 1878 1879 1880 1881 1882 1883 1884 1885
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

1886 1887 1888 1889 1890 1891
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

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

J
Jamie Strandboge 已提交
1932 1933 1934 1935 1936 1937
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

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

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

2008
uninstall-local:: uninstall-init uninstall-systemd
2009
if WITH_LIBVIRTD
2010
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files" ||:
2011 2012 2013
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lockd" ||:
endif
2014 2015
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
2016
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
2017
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
2018 2019 2020
if HAVE_SANLOCK
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
endif
2021 2022 2023 2024 2025
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" ||:
2026
endif
2027 2028 2029 2030
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
endif
J
Jim Fehlig 已提交
2031 2032 2033
if WITH_LIBXL
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/libxl" ||:
J
Jim Fehlig 已提交
2034
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/libxl" ||:
J
Jim Fehlig 已提交
2035
endif
2036 2037 2038 2039
if WITH_UML
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/uml" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/uml" ||:
endif
2040 2041 2042
if WITH_XEN
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/xen" ||:
endif
2043 2044 2045 2046 2047 2048 2049 2050 2051
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 已提交
2052

2053 2054
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
2055
MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED)