Makefile.am 62.7 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

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

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

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

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

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

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

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

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

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

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

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

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

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

145 146 147
LOCK_DRIVER_SANLOCK_SOURCES = \
		locking/lock_driver_sanlock.c

148 149
LOCK_DRIVER_SANLOCK_HELPER_SOURCES = \
		locking/sanlock_helper.c
150

151 152 153 154 155 156 157 158 159
LOCK_PROTOCOL_GENERATED = \
		locking/lock_protocol.h \
		locking/lock_protocol.c \
		$(NULL)

EXTRA_DIST += locking/lock_protocol.x
BUILT_SOURCES += $(LOCK_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(LOCK_PROTOCOL_GENERATED)

160 161 162 163 164 165 166
LOCK_DAEMON_GENERATED = \
		locking/lock_daemon_dispatch_stubs.h
		$(NULL)

BUILT_SOURCES += $(LOCK_DAEMON_GENERATED)
MAINTAINERCLEANFILES += $(LOCK_DAEMON_GENERATED)

167 168 169 170 171
LOCK_DAEMON_SOURCES = \
		locking/lock_daemon.h \
		locking/lock_daemon.c \
		locking/lock_daemon_config.h \
		locking/lock_daemon_config.c \
172 173
		locking/lock_daemon_dispatch.c \
		locking/lock_daemon_dispatch.h \
174 175
		$(NULL)

176 177 178 179
$(srcdir)/locking/lock_daemon_dispatch_stubs.h: locking/lock_protocol.x $(srcdir)/rpc/gendispatch.pl Makefile.am
	$(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl -b virLockSpaceProtocol VIR_LOCK_SPACE_PROTOCOL $< > $@


180 181
NETDEV_CONF_SOURCES =						\
		conf/netdev_bandwidth_conf.h conf/netdev_bandwidth_conf.c \
182 183
		conf/netdev_vport_profile_conf.h conf/netdev_vport_profile_conf.c \
		conf/netdev_vlan_conf.h conf/netdev_vlan_conf.c
184

185
# XML configuration format handling sources
186 187
# Domain driver generic impl APIs
DOMAIN_CONF_SOURCES =						\
188
		conf/capabilities.c conf/capabilities.h		\
189
		conf/domain_conf.c conf/domain_conf.h		\
190
		conf/domain_audit.c conf/domain_audit.h		\
191 192
		conf/domain_nwfilter.c conf/domain_nwfilter.h	\
		conf/snapshot_conf.c conf/snapshot_conf.h
193 194 195

DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
196 197

# Network driver generic impl APIs
198
NETWORK_CONF_SOURCES =						\
199
		conf/network_conf.c conf/network_conf.h
200

201 202
# Network filter driver generic impl APIs
NWFILTER_PARAM_CONF_SOURCES =					\
203
		conf/nwfilter_params.c conf/nwfilter_params.h	\
204 205
		conf/nwfilter_ipaddrmap.c			\
		conf/nwfilter_ipaddrmap.h			\
206
		conf/nwfilter_conf.h
207

208
NWFILTER_CONF_SOURCES =						\
209 210 211
		$(NWFILTER_PARAM_CONF_SOURCES)			\
		conf/nwfilter_conf.c conf/nwfilter_conf.h

212
# Storage driver generic impl APIs
213 214
STORAGE_CONF_SOURCES =                                         \
		conf/storage_conf.h conf/storage_conf.c
215

216
# Interface driver generic impl APIs
217 218
INTERFACE_CONF_SOURCES =                                       \
		conf/interface_conf.c conf/interface_conf.h
219

220
# Secret driver generic impl APIs
221 222 223 224 225 226 227 228 229 230
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

231 232
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h
233

234 235 236
# Safe console handling helper APIs
CONSOLE_CONF_SOURCES =						\
		conf/virconsole.c conf/virconsole.h
237

238 239 240 241
# Device Helper APIs
DEVICE_CONF_SOURCES =                                           \
		conf/device_conf.c conf/device_conf.h

242
CONF_SOURCES =							\
243
		$(NETDEV_CONF_SOURCES)				\
244 245 246
		$(DOMAIN_CONF_SOURCES)				\
		$(DOMAIN_EVENT_SOURCES)				\
		$(NETWORK_CONF_SOURCES)				\
247
		$(NWFILTER_CONF_SOURCES)			\
248 249 250 251
		$(NODE_DEVICE_CONF_SOURCES)			\
		$(STORAGE_CONF_SOURCES)				\
		$(ENCRYPTION_CONF_SOURCES)			\
		$(INTERFACE_CONF_SOURCES)			\
252
		$(SECRET_CONF_SOURCES)				\
253
		$(CPU_CONF_SOURCES)				\
254 255
		$(CONSOLE_CONF_SOURCES)				\
		$(DEVICE_CONF_SOURCES)
256

257
# The remote RPC driver, covering domains, storage, networks, etc
258
REMOTE_DRIVER_GENERATED = \
E
Eric Blake 已提交
259 260 261 262 263 264 265 266 267
		$(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
268
REMOTE_DRIVER_PROTOCOL = $(REMOTE_PROTOCOL) $(QEMU_PROTOCOL)
269

270 271
$(srcdir)/remote/remote_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
		$(REMOTE_PROTOCOL)
272
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl \
273
	  -k remote REMOTE $(REMOTE_PROTOCOL) > $@
274

275 276
$(srcdir)/remote/qemu_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
		$(QEMU_PROTOCOL)
277
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl \
278
	  -k qemu QEMU $(QEMU_PROTOCOL) > $@
279 280 281 282 283

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

285
EXTRA_DIST +=  $(REMOTE_DRIVER_PROTOCOL) \
286
		$(REMOTE_DRIVER_GENERATED)
287

288 289 290 291 292 293 294 295 296 297
# 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
298 299 300 301

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

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

349
# .libs/libvirt.so is built by libtool as a side-effect of the Makefile
350 351
# rule for libvirt.la.  However, checking symbols relies on Linux ELF layout
if WITH_LINUX
352 353 354
check-symfile: libvirt.syms libvirt.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \
	  .libs/libvirt.so
355 356 357
else
check-symfile:
endif
358 359
check-symsorting:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl $(USED_SYM_FILES)
360

361 362 363
PROTOCOL_STRUCTS = \
	$(srcdir)/remote_protocol-structs \
	$(srcdir)/qemu_protocol-structs \
J
Jiri Denemark 已提交
364 365
	$(srcdir)/virnetprotocol-structs \
	$(srcdir)/virkeepaliveprotocol-structs
366
if WITH_REMOTE
367 368
check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)

369 370
# 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.
371 372
$(srcdir)/remote_protocol-struct $(srcdir)/qemu_protocol-struct: \
		$(srcdir)/%-struct: libvirt_driver_remote_la-%.lo
373
	$(PDWTAGS)
374 375
$(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \
		$(srcdir)/%-struct: libvirt_net_rpc_la-%.lo
376
	$(PDWTAGS)
377
else !WITH_REMOTE
378 379 380
# The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be
# re-generated when configured --without-remote.
check-protocol:
381
endif
382
EXTRA_DIST += $(PROTOCOL_STRUCTS) check-symfile.pl
383
check-local: check-protocol check-symfile check-symsorting
384
.PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
385

386 387
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES =						\
388
		test/test_driver.c test/test_driver.h
389 390 391

# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
392 393 394 395 396 397
		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
398
if WITH_XEN_INOTIFY
399
XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
400
endif
401

402 403 404 405 406 407 408 409 410 411 412 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
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)

440
LXC_DRIVER_SOURCES =						\
441 442
		$(LXC_PROTOCOL_GENERATED)			\
		$(LXC_MONITOR_GENERATED)			\
443 444
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
445
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
446
		lxc/lxc_domain.c lxc/lxc_domain.h		\
447
		lxc/lxc_monitor.c lxc/lxc_monitor.h		\
448
		lxc/lxc_process.c lxc/lxc_process.h		\
G
Gao feng 已提交
449
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
450
		lxc/lxc_driver.c lxc/lxc_driver.h
451

452
LXC_CONTROLLER_SOURCES =					\
453 454
		$(LXC_PROTOCOL_GENERATED)			\
		$(LXC_CONTROLLER_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		\
G
Gao feng 已提交
458
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
459
		lxc/lxc_controller.c
460

J
Jamie Strandboge 已提交
461
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES =			\
E
Eric Blake 已提交
462
		$(DATATYPES_SOURCES)				\
J
Jamie Strandboge 已提交
463 464
		security/virt-aa-helper.c

465 466 467
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

468
OPENVZ_DRIVER_SOURCES =						\
469
		openvz/openvz_conf.c openvz/openvz_conf.h	\
470 471
		openvz/openvz_driver.c openvz/openvz_driver.h   \
		openvz/openvz_util.c openvz/openvz_util.h
472

E
Eric Blake 已提交
473
VMWARE_DRIVER_SOURCES =						\
474
		vmware/vmware_driver.c vmware/vmware_driver.h	\
475 476
		vmware/vmware_conf.c vmware/vmware_conf.h

477
VBOX_DRIVER_SOURCES =						\
E
Eric Blake 已提交
478 479 480 481 482 483
	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			\
484 485
	vbox/vbox_V4_0.c vbox/vbox_CAPI_v4_0.h			\
	vbox/vbox_V4_1.c vbox/vbox_CAPI_v4_1.h
486

E
Eric Blake 已提交
487
VBOX_DRIVER_EXTRA_DIST =					\
488 489 490
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
491

O
Osier Yang 已提交
492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509
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				\
510
		qemu/qemu_bridge_filter.h
R
Richard W.M. Jones 已提交
511

O
Osier Yang 已提交
512
XENAPI_DRIVER_SOURCES =						\
513
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
O
Osier Yang 已提交
514
		xenapi/xenapi_driver_private.h			\
515 516
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

J
Jim Fehlig 已提交
517 518 519 520
LIBXL_DRIVER_SOURCES =						\
		libxl/libxl_conf.c libxl/libxl_conf.h		\
		libxl/libxl_driver.c libxl/libxl_driver.h

521
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
522 523
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
524

O
Osier Yang 已提交
525 526 527 528 529 530
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	\
531
		esx/esx_storage_backend_vmfs.c esx/esx_storage_backend_vmfs.h	\
532
		esx/esx_storage_backend_iscsi.c esx/esx_storage_backend_iscsi.h	\
O
Osier Yang 已提交
533
		esx/esx_device_monitor.c esx/esx_device_monitor.h	\
534
		esx/esx_secret_driver.c esx/esx_secret_driver.h		\
O
Osier Yang 已提交
535 536 537 538
		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		\
539
		esx/esx_vi_types.c esx/esx_vi_types.h
540

541
ESX_DRIVER_GENERATED =							\
542 543
		esx/esx_vi_methods.generated.c				\
		esx/esx_vi_methods.generated.h				\
544
		esx/esx_vi_methods.generated.macro			\
545 546 547 548 549
		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			\
550 551 552
		esx/esx_vi_types.generated.typefromstring		\
		esx/esx_vi.generated.c					\
		esx/esx_vi.generated.h
553

O
Osier Yang 已提交
554
ESX_DRIVER_EXTRA_DIST =							\
555 556 557 558 559
		esx/README						\
		esx/esx_vi_generator.input				\
		esx/esx_vi_generator.py					\
		$(ESX_DRIVER_GENERATED)

O
Osier Yang 已提交
560
HYPERV_DRIVER_SOURCES =									\
M
Matthias Bolte 已提交
561 562 563 564 565 566 567
		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		\
568
		hyperv/hyperv_nwfilter_driver.c hyperv/hyperv_nwfilter_driver.h		\
569
		hyperv/hyperv_util.c hyperv/hyperv_util.h				\
570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585
		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 已提交
586 587
PARALLELS_DRIVER_SOURCES =					\
		parallels/parallels_driver.h			\
588
		parallels/parallels_driver.c			\
589 590
		parallels/parallels_utils.c			\
		parallels/parallels_utils.h			\
D
Dmitry Guryanov 已提交
591 592
		parallels/parallels_storage.c		\
		parallels/parallels_network.c
D
Dmitry Guryanov 已提交
593

594
NETWORK_DRIVER_SOURCES =					\
595
		network/bridge_driver.h network/bridge_driver.c
596

597 598 599 600
INTERFACE_DRIVER_SOURCES =

if WITH_INTERFACE
INTERFACE_DRIVER_SOURCES +=					\
601 602
		interface/interface_driver.h        \
		interface/interface_driver.c
603 604 605 606

if WITH_NETCF
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_netcf.c
607
endif
608 609 610 611 612
if HAVE_UDEV
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_udev.c
endif
endif
613

614
SECRET_DRIVER_SOURCES =						\
615
		secret/secret_driver.h secret/secret_driver.c
616

617
# Storage backend specific impls
O
Osier Yang 已提交
618 619
STORAGE_DRIVER_SOURCES =						\
		storage/storage_driver.h storage/storage_driver.c	\
620
		storage/storage_backend.h storage/storage_backend.c
621 622

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

625
STORAGE_DRIVER_LVM_SOURCES =					\
O
Osier Yang 已提交
626
		storage/storage_backend_logical.h		\
627
		storage/storage_backend_logical.c
628 629

STORAGE_DRIVER_ISCSI_SOURCES =					\
630
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
631

632
STORAGE_DRIVER_SCSI_SOURCES =					\
633
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
634

D
Dave Allan 已提交
635
STORAGE_DRIVER_MPATH_SOURCES =					\
636
		storage/storage_backend_mpath.h storage/storage_backend_mpath.c
D
Dave Allan 已提交
637

638
STORAGE_DRIVER_DISK_SOURCES =					\
639
		storage/storage_backend_disk.h storage/storage_backend_disk.c
640

641 642 643
STORAGE_DRIVER_RBD_SOURCES =					\
		storage/storage_backend_rbd.h storage/storage_backend_rbd.c

644 645 646
STORAGE_DRIVER_SHEEPDOG_SOURCES =				\
		storage/storage_backend_sheepdog.h storage/storage_backend_sheepdog.c

647
STORAGE_HELPER_DISK_SOURCES =					\
648
		storage/parthelper.c
649

650 651 652
UTIL_IO_HELPER_SOURCES =					\
		util/iohelper.c

653
# Network filters
O
Osier Yang 已提交
654
NWFILTER_DRIVER_SOURCES =						\
655
		nwfilter/nwfilter_driver.h nwfilter/nwfilter_driver.c	\
656 657
		nwfilter/nwfilter_gentech_driver.c			\
		nwfilter/nwfilter_gentech_driver.h			\
S
Stefan Berger 已提交
658 659
		nwfilter/nwfilter_dhcpsnoop.c				\
		nwfilter/nwfilter_dhcpsnoop.h				\
660
		nwfilter/nwfilter_ebiptables_driver.c			\
661 662 663
		nwfilter/nwfilter_ebiptables_driver.h			\
		nwfilter/nwfilter_learnipaddr.c				\
		nwfilter/nwfilter_learnipaddr.h
664

665

666
# Security framework and drivers for various models
O
Osier Yang 已提交
667 668 669 670 671
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		\
672
		security/security_manager.h security/security_manager.c
673

674
SECURITY_DRIVER_SELINUX_SOURCES =				\
675
		security/security_selinux.h security/security_selinux.c
676

J
Jamie Strandboge 已提交
677 678 679
SECURITY_DRIVER_APPARMOR_SOURCES =				\
		security/security_apparmor.h security/security_apparmor.c

680

681
NODE_DEVICE_DRIVER_SOURCES =					\
O
Osier Yang 已提交
682 683
		node_device/node_device_driver.c		\
		node_device/node_device_driver.h		\
684
		node_device/node_device_linux_sysfs.c
685 686

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
687
		node_device/node_device_hal.c			\
688
		node_device/node_device_hal.h
689

690
NODE_DEVICE_DRIVER_UDEV_SOURCES =				\
D
Daniel Veillard 已提交
691 692
		node_device/node_device_udev.c			\
		node_device/node_device_udev.h
693

J
Jiri Denemark 已提交
694 695 696 697
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 已提交
698
		cpu/cpu_s390.h cpu/cpu_s390.c			\
C
Chuck Short 已提交
699
		cpu/cpu_arm.h cpu/cpu_arm.c			\
P
Prerna Saxena 已提交
700
		cpu/cpu_map.h cpu/cpu_map.c cpu/cpu_powerpc.h	\
701
		cpu/cpu_powerpc.c cpu/cpu_ppc_data.h
702

703 704 705
VMX_SOURCES =							\
		vmx/vmx.c vmx/vmx.h

706 707
XENXS_SOURCES =							\
		xenxs/xenxs_private.h				\
708 709
		xenxs/xen_sxpr.c xenxs/xen_sxpr.h		\
		xenxs/xen_xm.c xenxs/xen_xm.h
710

J
Jiri Denemark 已提交
711 712
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
713
EXTRA_DIST +=	$(pkgdata_DATA)
714

715 716 717 718 719 720
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

721
noinst_LTLIBRARIES = libvirt_util.la
722 723
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
libvirt_la_BUILT_LIBADD = libvirt_util.la
724 725
libvirt_util_la_SOURCES =					\
		$(UTIL_SOURCES)
726
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
727
		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS) \
E
Eric Blake 已提交
728
		$(DBUS_CFLAGS) $(LDEXP_LIBM)
729
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
730
		$(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
731
		$(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS)
732

733 734

noinst_LTLIBRARIES += libvirt_conf.la
735
libvirt_la_BUILT_LIBADD += libvirt_conf.la
736
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
737 738
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
739

J
Jiri Denemark 已提交
740
noinst_LTLIBRARIES += libvirt_cpu.la
741
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
742
libvirt_cpu_la_CFLAGS = \
743
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
744 745
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

746 747 748 749
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
750
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
751 752 753
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
endif

754
if WITH_XENXS
755 756 757
noinst_LTLIBRARIES += libvirt_xenxs.la
libvirt_la_BUILT_LIBADD += libvirt_xenxs.la
libvirt_xenxs_la_CFLAGS = \
758
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
759 760 761
libvirt_xenxs_la_SOURCES = $(XENXS_SOURCES)
endif

762

763
noinst_LTLIBRARIES += libvirt_driver.la
764
libvirt_la_BUILT_LIBADD += libvirt_driver.la
765
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
766

M
Matthias Bolte 已提交
767
libvirt_driver_la_CFLAGS = $(NUMACTL_CFLAGS) $(GNUTLS_CFLAGS) \
768
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
769
libvirt_driver_la_LIBADD = $(NUMACTL_LIBS) $(GNUTLS_LIBS) $(DLOPEN_LIBS)
770

771
USED_SYM_FILES = $(srcdir)/libvirt_private.syms
772

773
if WITH_TEST
774
noinst_LTLIBRARIES += libvirt_driver_test.la
775
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
776
libvirt_driver_test_la_CFLAGS = \
777
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
778
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
779 780 781
endif

if WITH_REMOTE
782
noinst_LTLIBRARIES += libvirt_driver_remote.la
783
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
784 785
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
E
Eric Blake 已提交
786
		$(XDR_CFLAGS)					\
787 788
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/rpc				\
789 790
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
791 792 793 794
libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) \
                libvirt-net-rpc-client.la \
                libvirt-net-rpc-server.la \
                libvirt-net-rpc.la
795
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
796

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

799 800
endif WITH_REMOTE

801
%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
802
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
E
Eric Blake 已提交
803
	       $< $@
804

805
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
806
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
E
Eric Blake 已提交
807
	       $< $@
808

809
if WITH_XEN
E
Eric Blake 已提交
810 811 812
noinst_LTLIBRARIES += libvirt_driver_xen_impl.la
libvirt_driver_xen_la_SOURCES =
libvirt_driver_xen_la_LIBADD = libvirt_driver_xen_impl.la
813 814
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
E
Eric Blake 已提交
815 816
libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_xen_la_LDFLAGS = -module -avoid-version
817
else
818
noinst_LTLIBRARIES += libvirt_driver_xen.la
819 820
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
821
endif
E
Eric Blake 已提交
822 823

libvirt_driver_xen_impl_la_CFLAGS =					\
824
		$(XEN_CFLAGS)					\
825 826
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/xenxs			\
827
		$(AM_CFLAGS)
E
Eric Blake 已提交
828 829 830
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)
831 832
endif

833 834
if WITH_PHYP
noinst_LTLIBRARIES += libvirt_driver_phyp.la
835
libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
836
libvirt_driver_phyp_la_LIBADD = $(LIBSSH2_LIBS)
837
libvirt_driver_phyp_la_CFLAGS = $(LIBSSH2_CFLAGS) \
838
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
839 840 841
libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
endif

842
if WITH_OPENVZ
843
noinst_LTLIBRARIES += libvirt_driver_openvz.la
844
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
845
libvirt_driver_openvz_la_CFLAGS = \
846
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
847
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
848 849
endif

850 851 852 853
if WITH_VMWARE
noinst_LTLIBRARIES += libvirt_driver_vmware.la
libvirt_la_BUILT_LIBADD += libvirt_driver_vmware.la
libvirt_driver_vmware_la_CFLAGS = \
854
		-I$(top_srcdir)/src/conf -I$(top_srcdir)/src/vmx $(AM_CFLAGS)
855 856 857
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
endif

858 859
if WITH_VBOX
noinst_LTLIBRARIES += libvirt_driver_vbox.la
860
libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
861
libvirt_driver_vbox_la_CFLAGS = \
862
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
863
libvirt_driver_vbox_la_LIBADD = $(DLOPEN_LIBS) $(MSCOM_LIBS)
864 865 866
libvirt_driver_vbox_la_SOURCES = $(VBOX_DRIVER_SOURCES)
endif

867 868
if WITH_XENAPI
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
869
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
870
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(LIBCURL_CFLAGS) \
871
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
872
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
873
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(LIBCURL_LIBS)
874 875 876
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
endif

J
Jim Fehlig 已提交
877
if WITH_LIBXL
E
Eric Blake 已提交
878 879 880
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 已提交
881 882
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_libxl.la
E
Eric Blake 已提交
883 884
libvirt_driver_libxl_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version
J
Jim Fehlig 已提交
885 886 887 888 889
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 已提交
890 891

libvirt_driver_libxl_impl_la_CFLAGS = $(LIBXL_CFLAGS)		\
892 893
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/xenxs			\
894
		$(AM_CFLAGS)
E
Eric Blake 已提交
895 896 897
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 已提交
898 899
endif

900
if WITH_QEMU
E
Eric Blake 已提交
901 902 903
noinst_LTLIBRARIES += libvirt_driver_qemu_impl.la
libvirt_driver_qemu_la_SOURCES =
libvirt_driver_qemu_la_LIBADD = libvirt_driver_qemu_impl.la
904 905
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
E
Eric Blake 已提交
906 907
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_qemu_la_LDFLAGS = -module -avoid-version
908
else
909
noinst_LTLIBRARIES += libvirt_driver_qemu.la
910
# Stateful, so linked to daemon instead
911
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
912
endif
E
Eric Blake 已提交
913 914

libvirt_driver_qemu_impl_la_CFLAGS = $(NUMACTL_CFLAGS) \
915
                                $(GNUTLS_CFLAGS) \
S
Serge Hallyn 已提交
916
                                $(LIBNL_CFLAGS) \
917
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
E
Eric Blake 已提交
918 919
libvirt_driver_qemu_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_qemu_impl_la_LIBADD = $(NUMACTL_LIBS) \
920 921
				$(CAPNG_LIBS) \
                                $(GNUTLS_LIBS) \
S
Serge Hallyn 已提交
922
				$(LIBNL_LIBS)
E
Eric Blake 已提交
923
libvirt_driver_qemu_impl_la_SOURCES = $(QEMU_DRIVER_SOURCES)
924

A
Amy Griffis 已提交
925
conf_DATA += qemu/qemu.conf
926

927
augeas_DATA += qemu/libvirtd_qemu.aug
928 929
augeastest_DATA += test_libvirtd_qemu.aug
CLEANFILES += test_libvirtd_qemu.aug
930

931
endif
932
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
933
		qemu/test_libvirtd_qemu.aug.in qemu/THREADS.txt
934

935 936

if WITH_LXC
E
Eric Blake 已提交
937 938 939
noinst_LTLIBRARIES += libvirt_driver_lxc_impl.la
libvirt_driver_lxc_la_SOURCES =
libvirt_driver_lxc_la_LIBADD = libvirt_driver_lxc_impl.la
940 941
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
E
Eric Blake 已提交
942 943
libvirt_driver_lxc_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
944
else
945
noinst_LTLIBRARIES += libvirt_driver_lxc.la
946
# Stateful, so linked to daemon instead
947
#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
948
endif
E
Eric Blake 已提交
949 950

libvirt_driver_lxc_impl_la_CFLAGS = \
S
Serge Hallyn 已提交
951
		$(LIBNL_CFLAGS) \
G
Gao feng 已提交
952
		$(FUSE_CFLAGS) \
953
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
G
Gao feng 已提交
954
libvirt_driver_lxc_impl_la_LIBADD = $(CAPNG_LIBS) $(LIBNL_LIBS) $(FUSE_LIBS)
955
if HAVE_LIBBLKID
E
Eric Blake 已提交
956 957
libvirt_driver_lxc_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_lxc_impl_la_LIBADD += $(BLKID_LIBS)
958
endif
959
if WITH_SECDRIVER_SELINUX
E
Eric Blake 已提交
960
libvirt_driver_lxc_impl_la_LIBADD += $(SELINUX_LIBS)
961 962
endif
if WITH_SECDRIVER_APPARMOR
E
Eric Blake 已提交
963
libvirt_driver_lxc_impl_la_LIBADD += $(APPARMOR_LIBS)
964
endif
E
Eric Blake 已提交
965
libvirt_driver_lxc_impl_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
966 967 968

conf_DATA += lxc/lxc.conf

969
augeas_DATA += lxc/libvirtd_lxc.aug
970 971
augeastest_DATA += test_libvirtd_lxc.aug
CLEANFILES += test_libvirtd_lxc.aug
972

973
endif
974
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug.in
975

976
if WITH_UML
E
Eric Blake 已提交
977 978 979
noinst_LTLIBRARIES += libvirt_driver_uml_impl.la
libvirt_driver_uml_la_SOURCES =
libvirt_driver_uml_la_LIBADD = libvirt_driver_uml_impl.la
980 981
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
E
Eric Blake 已提交
982 983
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_uml_la_LDFLAGS = -module -avoid-version
984
else
985 986
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
987
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
988
endif
E
Eric Blake 已提交
989 990

libvirt_driver_uml_impl_la_CFLAGS = $(NUMACTL_CFLAGS) \
991
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
E
Eric Blake 已提交
992 993 994
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)
995
endif
996

D
Daniel Veillard 已提交
997

998
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
999

1000 1001
ESX_GENERATED_STAMP = .esx_vi_generator.stamp

E
Eric Blake 已提交
1002 1003
EXTRA_DIST += $(ESX_GENERATED_STAMP)

1004 1005 1006
$(ESX_DRIVER_GENERATED): $(ESX_GENERATED_STAMP)

$(ESX_GENERATED_STAMP): $(srcdir)/esx/esx_vi_generator.input \
1007
                         $(srcdir)/esx/esx_vi_generator.py
1008 1009 1010 1011 1012
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/esx/esx_vi_generator.py \
	  && touch $@

MAINTAINERCLEANFILES += $(ESX_DRIVER_GENERATED) $(ESX_GENERATED_STAMP)

D
Daniel Veillard 已提交
1013

1014 1015
if WITH_ESX
noinst_LTLIBRARIES += libvirt_driver_esx.la
1016
libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
1017
libvirt_driver_esx_la_CFLAGS = $(LIBCURL_CFLAGS) \
1018
		-I$(top_srcdir)/src/conf -I$(top_srcdir)/src/vmx $(AM_CFLAGS)
1019
libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
1020
libvirt_driver_esx_la_LIBADD = $(LIBCURL_LIBS)
1021
libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
1022
libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
1023 1024
endif

M
Matthias Bolte 已提交
1025

1026 1027
BUILT_SOURCES += $(HYPERV_DRIVER_GENERATED)

1028 1029
HYPERV_GENERATED_STAMP = .hyperv_wmi_generator.stamp

E
Eric Blake 已提交
1030 1031
EXTRA_DIST += $(HYPERV_GENERATED_STAMP)

1032 1033 1034
$(HYPERV_DRIVER_GENERATED): $(HYPERV_GENERATED_STAMP)

$(HYPERV_GENERATED_STAMP): $(srcdir)/hyperv/hyperv_wmi_generator.input \
1035
                            $(srcdir)/hyperv/hyperv_wmi_generator.py
1036 1037 1038 1039
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/hyperv/hyperv_wmi_generator.py \
	  && touch $@

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

M
Matthias Bolte 已提交
1041 1042 1043 1044
if WITH_HYPERV
noinst_LTLIBRARIES += libvirt_driver_hyperv.la
libvirt_la_BUILT_LIBADD += libvirt_driver_hyperv.la
libvirt_driver_hyperv_la_CFLAGS = $(OPENWSMAN_CFLAGS) \
1045
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
1046 1047 1048 1049 1050
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 已提交
1051 1052 1053 1054 1055 1056 1057 1058
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

1059
if WITH_NETWORK
E
Eric Blake 已提交
1060 1061 1062
noinst_LTLIBRARIES += libvirt_driver_network_impl.la
libvirt_driver_network_la_SOURCES =
libvirt_driver_network_la_LIBADD = libvirt_driver_network_impl.la
1063 1064
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
1065
libvirt_driver_network_la_LIBADD += ../gnulib/lib/libgnu.la $(LIBNL_LIBS) $(DBUS_LIBS)
E
Eric Blake 已提交
1066
libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1067
else
1068
noinst_LTLIBRARIES += libvirt_driver_network.la
1069
# Stateful, so linked to daemon instead
1070
#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
1071
endif
E
Eric Blake 已提交
1072 1073

libvirt_driver_network_impl_la_CFLAGS = \
1074
		$(LIBNL_CFLAGS) $(DBUS_CFLAGS) \
1075
		-I$(top_srcdir)/src/conf $(AM_CFLAGS) $(DBUS_CFLAGS)
E
Eric Blake 已提交
1076
libvirt_driver_network_impl_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
1077
endif
1078 1079 1080
EXTRA_DIST += network/default.xml


1081
if WITH_INTERFACE
1082 1083 1084 1085
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_interface.la
else
noinst_LTLIBRARIES += libvirt_driver_interface.la
1086 1087
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la
1088
endif
1089
libvirt_driver_interface_la_CFLAGS = -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1090
libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS)
1091 1092 1093 1094
libvirt_driver_interface_la_LIBADD =
if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
1095 1096 1097 1098 1099
else
if HAVE_UDEV
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
endif
1100
endif
1101
if WITH_DRIVER_MODULES
1102
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
1103 1104 1105
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
D
Daniel Veillard 已提交
1106 1107
endif

D
Daniel P. Berrange 已提交
1108
if WITH_SECRETS
1109 1110 1111 1112
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_secret.la
else
noinst_LTLIBRARIES += libvirt_driver_secret.la
1113
# Stateful, so linked to daemon instead
1114
#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
1115
endif
1116
libvirt_driver_secret_la_CFLAGS = \
1117
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1118
if WITH_DRIVER_MODULES
1119
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
1120
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1121 1122
endif
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
D
Daniel P. Berrange 已提交
1123
endif
1124

1125
# Needed to keep automake quiet about conditionals
1126 1127
libvirt_driver_storage_impl_la_SOURCES =
libvirt_driver_storage_impl_la_CFLAGS = \
1128
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1129 1130
libvirt_driver_storage_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_storage_impl_la_LIBADD =
1131
if WITH_SECDRIVER_SELINUX
1132
libvirt_driver_storage_impl_la_LIBADD += $(SELINUX_LIBS)
1133 1134
endif
if WITH_SECDRIVER_APPARMOR
1135
libvirt_driver_storage_impl_la_LIBADD += $(APPARMOR_LIBS)
1136
endif
O
Osier Yang 已提交
1137
if HAVE_LIBBLKID
1138 1139
libvirt_driver_storage_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_storage_impl_la_LIBADD += $(BLKID_LIBS)
O
Osier Yang 已提交
1140
endif
1141
if WITH_STORAGE
1142 1143 1144
noinst_LTLIBRARIES += libvirt_driver_storage_impl.la
libvirt_driver_storage_la_SOURCES =
libvirt_driver_storage_la_LIBADD = libvirt_driver_storage_impl.la
1145 1146
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
1147
libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
1148
libvirt_driver_storage_la_LDFLAGS = -module -avoid-version
1149
else
1150
noinst_LTLIBRARIES += libvirt_driver_storage.la
1151
# Stateful, so linked to daemon instead
1152
#libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la
1153
endif
1154 1155
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
1156 1157
endif

1158
if WITH_STORAGE_LVM
1159
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
1160 1161
endif

1162
if WITH_STORAGE_ISCSI
1163
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
1164 1165
endif

1166
if WITH_STORAGE_SCSI
1167
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
1168 1169
endif

D
Dave Allan 已提交
1170
if WITH_STORAGE_MPATH
1171 1172 1173
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 已提交
1174 1175
endif

1176
if WITH_STORAGE_DISK
1177
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
1178
endif
1179

1180
if WITH_STORAGE_RBD
1181 1182
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_RBD_SOURCES)
libvirt_driver_storage_impl_la_LIBADD += $(LIBRBD_LIBS)
1183 1184
endif

1185
if WITH_STORAGE_SHEEPDOG
1186
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SHEEPDOG_SOURCES)
1187 1188
endif

1189 1190 1191 1192 1193 1194 1195
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
1196
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
1197 1198 1199
endif
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

1200
libvirt_driver_nodedev_la_CFLAGS = \
1201
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1202
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
1203
libvirt_driver_nodedev_la_LIBADD =
1204

1205 1206 1207
if HAVE_HAL
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
1208
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
1209
endif
1210 1211
if HAVE_UDEV
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
1212
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
1213
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
1214
endif
1215 1216

if WITH_DRIVER_MODULES
1217
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
1218 1219 1220 1221 1222
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
endif
endif


1223 1224 1225 1226 1227
if WITH_NWFILTER
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nwfilter.la
else
noinst_LTLIBRARIES += libvirt_driver_nwfilter.la
1228 1229
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
1230
endif
1231
libvirt_driver_nwfilter_la_CFLAGS = $(LIBPCAP_CFLAGS) \
1232
		-I$(top_srcdir)/src/conf $(LIBNL_CFLAGS) $(AM_CFLAGS) $(DBUS_CFLAGS)
1233
libvirt_driver_nwfilter_la_LDFLAGS = $(LD_AMFLAGS)
1234
libvirt_driver_nwfilter_la_LIBADD = $(LIBPCAP_LIBS) $(LIBNL_LIBS) $(DBUS_LIBS)
1235
if WITH_DRIVER_MODULES
1236
libvirt_driver_nwfilter_la_LIBADD += ../gnulib/lib/libgnu.la
1237
libvirt_driver_nwfilter_la_LDFLAGS += -module -avoid-version
1238 1239 1240 1241 1242
endif
libvirt_driver_nwfilter_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
endif


1243 1244 1245 1246
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 = \
1247
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1248 1249
libvirt_security_manager_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_security_manager_la_LIBADD =
1250
if WITH_SECDRIVER_SELINUX
1251 1252 1253
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
libvirt_security_manager_la_CFLAGS += $(SELINUX_CFLAGS)
libvirt_security_manager_la_LIBADD += $(SELINUX_LIBS)
1254
endif
J
Jamie Strandboge 已提交
1255
if WITH_SECDRIVER_APPARMOR
1256 1257 1258
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 已提交
1259
endif
1260

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

1301 1302 1303 1304 1305 1306
check-local: check-augeas

.PHONY: check-augeas check-augeas-qemu check-augeas-lxc check-augeas-sanlock

check-augeas: check-augeas-qemu check-augeas-lxc check-augeas-sanlock

1307
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1308
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1309

1310
if WITH_QEMU
1311 1312
test_libvirtd_qemu.aug: qemu/test_libvirtd_qemu.aug.in \
		$(srcdir)/qemu/qemu.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1313
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/qemu/qemu.conf $< $@
1314

1315
check-augeas-qemu: test_libvirtd_qemu.aug
1316
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1317
	    '$(AUGPARSE)' -I $(srcdir)/qemu test_libvirtd_qemu.aug; \
1318
	fi
1319 1320
else
check-augeas-qemu:
1321
endif
1322

1323
if WITH_LXC
1324 1325
test_libvirtd_lxc.aug: lxc/test_libvirtd_lxc.aug.in \
		$(srcdir)/lxc/lxc.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1326
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/lxc/lxc.conf $< $@
1327

1328
check-augeas-lxc: test_libvirtd_lxc.aug
1329
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1330
	    '$(AUGPARSE)' -I $(srcdir)/lxc test_libvirtd_lxc.aug; \
1331
	fi
1332 1333
else
check-augeas-lxc:
1334
endif
1335

1336
if HAVE_SANLOCK
1337 1338
test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
		locking/qemu-sanlock.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1339
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
1340

1341
check-augeas-sanlock: test_libvirt_sanlock.aug
1342
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1343
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_sanlock.aug; \
1344
	fi
1345 1346 1347
else
check-augeas-sanlock:
endif
1348

1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367
#
# 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.
#

1368
if WITH_DRIVER_MODULES
1369
USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
1370
endif
1371

1372
if WITH_LINUX
1373
USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
1374
endif
1375

1376
if WITH_ESX
1377
USED_SYM_FILES += $(srcdir)/libvirt_esx.syms
1378 1379
endif

1380
if WITH_LIBVIRTD
1381
USED_SYM_FILES += $(srcdir)/libvirt_daemon.syms
1382 1383
endif

1384
if WITH_OPENVZ
1385
USED_SYM_FILES += $(srcdir)/libvirt_openvz.syms
1386 1387
endif

1388
if WITH_VMX
1389
USED_SYM_FILES += $(srcdir)/libvirt_vmx.syms
1390 1391
endif

1392
if WITH_XENXS
1393
USED_SYM_FILES += $(srcdir)/libvirt_xenxs.syms
1394 1395
endif

E
Eric Blake 已提交
1396
if HAVE_SASL
1397
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
E
Eric Blake 已提交
1398 1399
endif

1400
if HAVE_LIBSSH2
1401
USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
1402 1403
endif

1404
if WITH_ATOMIC_OPS_PTHREAD
1405
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
1406 1407
endif

1408 1409 1410
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
1411
  libvirt_atomic.syms		\
1412
  libvirt_driver_modules.syms	\
E
Eric Blake 已提交
1413
  libvirt_daemon.syms		\
1414
  libvirt_linux.syms		\
1415 1416 1417
  libvirt_esx.syms		\
  libvirt_openvz.syms		\
  libvirt_qemu.syms		\
E
Eric Blake 已提交
1418
  libvirt_sasl.syms		\
1419
  libvirt_vmx.syms		\
1420 1421
  libvirt_xenxs.syms	\
  libvirt_libssh2.syms
1422

1423 1424 1425
GENERATED_SYM_FILES = libvirt.syms libvirt.def libvirt_qemu.def

BUILT_SOURCES += $(GENERATED_SYM_FILES)
1426

1427 1428
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(top_builddir)/config.status
1429 1430 1431 1432 1433 1434
	$(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 && \
1435
	for file in $(USED_SYM_FILES); do \
1436
	    cat $(srcdir)/$$file >>$@-tmp; \
1437 1438 1439
	done && \
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
1440
	mv $@-tmp libvirt.syms
1441

1442 1443 1444
libvirt.def: libvirt.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1445
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1446 1447 1448
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt.def

1449 1450 1451
libvirt_qemu.def: $(srcdir)/libvirt_qemu.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1452
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1453 1454 1455
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt_qemu.def

1456 1457
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
1458
libvirt_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
E
Eric Blake 已提交
1459
		     -version-info $(LIBVIRT_VERSION_INFO) \
1460
		    $(LIBVIRT_NODELETE) $(AM_LDFLAGS) \
1461
		    $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS)
1462
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
1463
libvirt_la_LIBADD += \
1464
		    $(DRIVER_MODULE_LIBS) \
1465
		    $(CYGWIN_EXTRA_LIBADD)
1466
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
1467 1468 1469 1470 1471 1472
# 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)
1473

1474
if WITH_DTRACE_PROBES
1475
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
1476
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
1477
nodist_libvirt_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1478
if WITH_REMOTE
E
Eric Blake 已提交
1479
nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1480
endif WITH_REMOTE
1481 1482 1483
if WITH_DRIVER_MODULES
DTRACE2SYSTEMTAP_FLAGS = --with-modules
endif
1484

1485 1486 1487
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

if WITH_QEMU
1488
libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
1489
nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
1490
BUILT_SOURCES += libvirt_qemu_probes.h
1491
endif
1492 1493

tapsetdir = $(datadir)/systemtap/tapset
1494
tapset_DATA = libvirt_probes.stp libvirt_qemu_probes.stp libvirt_functions.stp
1495

1496
%_probes.h: %_probes.d
1497 1498
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

E
Eric Blake 已提交
1499
.PRECIOUS: %_probes.o
1500
%_probes.o: %_probes.d
1501 1502
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

1503 1504 1505 1506 1507 1508 1509 1510 1511
%_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 已提交
1512 1513 1514 1515
RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x \
		  $(srcdir)/rpc/virkeepaliveprotocol.x \
		  $(srcdir)/remote/remote_protocol.x \
		  $(srcdir)/remote/qemu_protocol.x
1516 1517

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

1520
%_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl $(top_builddir)/config.status
1521
	$(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
1522
	  $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
1523

1524
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
1525
              libvirt_qemu_probes.h libvirt_qemu_probes.o \
1526
              libvirt_qemu_probes.lo\
1527 1528
              libvirt_functions.stp libvirt_probes.stp \
              libvirt_qemu_probes.stp
1529 1530
endif

1531
EXTRA_DIST += libvirt_probes.d libvirt_qemu_probes.d
1532

C
Chris Lalancette 已提交
1533 1534
libvirt_qemu_la_SOURCES = libvirt-qemu.c
libvirt_qemu_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
E
Eric Blake 已提交
1535 1536
			  -version-info $(LIBVIRT_VERSION_INFO) \
			  $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS) \
1537 1538
			  $(AM_LDFLAGS)
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
1539
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
E
Eric Blake 已提交
1540
EXTRA_DIST += $(LIBVIRT_QEMU_SYMBOL_FILE)
1541

1542 1543 1544
if WITH_LIBVIRTD
sbin_PROGRAMS = virtlockd

1545 1546 1547
virtlockd_SOURCES = \
		$(LOCK_DAEMON_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
1548
		$(LOCK_DAEMON_GENERATED) \
1549
		$(NULL)
1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615
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
EXTRA_DIST += $(LOCK_DAEMON_SOURCES)
endif

EXTRA_DIST += locking/virtlockd.sysconf

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



1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 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
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 $@


1663 1664 1665 1666 1667
if HAVE_SANLOCK
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES = sanlock.la

sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
1668
sanlock_la_CFLAGS = -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1669
sanlock_la_LDFLAGS = -module -avoid-version
1670
sanlock_la_LIBADD = -lsanlock_client \
1671 1672 1673
		../gnulib/lib/libgnu.la

augeas_DATA += locking/libvirt_sanlock.aug
1674 1675
augeastest_DATA += test_libvirt_sanlock.aug
CLEANFILES += test_libvirt_sanlock.aug
1676

E
Eric Blake 已提交
1677
locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
1678
	$(AM_V_GEN)$(MKDIR_P) locking ; \
1679 1680 1681
	cp $< $@

if WITH_QEMU
E
Eric Blake 已提交
1682
nodist_conf_DATA = locking/qemu-sanlock.conf
1683
BUILT_SOURCES += locking/qemu-sanlock.conf
E
Eric Blake 已提交
1684
DISTCLEANFILES += locking/qemu-sanlock.conf
1685
endif
1686
else
1687
EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
1688
endif
1689 1690
EXTRA_DIST += locking/sanlock.conf \
	locking/libvirt_sanlock.aug \
1691
	locking/test_libvirt_sanlock.aug.in
1692

1693 1694 1695 1696
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
1697

1698
EXTRA_DIST += \
E
Eric Blake 已提交
1699 1700 1701 1702
	dtrace2systemtap.pl \
	rpc/gendispatch.pl \
	rpc/genprotocol.pl \
	rpc/gensystemtap.pl \
J
Jiri Denemark 已提交
1703 1704
	rpc/virnetprotocol.x \
	rpc/virkeepaliveprotocol.x
1705

E
Eric Blake 已提交
1706 1707
VIR_NET_RPC_GENERATED = \
	$(srcdir)/rpc/virnetprotocol.h \
J
Jiri Denemark 已提交
1708 1709 1710
	$(srcdir)/rpc/virnetprotocol.c \
	$(srcdir)/rpc/virkeepaliveprotocol.h \
	$(srcdir)/rpc/virkeepaliveprotocol.c
1711

1712
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
1713

1714
libvirt_net_rpc_la_SOURCES = \
1715
	rpc/virnetmessage.h rpc/virnetmessage.c \
1716
	rpc/virnetprotocol.h rpc/virnetprotocol.c \
1717
	rpc/virnetsocket.h rpc/virnetsocket.c \
J
Jiri Denemark 已提交
1718
	rpc/virnettlscontext.h rpc/virnettlscontext.c \
1719 1720
	rpc/virkeepaliveprotocol.h rpc/virkeepaliveprotocol.c \
	rpc/virkeepalive.h rpc/virkeepalive.c
1721 1722 1723 1724 1725 1726 1727
if HAVE_LIBSSH2
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
else
EXTRA_DIST += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
endif
1728 1729 1730 1731 1732 1733 1734
if HAVE_SASL
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
else
EXTRA_DIST += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
endif
1735
libvirt_net_rpc_la_CFLAGS = \
1736
			$(GNUTLS_CFLAGS) \
1737
			$(SASL_CFLAGS) \
1738
			$(LIBSSH2_CFLAGS) \
1739
			$(XDR_CFLAGS) \
1740 1741
			$(AM_CFLAGS)
libvirt_net_rpc_la_LDFLAGS = \
1742
			$(GNUTLS_LIBS) \
1743
			$(SASL_LIBS) \
1744
			$(LIBSSH2_LIBS)\
1745 1746 1747 1748 1749 1750
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1751 1752 1753 1754
libvirt_net_rpc_server_la_SOURCES = \
	rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
	rpc/virnetserverservice.h rpc/virnetserverservice.c \
	rpc/virnetserverclient.h rpc/virnetserverclient.c \
1755
	rpc/virnetservermdns.h rpc/virnetservermdns.c \
1756 1757
	rpc/virnetserver.h rpc/virnetserver.c
libvirt_net_rpc_server_la_CFLAGS = \
1758
			$(AVAHI_CFLAGS) \
1759
			$(DBUS_CFLAGS) \
E
Eric Blake 已提交
1760
			$(XDR_CFLAGS) \
J
Jim Fehlig 已提交
1761 1762
			$(AM_CFLAGS) \
			$(POLKIT_CFLAGS)
1763 1764
libvirt_net_rpc_server_la_LDFLAGS = \
			$(AM_LDFLAGS) \
1765
			$(AVAHI_LIBS) \
1766
			$(DBUS_LIBS) \
J
Jim Fehlig 已提交
1767
			$(POLKIT_LIBS) \
1768 1769 1770 1771 1772
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_server_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1773 1774 1775 1776 1777
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 已提交
1778 1779
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
1780 1781 1782 1783 1784 1785
libvirt_net_rpc_client_la_LDFLAGS = \
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
1786

1787 1788
libexec_PROGRAMS =

1789
if WITH_LIBVIRTD
1790 1791 1792 1793 1794 1795
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
1796 1797 1798
if WITH_DTRACE_PROBES
libvirt_iohelper_LDADD += libvirt_probes.lo
endif
1799 1800

libvirt_iohelper_CFLAGS = $(AM_CFLAGS)
1801
endif
1802

1803
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
1804
if WITH_LIBVIRTD
1805
libexec_PROGRAMS += libvirt_parthelper
1806

1807
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
1808
libvirt_parthelper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
1809 1810 1811 1812
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
1813 1814 1815
if WITH_DTRACE_PROBES
libvirt_parthelper_LDADD += libvirt_probes.lo
endif
1816

1817
libvirt_parthelper_CFLAGS = $(LIBPARTED_CFLAGS) $(AM_CFLAGS)
R
Richard W.M. Jones 已提交
1818
endif
1819
endif
1820 1821
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

1822

1823 1824 1825 1826 1827 1828 1829 1830 1831
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

1832 1833 1834 1835 1836 1837
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
O
Osier Yang 已提交
1838 1839
		$(NODE_INFO_SOURCES)				\
		$(DATATYPES_SOURCES)
1840
libvirt_lxc_LDFLAGS = $(WARN_CFLAGS) $(AM_LDFLAGS)
1841 1842
libvirt_lxc_LDADD =			\
		$(NUMACTL_LIBS) \
G
Gao feng 已提交
1843
		$(FUSE_LIBS) \
1844 1845
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
1846
		libvirt_security_manager.la \
1847 1848
		libvirt_conf.la \
		libvirt_util.la \
1849
		../gnulib/lib/libgnu.la
1850
if WITH_DTRACE_PROBES
1851
libvirt_lxc_LDADD += libvirt_probes.lo
1852
endif
1853 1854 1855
if WITH_SECDRIVER_SELINUX
libvirt_lxc_LDADD += $(SELINUX_LIBS)
endif
J
Jiri Denemark 已提交
1856 1857 1858
if WITH_SECDRIVER_APPARMOR
libvirt_lxc_LDADD += $(APPARMOR_LIBS)
endif
1859
libvirt_lxc_CFLAGS =				\
1860
		-I$(top_srcdir)/src/conf	\
1861
		$(AM_CFLAGS)                    \
G
Gao feng 已提交
1862 1863
		$(LIBNL_CFLAGS)			\
		$(FUSE_CFLAGS)
1864 1865 1866 1867
if HAVE_LIBBLKID
libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
libvirt_lxc_LDADD += $(BLKID_LIBS)
endif
1868 1869 1870
if WITH_SECDRIVER_SELINUX
libvirt_lxc_CFLAGS += $(SELINUX_CFLAGS)
endif
J
Jiri Denemark 已提交
1871 1872 1873
if WITH_SECDRIVER_APPARMOR
libvirt_lxc_CFLAGS += $(APPARMOR_CFLAGS)
endif
1874 1875 1876 1877
endif
endif
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
1878 1879 1880 1881 1882 1883
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1884
virt_aa_helper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
J
Jamie Strandboge 已提交
1885
virt_aa_helper_LDADD =						\
C
Chris Lalancette 已提交
1886 1887 1888
		libvirt_conf.la					\
		libvirt_util.la					\
		../gnulib/lib/libgnu.la
1889
if WITH_DTRACE_PROBES
1890
virt_aa_helper_LDADD += libvirt_probes.lo
1891
endif
J
Jamie Strandboge 已提交
1892
virt_aa_helper_CFLAGS =						\
1893 1894
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/security			\
1895
		$(AM_CFLAGS)
J
Jamie Strandboge 已提交
1896 1897 1898 1899
endif
endif
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1900
install-data-local: install-init install-systemd
1901 1902 1903 1904
if WITH_LIBVIRTD
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lockd"
endif
1905 1906
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
1907
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems"
1908
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
1909 1910 1911
if HAVE_SANLOCK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock"
endif
1912 1913 1914
if WITH_QEMU
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/qemu"
1915
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
1916
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
1917 1918 1919 1920 1921
endif
if WITH_LXC
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
endif
J
Jim Fehlig 已提交
1922 1923 1924
if WITH_LIBXL
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/libxl"
J
Jim Fehlig 已提交
1925
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/libxl"
J
Jim Fehlig 已提交
1926
endif
1927 1928 1929 1930
if WITH_UML
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/uml"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/uml"
endif
1931 1932 1933
if WITH_XEN
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/xen"
endif
1934 1935
if WITH_NETWORK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/network"
1936
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
1937
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
1938 1939 1940 1941
	$(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 已提交
1942 1943 1944 1945 1946 1947
	  { 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; }
1948
	test -e $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml || \
E
Eric Blake 已提交
1949
	   ln -s ../default.xml \
1950 1951 1952
	    $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml
endif

1953
uninstall-local:: uninstall-init uninstall-systemd
1954 1955 1956 1957
if WITH_LIBVIRTD
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lockd" ||:
endif
1958 1959
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
1960
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
1961
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
1962 1963 1964
if HAVE_SANLOCK
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
endif
1965 1966 1967 1968 1969
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" ||:
1970
endif
1971 1972 1973 1974
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
endif
J
Jim Fehlig 已提交
1975 1976 1977
if WITH_LIBXL
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/libxl" ||:
J
Jim Fehlig 已提交
1978
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/libxl" ||:
J
Jim Fehlig 已提交
1979
endif
1980 1981 1982 1983
if WITH_UML
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/uml" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/uml" ||:
endif
1984 1985 1986
if WITH_XEN
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/xen" ||:
endif
1987 1988 1989 1990 1991 1992 1993 1994 1995
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 已提交
1996

1997 1998
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
1999
MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED)