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

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           \
L
Lai Jiangshan 已提交
97
		util/virkeycode.c util/virkeycode.h		\
98
		util/virkeyfile.c util/virkeyfile.h		\
99
		util/virkeymaps.h				\
100
		util/virmacaddr.h util/virmacaddr.c		\
101
		util/virnetdev.h util/virnetdev.c		\
102
		util/virnetdevbandwidth.h util/virnetdevbandwidth.c \
103
		util/virnetdevbridge.h util/virnetdevbridge.c	\
104
		util/virnetdevmacvlan.c util/virnetdevmacvlan.h	\
A
Ansis Atteka 已提交
105
		util/virnetdevopenvswitch.h util/virnetdevopenvswitch.c \
106
		util/virnetdevtap.h util/virnetdevtap.c		\
107
		util/virnetdevveth.h util/virnetdevveth.c \
L
Laine Stump 已提交
108
		util/virnetdevvlan.h util/virnetdevvlan.c \
109
		util/virnetdevvportprofile.h util/virnetdevvportprofile.c \
110
		util/virnetlink.c util/virnetlink.h		\
111
		util/virrandom.h util/virrandom.c		\
112
		util/virsocketaddr.h util/virsocketaddr.c \
M
Martin Kletzander 已提交
113 114
		util/virtime.h util/virtime.c \
		util/viruri.h util/viruri.c
L
Lai Jiangshan 已提交
115 116 117 118

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

119 120
BUILT_SOURCES += $(srcdir)/util/virkeymaps.h

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

125
EXTRA_DIST += util/threads-pthread.c util/threads-win32.c
126

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

142 143 144
LOCK_DRIVER_SANLOCK_SOURCES = \
		locking/lock_driver_sanlock.c

145

146 147
NETDEV_CONF_SOURCES =						\
		conf/netdev_bandwidth_conf.h conf/netdev_bandwidth_conf.c \
148 149
		conf/netdev_vport_profile_conf.h conf/netdev_vport_profile_conf.c \
		conf/netdev_vlan_conf.h conf/netdev_vlan_conf.c
150

151
# XML configuration format handling sources
152 153
# Domain driver generic impl APIs
DOMAIN_CONF_SOURCES =						\
154
		conf/capabilities.c conf/capabilities.h		\
155
		conf/domain_conf.c conf/domain_conf.h		\
156
		conf/domain_audit.c conf/domain_audit.h		\
157 158
		conf/domain_nwfilter.c conf/domain_nwfilter.h	\
		conf/snapshot_conf.c conf/snapshot_conf.h
159 160 161

DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
162 163

# Network driver generic impl APIs
164
NETWORK_CONF_SOURCES =						\
165
		conf/network_conf.c conf/network_conf.h
166

167 168
# Network filter driver generic impl APIs
NWFILTER_PARAM_CONF_SOURCES =					\
169
		conf/nwfilter_params.c conf/nwfilter_params.h	\
170 171
		conf/nwfilter_ipaddrmap.c			\
		conf/nwfilter_ipaddrmap.h			\
172
		conf/nwfilter_conf.h
173

174
NWFILTER_CONF_SOURCES =						\
175 176 177
		$(NWFILTER_PARAM_CONF_SOURCES)			\
		conf/nwfilter_conf.c conf/nwfilter_conf.h

178
# Storage driver generic impl APIs
179 180
STORAGE_CONF_SOURCES =                                         \
		conf/storage_conf.h conf/storage_conf.c
181

182
# Interface driver generic impl APIs
183 184
INTERFACE_CONF_SOURCES =                                       \
		conf/interface_conf.c conf/interface_conf.h
185

186
# Secret driver generic impl APIs
187 188 189 190 191 192 193 194 195 196
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

197 198
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h
199

200 201 202
# Safe console handling helper APIs
CONSOLE_CONF_SOURCES =						\
		conf/virconsole.c conf/virconsole.h
203

204 205 206 207
# Device Helper APIs
DEVICE_CONF_SOURCES =                                           \
		conf/device_conf.c conf/device_conf.h

208
CONF_SOURCES =							\
209
		$(NETDEV_CONF_SOURCES)				\
210 211 212
		$(DOMAIN_CONF_SOURCES)				\
		$(DOMAIN_EVENT_SOURCES)				\
		$(NETWORK_CONF_SOURCES)				\
213
		$(NWFILTER_CONF_SOURCES)			\
214 215 216 217
		$(NODE_DEVICE_CONF_SOURCES)			\
		$(STORAGE_CONF_SOURCES)				\
		$(ENCRYPTION_CONF_SOURCES)			\
		$(INTERFACE_CONF_SOURCES)			\
218
		$(SECRET_CONF_SOURCES)				\
219
		$(CPU_CONF_SOURCES)				\
220 221
		$(CONSOLE_CONF_SOURCES)				\
		$(DEVICE_CONF_SOURCES)
222

223
# The remote RPC driver, covering domains, storage, networks, etc
224
REMOTE_DRIVER_GENERATED = \
E
Eric Blake 已提交
225 226 227 228 229 230 231 232 233
		$(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
234
REMOTE_DRIVER_PROTOCOL = $(REMOTE_PROTOCOL) $(QEMU_PROTOCOL)
235

236 237
$(srcdir)/remote/remote_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
		$(REMOTE_PROTOCOL)
238
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl \
239
	  -k remote REMOTE $(REMOTE_PROTOCOL) > $@
240

241 242
$(srcdir)/remote/qemu_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
		$(QEMU_PROTOCOL)
243
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl \
244
	  -k qemu QEMU $(QEMU_PROTOCOL) > $@
245 246 247 248 249

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

251
EXTRA_DIST +=  $(REMOTE_DRIVER_PROTOCOL) \
252
		$(REMOTE_DRIVER_GENERATED)
253

254 255 256 257 258 259 260 261 262 263
# 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
264 265 266 267

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

276
PDWTAGS = \
277
	$(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then		\
278 279 280 281 282
	  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								\
283
	    $(PERL) -0777 -n						\
284
		-e 'foreach my $$p (split m!\n*(?:$(r1)|$(r2))\n!) {'	\
285 286
		-e '  if ($$p =~ /^(struct|enum) $(struct_prefix)/ ||'	\
		-e '      $$p =~ /^enum {/) {'				\
287 288 289
		-e '    $$p =~ s!\t*/\*.*?\*/!!sg;'			\
		-e '    $$p =~ s!\s+\n!\n!sg;'				\
		-e '    $$p =~ s!\s+$$!!;'				\
290
		-e '    $$p =~ s!\t!        !g;'			\
291 292 293 294
		-e '    print "$$p\n";'					\
		-e '    $$n++;'						\
		-e '  }'						\
		-e '}'							\
295 296 297
		-e 'BEGIN {'						\
		-e '  print "/* -*- c -*- */\n";'			\
		-e '}'							\
298
		-e 'END {'						\
299
		-e '  if ($$n < 1) {'					\
300 301 302 303 304 305
		-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 '}'							\
306 307
		< $(@F)-t1 > $(@F)-t3;					\
	    case $$? in 8) rm -f $(@F)-t?; exit 0;; 0) ;; *) exit 1;; esac;\
308
	    diff -u $(@)s $(@F)-t3; st=$$?; rm -f $(@F)-t?; exit $$st;	\
309
	  fi;								\
310
	else								\
311 312
	  echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2;	\
	  echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
313
	fi
314

315
# .libs/libvirt.so is built by libtool as a side-effect of the Makefile
316 317
# rule for libvirt.la.  However, checking symbols relies on Linux ELF layout
if WITH_LINUX
318 319 320
check-symfile: libvirt.syms libvirt.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \
	  .libs/libvirt.so
321 322 323
else
check-symfile:
endif
324

325 326 327
PROTOCOL_STRUCTS = \
	$(srcdir)/remote_protocol-structs \
	$(srcdir)/qemu_protocol-structs \
J
Jiri Denemark 已提交
328 329
	$(srcdir)/virnetprotocol-structs \
	$(srcdir)/virkeepaliveprotocol-structs
330
if WITH_REMOTE
331 332
check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)

333 334
# 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.
335 336
$(srcdir)/remote_protocol-struct $(srcdir)/qemu_protocol-struct: \
		$(srcdir)/%-struct: libvirt_driver_remote_la-%.lo
337
	$(PDWTAGS)
338 339
$(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \
		$(srcdir)/%-struct: libvirt_net_rpc_la-%.lo
340
	$(PDWTAGS)
341
else !WITH_REMOTE
342 343 344
# The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be
# re-generated when configured --without-remote.
check-protocol:
345
endif
346
EXTRA_DIST += $(PROTOCOL_STRUCTS) check-symfile.pl
E
Eric Blake 已提交
347
check-local: check-protocol check-symfile
348
.PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
349

350 351
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES =						\
352
		test/test_driver.c test/test_driver.h
353 354 355

# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
356 357 358 359 360 361
		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
362
if WITH_XEN_INOTIFY
363
XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
364
endif
365

366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403
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)

404
LXC_DRIVER_SOURCES =						\
405 406
		$(LXC_PROTOCOL_GENERATED)			\
		$(LXC_MONITOR_GENERATED)			\
407 408
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
409
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
410
		lxc/lxc_domain.c lxc/lxc_domain.h		\
411
		lxc/lxc_monitor.c lxc/lxc_monitor.h		\
412
		lxc/lxc_process.c lxc/lxc_process.h		\
413
		lxc/lxc_driver.c lxc/lxc_driver.h
414

415
LXC_CONTROLLER_SOURCES =					\
416 417
		$(LXC_PROTOCOL_GENERATED)			\
		$(LXC_CONTROLLER_GENERATED)			\
418 419
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
420
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
421
		lxc/lxc_controller.c
422

J
Jamie Strandboge 已提交
423
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES =			\
E
Eric Blake 已提交
424
		$(DATATYPES_SOURCES)				\
J
Jamie Strandboge 已提交
425 426
		security/virt-aa-helper.c

427 428 429
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

430
OPENVZ_DRIVER_SOURCES =						\
431
		openvz/openvz_conf.c openvz/openvz_conf.h	\
432 433
		openvz/openvz_driver.c openvz/openvz_driver.h   \
		openvz/openvz_util.c openvz/openvz_util.h
434

E
Eric Blake 已提交
435
VMWARE_DRIVER_SOURCES =						\
436
		vmware/vmware_driver.c vmware/vmware_driver.h	\
437 438
		vmware/vmware_conf.c vmware/vmware_conf.h

439
VBOX_DRIVER_SOURCES =						\
E
Eric Blake 已提交
440 441 442 443 444 445
	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			\
446 447
	vbox/vbox_V4_0.c vbox/vbox_CAPI_v4_0.h			\
	vbox/vbox_V4_1.c vbox/vbox_CAPI_v4_1.h
448

E
Eric Blake 已提交
449
VBOX_DRIVER_EXTRA_DIST =					\
450 451 452
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
453

O
Osier Yang 已提交
454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471
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				\
472
		qemu/qemu_bridge_filter.h
R
Richard W.M. Jones 已提交
473

O
Osier Yang 已提交
474
XENAPI_DRIVER_SOURCES =						\
475
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
O
Osier Yang 已提交
476
		xenapi/xenapi_driver_private.h			\
477 478
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

J
Jim Fehlig 已提交
479 480 481 482
LIBXL_DRIVER_SOURCES =						\
		libxl/libxl_conf.c libxl/libxl_conf.h		\
		libxl/libxl_driver.c libxl/libxl_driver.h

483
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
484 485
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
486

O
Osier Yang 已提交
487 488 489 490 491 492 493
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	\
		esx/esx_device_monitor.c esx/esx_device_monitor.h	\
494
		esx/esx_secret_driver.c esx/esx_secret_driver.h		\
O
Osier Yang 已提交
495 496 497 498
		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		\
499
		esx/esx_vi_types.c esx/esx_vi_types.h
500

501
ESX_DRIVER_GENERATED =							\
502 503
		esx/esx_vi_methods.generated.c				\
		esx/esx_vi_methods.generated.h				\
504
		esx/esx_vi_methods.generated.macro			\
505 506 507 508 509
		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			\
510 511 512
		esx/esx_vi_types.generated.typefromstring		\
		esx/esx_vi.generated.c					\
		esx/esx_vi.generated.h
513

O
Osier Yang 已提交
514
ESX_DRIVER_EXTRA_DIST =							\
515 516 517 518 519
		esx/README						\
		esx/esx_vi_generator.input				\
		esx/esx_vi_generator.py					\
		$(ESX_DRIVER_GENERATED)

O
Osier Yang 已提交
520
HYPERV_DRIVER_SOURCES =									\
M
Matthias Bolte 已提交
521 522 523 524 525 526 527
		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		\
528
		hyperv/hyperv_nwfilter_driver.c hyperv/hyperv_nwfilter_driver.h		\
529
		hyperv/hyperv_util.c hyperv/hyperv_util.h				\
530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545
		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 已提交
546 547
PARALLELS_DRIVER_SOURCES =					\
		parallels/parallels_driver.h			\
548
		parallels/parallels_driver.c			\
549 550
		parallels/parallels_utils.c			\
		parallels/parallels_utils.h			\
D
Dmitry Guryanov 已提交
551
		parallels/parallels_storage.c
D
Dmitry Guryanov 已提交
552

553
NETWORK_DRIVER_SOURCES =					\
554
		network/bridge_driver.h network/bridge_driver.c
555

556 557 558 559
INTERFACE_DRIVER_SOURCES =

if WITH_INTERFACE
INTERFACE_DRIVER_SOURCES +=					\
560 561
		interface/interface_driver.h        \
		interface/interface_driver.c
562 563 564 565

if WITH_NETCF
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_netcf.c
566
endif
567 568 569 570 571
if HAVE_UDEV
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_udev.c
endif
endif
572

573
SECRET_DRIVER_SOURCES =						\
574
		secret/secret_driver.h secret/secret_driver.c
575

576
# Storage backend specific impls
O
Osier Yang 已提交
577 578
STORAGE_DRIVER_SOURCES =						\
		storage/storage_driver.h storage/storage_driver.c	\
579
		storage/storage_backend.h storage/storage_backend.c
580 581

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

584
STORAGE_DRIVER_LVM_SOURCES =					\
O
Osier Yang 已提交
585
		storage/storage_backend_logical.h		\
586
		storage/storage_backend_logical.c
587 588

STORAGE_DRIVER_ISCSI_SOURCES =					\
589
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
590

591
STORAGE_DRIVER_SCSI_SOURCES =					\
592
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
593

D
Dave Allan 已提交
594
STORAGE_DRIVER_MPATH_SOURCES =					\
595
		storage/storage_backend_mpath.h storage/storage_backend_mpath.c
D
Dave Allan 已提交
596

597
STORAGE_DRIVER_DISK_SOURCES =					\
598
		storage/storage_backend_disk.h storage/storage_backend_disk.c
599

600 601 602
STORAGE_DRIVER_RBD_SOURCES =					\
		storage/storage_backend_rbd.h storage/storage_backend_rbd.c

603 604 605
STORAGE_DRIVER_SHEEPDOG_SOURCES =				\
		storage/storage_backend_sheepdog.h storage/storage_backend_sheepdog.c

606
STORAGE_HELPER_DISK_SOURCES =					\
607
		storage/parthelper.c
608

609 610 611
UTIL_IO_HELPER_SOURCES =					\
		util/iohelper.c

612
# Network filters
O
Osier Yang 已提交
613
NWFILTER_DRIVER_SOURCES =						\
614
		nwfilter/nwfilter_driver.h nwfilter/nwfilter_driver.c	\
615 616
		nwfilter/nwfilter_gentech_driver.c			\
		nwfilter/nwfilter_gentech_driver.h			\
S
Stefan Berger 已提交
617 618
		nwfilter/nwfilter_dhcpsnoop.c				\
		nwfilter/nwfilter_dhcpsnoop.h				\
619
		nwfilter/nwfilter_ebiptables_driver.c			\
620 621 622
		nwfilter/nwfilter_ebiptables_driver.h			\
		nwfilter/nwfilter_learnipaddr.c				\
		nwfilter/nwfilter_learnipaddr.h
623

624

625
# Security framework and drivers for various models
O
Osier Yang 已提交
626 627 628 629 630
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		\
631
		security/security_manager.h security/security_manager.c
632

633
SECURITY_DRIVER_SELINUX_SOURCES =				\
634
		security/security_selinux.h security/security_selinux.c
635

J
Jamie Strandboge 已提交
636 637 638
SECURITY_DRIVER_APPARMOR_SOURCES =				\
		security/security_apparmor.h security/security_apparmor.c

639

640
NODE_DEVICE_DRIVER_SOURCES =					\
O
Osier Yang 已提交
641 642
		node_device/node_device_driver.c		\
		node_device/node_device_driver.h		\
643
		node_device/node_device_linux_sysfs.c
644 645

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
646
		node_device/node_device_hal.c			\
647
		node_device/node_device_hal.h
648

649
NODE_DEVICE_DRIVER_UDEV_SOURCES =				\
D
Daniel Veillard 已提交
650 651
		node_device/node_device_udev.c			\
		node_device/node_device_udev.h
652

J
Jiri Denemark 已提交
653 654 655 656
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 已提交
657
		cpu/cpu_s390.h cpu/cpu_s390.c			\
C
Chuck Short 已提交
658
		cpu/cpu_arm.h cpu/cpu_arm.c			\
P
Prerna Saxena 已提交
659 660
		cpu/cpu_map.h cpu/cpu_map.c cpu/cpu_powerpc.h	\
		cpu/cpu_powerpc.c
661

662 663 664
VMX_SOURCES =							\
		vmx/vmx.c vmx/vmx.h

665 666
XENXS_SOURCES =							\
		xenxs/xenxs_private.h				\
667 668
		xenxs/xen_sxpr.c xenxs/xen_sxpr.h		\
		xenxs/xen_xm.c xenxs/xen_xm.h
669

J
Jiri Denemark 已提交
670 671
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
672
EXTRA_DIST +=	$(pkgdata_DATA)
673

674 675 676 677 678 679
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

680
noinst_LTLIBRARIES = libvirt_util.la
681 682
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
libvirt_la_BUILT_LIBADD = libvirt_util.la
683 684
libvirt_util_la_SOURCES =					\
		$(UTIL_SOURCES)
685
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
686
		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS) \
E
Eric Blake 已提交
687
		$(DBUS_CFLAGS) $(LDEXP_LIBM)
688
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
689
		$(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
690
		$(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS)
691

692 693

noinst_LTLIBRARIES += libvirt_conf.la
694
libvirt_la_BUILT_LIBADD += libvirt_conf.la
695
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
696 697
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
698

J
Jiri Denemark 已提交
699
noinst_LTLIBRARIES += libvirt_cpu.la
700
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
701
libvirt_cpu_la_CFLAGS = \
702
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
703 704
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

705 706 707 708
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
709
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
710 711 712
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
endif

713
if WITH_XENXS
714 715 716
noinst_LTLIBRARIES += libvirt_xenxs.la
libvirt_la_BUILT_LIBADD += libvirt_xenxs.la
libvirt_xenxs_la_CFLAGS = \
717
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
718 719 720
libvirt_xenxs_la_SOURCES = $(XENXS_SOURCES)
endif

721

722
noinst_LTLIBRARIES += libvirt_driver.la
723
libvirt_la_BUILT_LIBADD += libvirt_driver.la
724
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
725

M
Matthias Bolte 已提交
726
libvirt_driver_la_CFLAGS = $(NUMACTL_CFLAGS) $(GNUTLS_CFLAGS) \
727
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
728
libvirt_driver_la_LIBADD = $(NUMACTL_LIBS) $(GNUTLS_LIBS) $(DLOPEN_LIBS)
729

730
USED_SYM_FILES = libvirt_private.syms
731

732
if WITH_TEST
733
noinst_LTLIBRARIES += libvirt_driver_test.la
734
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
735
libvirt_driver_test_la_CFLAGS = \
736
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
737
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
738 739 740
endif

if WITH_REMOTE
741
noinst_LTLIBRARIES += libvirt_driver_remote.la
742
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
743 744
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
E
Eric Blake 已提交
745
		$(XDR_CFLAGS)					\
746 747
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/rpc				\
748 749
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
750 751 752 753
libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) \
                libvirt-net-rpc-client.la \
                libvirt-net-rpc-server.la \
                libvirt-net-rpc.la
754
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
755

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

758 759
endif WITH_REMOTE

760
%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
761
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
E
Eric Blake 已提交
762
	       $< $@
763

764
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
765
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
E
Eric Blake 已提交
766
	       $< $@
767

768
if WITH_XEN
E
Eric Blake 已提交
769 770 771
noinst_LTLIBRARIES += libvirt_driver_xen_impl.la
libvirt_driver_xen_la_SOURCES =
libvirt_driver_xen_la_LIBADD = libvirt_driver_xen_impl.la
772 773
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
E
Eric Blake 已提交
774 775
libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_xen_la_LDFLAGS = -module -avoid-version
776
else
777
noinst_LTLIBRARIES += libvirt_driver_xen.la
778 779
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
780
endif
E
Eric Blake 已提交
781 782

libvirt_driver_xen_impl_la_CFLAGS =					\
783
		$(XEN_CFLAGS)					\
784 785
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/xenxs			\
786
		$(AM_CFLAGS)
E
Eric Blake 已提交
787 788 789
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)
790 791
endif

792 793
if WITH_PHYP
noinst_LTLIBRARIES += libvirt_driver_phyp.la
794
libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
795
libvirt_driver_phyp_la_LIBADD = $(LIBSSH2_LIBS)
796
libvirt_driver_phyp_la_CFLAGS = $(LIBSSH2_CFLAGS) \
797
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
798 799 800
libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
endif

801
if WITH_OPENVZ
802
noinst_LTLIBRARIES += libvirt_driver_openvz.la
803
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
804
libvirt_driver_openvz_la_CFLAGS = \
805
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
806
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
807 808
endif

809 810 811 812
if WITH_VMWARE
noinst_LTLIBRARIES += libvirt_driver_vmware.la
libvirt_la_BUILT_LIBADD += libvirt_driver_vmware.la
libvirt_driver_vmware_la_CFLAGS = \
813
		-I$(top_srcdir)/src/conf -I$(top_srcdir)/src/vmx $(AM_CFLAGS)
814 815 816
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
endif

817 818
if WITH_VBOX
noinst_LTLIBRARIES += libvirt_driver_vbox.la
819
libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
820
libvirt_driver_vbox_la_CFLAGS = \
821
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
822
libvirt_driver_vbox_la_LIBADD = $(DLOPEN_LIBS) $(MSCOM_LIBS)
823 824 825
libvirt_driver_vbox_la_SOURCES = $(VBOX_DRIVER_SOURCES)
endif

826 827
if WITH_XENAPI
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
828
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
829
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(LIBCURL_CFLAGS) \
830
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
831
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
832
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(LIBCURL_LIBS)
833 834 835
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
endif

J
Jim Fehlig 已提交
836
if WITH_LIBXL
E
Eric Blake 已提交
837 838 839
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 已提交
840 841
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_libxl.la
E
Eric Blake 已提交
842 843
libvirt_driver_libxl_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version
J
Jim Fehlig 已提交
844 845 846 847 848
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 已提交
849 850

libvirt_driver_libxl_impl_la_CFLAGS = $(LIBXL_CFLAGS)		\
851 852
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/xenxs			\
853
		$(AM_CFLAGS)
E
Eric Blake 已提交
854 855 856
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 已提交
857 858
endif

859
if WITH_QEMU
E
Eric Blake 已提交
860 861 862
noinst_LTLIBRARIES += libvirt_driver_qemu_impl.la
libvirt_driver_qemu_la_SOURCES =
libvirt_driver_qemu_la_LIBADD = libvirt_driver_qemu_impl.la
863 864
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
E
Eric Blake 已提交
865 866
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_qemu_la_LDFLAGS = -module -avoid-version
867
else
868
noinst_LTLIBRARIES += libvirt_driver_qemu.la
869
# Stateful, so linked to daemon instead
870
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
871
endif
E
Eric Blake 已提交
872 873

libvirt_driver_qemu_impl_la_CFLAGS = $(NUMACTL_CFLAGS) \
874
                                $(GNUTLS_CFLAGS) \
S
Serge Hallyn 已提交
875
                                $(LIBNL_CFLAGS) \
876
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
E
Eric Blake 已提交
877 878
libvirt_driver_qemu_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_qemu_impl_la_LIBADD = $(NUMACTL_LIBS) \
879 880
				$(CAPNG_LIBS) \
                                $(GNUTLS_LIBS) \
S
Serge Hallyn 已提交
881
				$(LIBNL_LIBS)
E
Eric Blake 已提交
882
libvirt_driver_qemu_impl_la_SOURCES = $(QEMU_DRIVER_SOURCES)
883

A
Amy Griffis 已提交
884
conf_DATA += qemu/qemu.conf
885

886
augeas_DATA += qemu/libvirtd_qemu.aug
887 888
augeastest_DATA += test_libvirtd_qemu.aug
CLEANFILES += test_libvirtd_qemu.aug
889

890
endif
891
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
892
		qemu/test_libvirtd_qemu.aug.in qemu/THREADS.txt
893

894 895

if WITH_LXC
E
Eric Blake 已提交
896 897 898
noinst_LTLIBRARIES += libvirt_driver_lxc_impl.la
libvirt_driver_lxc_la_SOURCES =
libvirt_driver_lxc_la_LIBADD = libvirt_driver_lxc_impl.la
899 900
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
E
Eric Blake 已提交
901 902
libvirt_driver_lxc_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
903
else
904
noinst_LTLIBRARIES += libvirt_driver_lxc.la
905
# Stateful, so linked to daemon instead
906
#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
907
endif
E
Eric Blake 已提交
908 909

libvirt_driver_lxc_impl_la_CFLAGS = \
S
Serge Hallyn 已提交
910
		$(LIBNL_CFLAGS) \
911
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
E
Eric Blake 已提交
912
libvirt_driver_lxc_impl_la_LIBADD = $(CAPNG_LIBS) $(LIBNL_LIBS)
913
if HAVE_LIBBLKID
E
Eric Blake 已提交
914 915
libvirt_driver_lxc_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_lxc_impl_la_LIBADD += $(BLKID_LIBS)
916
endif
917
if WITH_SECDRIVER_SELINUX
E
Eric Blake 已提交
918
libvirt_driver_lxc_impl_la_LIBADD += $(SELINUX_LIBS)
919 920
endif
if WITH_SECDRIVER_APPARMOR
E
Eric Blake 已提交
921
libvirt_driver_lxc_impl_la_LIBADD += $(APPARMOR_LIBS)
922
endif
E
Eric Blake 已提交
923
libvirt_driver_lxc_impl_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
924 925 926

conf_DATA += lxc/lxc.conf

927
augeas_DATA += lxc/libvirtd_lxc.aug
928 929
augeastest_DATA += test_libvirtd_lxc.aug
CLEANFILES += test_libvirtd_lxc.aug
930

931
endif
932
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug.in
933

934
if WITH_UML
E
Eric Blake 已提交
935 936 937
noinst_LTLIBRARIES += libvirt_driver_uml_impl.la
libvirt_driver_uml_la_SOURCES =
libvirt_driver_uml_la_LIBADD = libvirt_driver_uml_impl.la
938 939
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
E
Eric Blake 已提交
940 941
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_uml_la_LDFLAGS = -module -avoid-version
942
else
943 944
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
945
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
946
endif
E
Eric Blake 已提交
947 948

libvirt_driver_uml_impl_la_CFLAGS = $(NUMACTL_CFLAGS) \
949
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
E
Eric Blake 已提交
950 951 952
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)
953
endif
954

D
Daniel Veillard 已提交
955

956
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
957

958 959
ESX_GENERATED_STAMP = .esx_vi_generator.stamp

E
Eric Blake 已提交
960 961
EXTRA_DIST += $(ESX_GENERATED_STAMP)

962 963 964
$(ESX_DRIVER_GENERATED): $(ESX_GENERATED_STAMP)

$(ESX_GENERATED_STAMP): $(srcdir)/esx/esx_vi_generator.input \
965
                         $(srcdir)/esx/esx_vi_generator.py
966 967 968 969 970
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/esx/esx_vi_generator.py \
	  && touch $@

MAINTAINERCLEANFILES += $(ESX_DRIVER_GENERATED) $(ESX_GENERATED_STAMP)

D
Daniel Veillard 已提交
971

972 973
if WITH_ESX
noinst_LTLIBRARIES += libvirt_driver_esx.la
974
libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
975
libvirt_driver_esx_la_CFLAGS = $(LIBCURL_CFLAGS) \
976
		-I$(top_srcdir)/src/conf -I$(top_srcdir)/src/vmx $(AM_CFLAGS)
977
libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
978
libvirt_driver_esx_la_LIBADD = $(LIBCURL_LIBS)
979
libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
980
libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
981 982
endif

M
Matthias Bolte 已提交
983

984 985
BUILT_SOURCES += $(HYPERV_DRIVER_GENERATED)

986 987
HYPERV_GENERATED_STAMP = .hyperv_wmi_generator.stamp

E
Eric Blake 已提交
988 989
EXTRA_DIST += $(HYPERV_GENERATED_STAMP)

990 991 992
$(HYPERV_DRIVER_GENERATED): $(HYPERV_GENERATED_STAMP)

$(HYPERV_GENERATED_STAMP): $(srcdir)/hyperv/hyperv_wmi_generator.input \
993
                            $(srcdir)/hyperv/hyperv_wmi_generator.py
994 995 996 997
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/hyperv/hyperv_wmi_generator.py \
	  && touch $@

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

M
Matthias Bolte 已提交
999 1000 1001 1002
if WITH_HYPERV
noinst_LTLIBRARIES += libvirt_driver_hyperv.la
libvirt_la_BUILT_LIBADD += libvirt_driver_hyperv.la
libvirt_driver_hyperv_la_CFLAGS = $(OPENWSMAN_CFLAGS) \
1003
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
1004 1005 1006 1007 1008
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 已提交
1009 1010 1011 1012 1013 1014 1015 1016
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

1017
if WITH_NETWORK
E
Eric Blake 已提交
1018 1019 1020
noinst_LTLIBRARIES += libvirt_driver_network_impl.la
libvirt_driver_network_la_SOURCES =
libvirt_driver_network_la_LIBADD = libvirt_driver_network_impl.la
1021 1022
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
1023
libvirt_driver_network_la_LIBADD += ../gnulib/lib/libgnu.la $(LIBNL_LIBS) $(DBUS_LIBS)
E
Eric Blake 已提交
1024
libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1025
else
1026
noinst_LTLIBRARIES += libvirt_driver_network.la
1027
# Stateful, so linked to daemon instead
1028
#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
1029
endif
E
Eric Blake 已提交
1030 1031

libvirt_driver_network_impl_la_CFLAGS = \
1032
		$(LIBNL_CFLAGS) $(DBUS_CFLAGS) \
1033
		-I$(top_srcdir)/src/conf $(AM_CFLAGS) $(DBUS_CFLAGS)
E
Eric Blake 已提交
1034
libvirt_driver_network_impl_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
1035
endif
1036 1037 1038
EXTRA_DIST += network/default.xml


1039
if WITH_INTERFACE
1040 1041 1042 1043
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_interface.la
else
noinst_LTLIBRARIES += libvirt_driver_interface.la
1044 1045
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la
1046
endif
1047
libvirt_driver_interface_la_CFLAGS = -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1048
libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS)
1049 1050 1051 1052
libvirt_driver_interface_la_LIBADD =
if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
1053 1054 1055 1056 1057
else
if HAVE_UDEV
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
endif
1058
endif
1059
if WITH_DRIVER_MODULES
1060
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
1061 1062 1063
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
D
Daniel Veillard 已提交
1064 1065
endif

D
Daniel P. Berrange 已提交
1066
if WITH_SECRETS
1067 1068 1069 1070
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_secret.la
else
noinst_LTLIBRARIES += libvirt_driver_secret.la
1071
# Stateful, so linked to daemon instead
1072
#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
1073
endif
1074
libvirt_driver_secret_la_CFLAGS = \
1075
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1076
if WITH_DRIVER_MODULES
1077
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
1078
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1079 1080
endif
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
D
Daniel P. Berrange 已提交
1081
endif
1082

1083
# Needed to keep automake quiet about conditionals
1084 1085
libvirt_driver_storage_impl_la_SOURCES =
libvirt_driver_storage_impl_la_CFLAGS = \
1086
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1087 1088
libvirt_driver_storage_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_storage_impl_la_LIBADD =
1089
if WITH_SECDRIVER_SELINUX
1090
libvirt_driver_storage_impl_la_LIBADD += $(SELINUX_LIBS)
1091 1092
endif
if WITH_SECDRIVER_APPARMOR
1093
libvirt_driver_storage_impl_la_LIBADD += $(APPARMOR_LIBS)
1094
endif
O
Osier Yang 已提交
1095
if HAVE_LIBBLKID
1096 1097
libvirt_driver_storage_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_storage_impl_la_LIBADD += $(BLKID_LIBS)
O
Osier Yang 已提交
1098
endif
1099
if WITH_STORAGE
1100 1101 1102
noinst_LTLIBRARIES += libvirt_driver_storage_impl.la
libvirt_driver_storage_la_SOURCES =
libvirt_driver_storage_la_LIBADD = libvirt_driver_storage_impl.la
1103 1104
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
1105
libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
1106
libvirt_driver_storage_la_LDFLAGS = -module -avoid-version
1107
else
1108
noinst_LTLIBRARIES += libvirt_driver_storage.la
1109
# Stateful, so linked to daemon instead
1110
#libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la
1111
endif
1112 1113
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
1114 1115
endif

1116
if WITH_STORAGE_LVM
1117
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
1118 1119
endif

1120
if WITH_STORAGE_ISCSI
1121
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
1122 1123
endif

1124
if WITH_STORAGE_SCSI
1125
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
1126 1127
endif

D
Dave Allan 已提交
1128
if WITH_STORAGE_MPATH
1129 1130 1131
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 已提交
1132 1133
endif

1134
if WITH_STORAGE_DISK
1135
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
1136
endif
1137

1138
if WITH_STORAGE_RBD
1139 1140
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_RBD_SOURCES)
libvirt_driver_storage_impl_la_LIBADD += $(LIBRBD_LIBS)
1141 1142
endif

1143
if WITH_STORAGE_SHEEPDOG
1144
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SHEEPDOG_SOURCES)
1145 1146
endif

1147 1148 1149 1150 1151 1152 1153
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
1154
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
1155 1156 1157
endif
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

1158
libvirt_driver_nodedev_la_CFLAGS = \
1159
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1160
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
1161
libvirt_driver_nodedev_la_LIBADD =
1162

1163 1164 1165
if HAVE_HAL
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
1166
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
1167
endif
1168 1169
if HAVE_UDEV
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
1170
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
1171
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
1172
endif
1173 1174

if WITH_DRIVER_MODULES
1175
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
1176 1177 1178 1179 1180
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
endif
endif


1181 1182 1183 1184 1185
if WITH_NWFILTER
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nwfilter.la
else
noinst_LTLIBRARIES += libvirt_driver_nwfilter.la
1186 1187
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
1188
endif
1189
libvirt_driver_nwfilter_la_CFLAGS = $(LIBPCAP_CFLAGS) \
1190
		-I$(top_srcdir)/src/conf $(LIBNL_CFLAGS) $(AM_CFLAGS) $(DBUS_CFLAGS)
1191
libvirt_driver_nwfilter_la_LDFLAGS = $(LD_AMFLAGS)
1192
libvirt_driver_nwfilter_la_LIBADD = $(LIBPCAP_LIBS) $(LIBNL_LIBS) $(DBUS_LIBS)
1193
if WITH_DRIVER_MODULES
1194
libvirt_driver_nwfilter_la_LIBADD += ../gnulib/lib/libgnu.la
1195
libvirt_driver_nwfilter_la_LDFLAGS += -module -avoid-version
1196 1197 1198 1199 1200
endif
libvirt_driver_nwfilter_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
endif


1201 1202 1203 1204
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 = \
1205
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1206 1207
libvirt_security_manager_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_security_manager_la_LIBADD =
1208
if WITH_SECDRIVER_SELINUX
1209 1210 1211
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
libvirt_security_manager_la_CFLAGS += $(SELINUX_CFLAGS)
libvirt_security_manager_la_LIBADD += $(SELINUX_LIBS)
1212
endif
J
Jamie Strandboge 已提交
1213
if WITH_SECDRIVER_APPARMOR
1214 1215 1216
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 已提交
1217
endif
1218

1219 1220 1221 1222 1223 1224 1225
# Add all conditional sources just in case...
EXTRA_DIST +=							\
		$(TEST_DRIVER_SOURCES)				\
		$(REMOTE_DRIVER_SOURCES)			\
		$(XEN_DRIVER_SOURCES)				\
		$(QEMU_DRIVER_SOURCES)				\
		$(LXC_DRIVER_SOURCES)				\
1226
		$(UML_DRIVER_SOURCES)				\
1227
		$(OPENVZ_DRIVER_SOURCES)			\
1228
		$(PHYP_DRIVER_SOURCES)				\
1229
		$(VBOX_DRIVER_SOURCES)				\
1230
		$(XENAPI_DRIVER_SOURCES)			\
O
Osier Yang 已提交
1231
		$(LIBXL_DRIVER_SOURCES)				\
1232
		$(ESX_DRIVER_SOURCES)				\
1233
		$(ESX_DRIVER_EXTRA_DIST)			\
M
Matthias Bolte 已提交
1234
		$(HYPERV_DRIVER_SOURCES)			\
1235
		$(HYPERV_DRIVER_EXTRA_DIST)			\
O
Osier Yang 已提交
1236
		$(PARALLELS_DRIVER_SOURCES)			\
1237
		$(NETWORK_DRIVER_SOURCES)			\
1238
		$(INTERFACE_DRIVER_SOURCES)			\
1239 1240 1241 1242
		$(STORAGE_DRIVER_SOURCES)			\
		$(STORAGE_DRIVER_FS_SOURCES)			\
		$(STORAGE_DRIVER_LVM_SOURCES)			\
		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
1243
		$(STORAGE_DRIVER_SCSI_SOURCES)			\
D
Dave Allan 已提交
1244
		$(STORAGE_DRIVER_MPATH_SOURCES)			\
1245
		$(STORAGE_DRIVER_DISK_SOURCES)			\
1246
		$(STORAGE_DRIVER_RBD_SOURCES)			\
1247
		$(STORAGE_DRIVER_SHEEPDOG_SOURCES)		\
1248 1249
		$(NODE_DEVICE_DRIVER_SOURCES)			\
		$(NODE_DEVICE_DRIVER_HAL_SOURCES)		\
1250
		$(NODE_DEVICE_DRIVER_UDEV_SOURCES)		\
1251
		$(NWFILTER_DRIVER_SOURCES)			\
1252
		$(SECURITY_DRIVER_SELINUX_SOURCES)		\
J
Jamie Strandboge 已提交
1253
		$(SECURITY_DRIVER_APPARMOR_SOURCES)		\
D
Daniel P. Berrange 已提交
1254
		$(SECRET_DRIVER_SOURCES)			\
1255
		$(VBOX_DRIVER_EXTRA_DIST)			\
1256 1257
		$(VMWARE_DRIVER_SOURCES)			\
		$(XENXS_SOURCES)
1258

1259 1260 1261 1262 1263 1264
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

1265
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1266
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1267

1268
if WITH_QEMU
1269 1270
test_libvirtd_qemu.aug: qemu/test_libvirtd_qemu.aug.in \
		$(srcdir)/qemu/qemu.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1271
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/qemu/qemu.conf $< $@
1272

1273
check-augeas-qemu: test_libvirtd_qemu.aug
1274
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1275
	    '$(AUGPARSE)' -I $(srcdir)/qemu test_libvirtd_qemu.aug; \
1276
	fi
1277 1278
else
check-augeas-qemu:
1279
endif
1280

1281
if WITH_LXC
1282 1283
test_libvirtd_lxc.aug: lxc/test_libvirtd_lxc.aug.in \
		$(srcdir)/lxc/lxc.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1284
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/lxc/lxc.conf $< $@
1285

1286
check-augeas-lxc: test_libvirtd_lxc.aug
1287
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1288
	    '$(AUGPARSE)' -I $(srcdir)/lxc test_libvirtd_lxc.aug; \
1289
	fi
1290 1291
else
check-augeas-lxc:
1292
endif
1293

1294
if HAVE_SANLOCK
1295 1296
test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
		locking/qemu-sanlock.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1297
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
1298

1299
check-augeas-sanlock: test_libvirt_sanlock.aug
1300
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1301
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_sanlock.aug; \
1302
	fi
1303 1304 1305
else
check-augeas-sanlock:
endif
1306

1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325
#
# 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.
#

1326
if WITH_DRIVER_MODULES
1327
USED_SYM_FILES += libvirt_driver_modules.syms
1328
endif
1329

1330
if WITH_LINUX
1331
USED_SYM_FILES += libvirt_linux.syms
1332
endif
1333

1334 1335 1336 1337
if WITH_ESX
USED_SYM_FILES += libvirt_esx.syms
endif

1338 1339 1340 1341
if WITH_LIBVIRTD
USED_SYM_FILES += libvirt_daemon.syms
endif

1342 1343 1344 1345
if WITH_OPENVZ
USED_SYM_FILES += libvirt_openvz.syms
endif

1346 1347 1348 1349
if WITH_VMX
USED_SYM_FILES += libvirt_vmx.syms
endif

1350 1351 1352 1353
if WITH_XENXS
USED_SYM_FILES += libvirt_xenxs.syms
endif

E
Eric Blake 已提交
1354 1355 1356 1357
if HAVE_SASL
USED_SYM_FILES += libvirt_sasl.syms
endif

1358 1359 1360 1361
if HAVE_LIBSSH2
USED_SYM_FILES += libvirt_libssh2.syms
endif

1362 1363 1364 1365
if WITH_ATOMIC_OPS_PTHREAD
USED_SYM_FILES += libvirt_atomic.syms
endif

1366 1367 1368
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
1369
  libvirt_atomic.syms		\
1370
  libvirt_driver_modules.syms	\
E
Eric Blake 已提交
1371
  libvirt_daemon.syms		\
1372
  libvirt_linux.syms		\
1373 1374 1375
  libvirt_esx.syms		\
  libvirt_openvz.syms		\
  libvirt_qemu.syms		\
E
Eric Blake 已提交
1376
  libvirt_sasl.syms		\
1377
  libvirt_vmx.syms		\
1378 1379
  libvirt_xenxs.syms	\
  libvirt_libssh2.syms
1380

1381 1382 1383
GENERATED_SYM_FILES = libvirt.syms libvirt.def libvirt_qemu.def

BUILT_SOURCES += $(GENERATED_SYM_FILES)
1384

1385 1386
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(top_builddir)/config.status
1387 1388 1389 1390 1391 1392
	$(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 && \
1393
	for file in $(USED_SYM_FILES); do \
1394
	    cat $(srcdir)/$$file >>$@-tmp; \
1395 1396 1397
	done && \
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
1398
	mv $@-tmp libvirt.syms
1399

1400 1401 1402
libvirt.def: libvirt.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1403
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1404 1405 1406
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt.def

1407 1408 1409
libvirt_qemu.def: $(srcdir)/libvirt_qemu.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1410
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1411 1412 1413
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt_qemu.def

1414 1415
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
1416
libvirt_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
E
Eric Blake 已提交
1417
		     -version-info $(LIBVIRT_VERSION_INFO) \
1418
		    $(LIBVIRT_NODELETE) $(AM_LDFLAGS) \
1419
		    $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS)
1420
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
1421
libvirt_la_LIBADD += \
1422
		    $(DRIVER_MODULE_LIBS) \
1423
		    $(CYGWIN_EXTRA_LIBADD)
1424
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
1425 1426 1427 1428 1429 1430
# 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)
1431

1432
if WITH_DTRACE_PROBES
1433
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
1434
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
1435
nodist_libvirt_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1436
if WITH_REMOTE
E
Eric Blake 已提交
1437
nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1438
endif WITH_REMOTE
1439 1440 1441
if WITH_DRIVER_MODULES
DTRACE2SYSTEMTAP_FLAGS = --with-modules
endif
1442

1443 1444 1445
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

if WITH_QEMU
1446
libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
1447
nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
1448
BUILT_SOURCES += libvirt_qemu_probes.h
1449
endif
1450 1451

tapsetdir = $(datadir)/systemtap/tapset
1452
tapset_DATA = libvirt_probes.stp libvirt_qemu_probes.stp libvirt_functions.stp
1453

1454
%_probes.h: %_probes.d
1455 1456
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

E
Eric Blake 已提交
1457
.PRECIOUS: %_probes.o
1458
%_probes.o: %_probes.d
1459 1460
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

1461 1462 1463 1464 1465 1466 1467 1468 1469
%_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 已提交
1470 1471 1472 1473
RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x \
		  $(srcdir)/rpc/virkeepaliveprotocol.x \
		  $(srcdir)/remote/remote_protocol.x \
		  $(srcdir)/remote/qemu_protocol.x
1474 1475

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

1478
%_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl $(top_builddir)/config.status
1479
	$(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
1480
	  $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
1481

1482
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
1483
              libvirt_qemu_probes.h libvirt_qemu_probes.o \
1484
              libvirt_qemu_probes.lo\
1485 1486
              libvirt_functions.stp libvirt_probes.stp \
              libvirt_qemu_probes.stp
1487 1488
endif

1489
EXTRA_DIST += libvirt_probes.d libvirt_qemu_probes.d
1490

C
Chris Lalancette 已提交
1491 1492
libvirt_qemu_la_SOURCES = libvirt-qemu.c
libvirt_qemu_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
E
Eric Blake 已提交
1493 1494
			  -version-info $(LIBVIRT_VERSION_INFO) \
			  $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS) \
1495 1496
			  $(AM_LDFLAGS)
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
1497
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
E
Eric Blake 已提交
1498
EXTRA_DIST += $(LIBVIRT_QEMU_SYMBOL_FILE)
1499

1500 1501 1502 1503 1504
if HAVE_SANLOCK
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES = sanlock.la

sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
1505
sanlock_la_CFLAGS = $(AM_CFLAGS)
1506
sanlock_la_LDFLAGS = -module -avoid-version
1507
sanlock_la_LIBADD = -lsanlock_client \
1508 1509 1510
		../gnulib/lib/libgnu.la

augeas_DATA += locking/libvirt_sanlock.aug
1511 1512
augeastest_DATA += test_libvirt_sanlock.aug
CLEANFILES += test_libvirt_sanlock.aug
1513

E
Eric Blake 已提交
1514
locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
1515
	$(AM_V_GEN)$(MKDIR_P) locking ; \
1516 1517 1518
	cp $< $@

if WITH_QEMU
E
Eric Blake 已提交
1519
nodist_conf_DATA = locking/qemu-sanlock.conf
1520
BUILT_SOURCES += locking/qemu-sanlock.conf
E
Eric Blake 已提交
1521
DISTCLEANFILES += locking/qemu-sanlock.conf
1522
endif
1523
else
1524
EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
1525
endif
1526 1527
EXTRA_DIST += locking/sanlock.conf \
	locking/libvirt_sanlock.aug \
1528
	locking/test_libvirt_sanlock.aug.in
1529

1530 1531 1532 1533
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
1534

1535
EXTRA_DIST += \
E
Eric Blake 已提交
1536 1537 1538 1539
	dtrace2systemtap.pl \
	rpc/gendispatch.pl \
	rpc/genprotocol.pl \
	rpc/gensystemtap.pl \
J
Jiri Denemark 已提交
1540 1541
	rpc/virnetprotocol.x \
	rpc/virkeepaliveprotocol.x
1542

E
Eric Blake 已提交
1543 1544
VIR_NET_RPC_GENERATED = \
	$(srcdir)/rpc/virnetprotocol.h \
J
Jiri Denemark 已提交
1545 1546 1547
	$(srcdir)/rpc/virnetprotocol.c \
	$(srcdir)/rpc/virkeepaliveprotocol.h \
	$(srcdir)/rpc/virkeepaliveprotocol.c
1548

1549
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
1550

1551
libvirt_net_rpc_la_SOURCES = \
1552
	rpc/virnetmessage.h rpc/virnetmessage.c \
1553
	rpc/virnetprotocol.h rpc/virnetprotocol.c \
1554
	rpc/virnetsocket.h rpc/virnetsocket.c \
J
Jiri Denemark 已提交
1555
	rpc/virnettlscontext.h rpc/virnettlscontext.c \
1556 1557
	rpc/virkeepaliveprotocol.h rpc/virkeepaliveprotocol.c \
	rpc/virkeepalive.h rpc/virkeepalive.c
1558 1559 1560 1561 1562 1563 1564
if HAVE_LIBSSH2
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
else
EXTRA_DIST += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
endif
1565 1566 1567 1568 1569 1570 1571
if HAVE_SASL
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
else
EXTRA_DIST += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
endif
1572
libvirt_net_rpc_la_CFLAGS = \
1573
			$(GNUTLS_CFLAGS) \
1574
			$(SASL_CFLAGS) \
1575
			$(LIBSSH2_CFLAGS) \
1576
			$(XDR_CFLAGS) \
1577 1578
			$(AM_CFLAGS)
libvirt_net_rpc_la_LDFLAGS = \
1579
			$(GNUTLS_LIBS) \
1580
			$(SASL_LIBS) \
1581
			$(LIBSSH2_LIBS)\
1582 1583 1584 1585 1586 1587
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1588 1589 1590 1591
libvirt_net_rpc_server_la_SOURCES = \
	rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
	rpc/virnetserverservice.h rpc/virnetserverservice.c \
	rpc/virnetserverclient.h rpc/virnetserverclient.c \
1592
	rpc/virnetservermdns.h rpc/virnetservermdns.c \
1593 1594
	rpc/virnetserver.h rpc/virnetserver.c
libvirt_net_rpc_server_la_CFLAGS = \
1595
			$(AVAHI_CFLAGS) \
E
Eric Blake 已提交
1596
			$(XDR_CFLAGS) \
J
Jim Fehlig 已提交
1597 1598
			$(AM_CFLAGS) \
			$(POLKIT_CFLAGS)
1599 1600
libvirt_net_rpc_server_la_LDFLAGS = \
			$(AM_LDFLAGS) \
1601
			$(AVAHI_LIBS) \
J
Jim Fehlig 已提交
1602
			$(POLKIT_LIBS) \
1603 1604 1605 1606 1607
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_server_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1608 1609 1610 1611 1612
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 已提交
1613 1614
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
1615 1616 1617 1618 1619 1620
libvirt_net_rpc_client_la_LDFLAGS = \
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
1621

1622 1623
libexec_PROGRAMS =

1624
if WITH_LIBVIRTD
1625 1626 1627 1628 1629 1630 1631 1632
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

libvirt_iohelper_CFLAGS = $(AM_CFLAGS)
1633
endif
1634

1635
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
1636
if WITH_LIBVIRTD
1637
libexec_PROGRAMS += libvirt_parthelper
1638

1639
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
1640
libvirt_parthelper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
1641 1642 1643 1644 1645
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la

1646
libvirt_parthelper_CFLAGS = $(LIBPARTED_CFLAGS) $(AM_CFLAGS)
R
Richard W.M. Jones 已提交
1647
endif
1648
endif
1649 1650
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

1651

1652 1653 1654 1655 1656 1657
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
O
Osier Yang 已提交
1658 1659
		$(NODE_INFO_SOURCES)				\
		$(DATATYPES_SOURCES)
1660
libvirt_lxc_LDFLAGS = $(WARN_CFLAGS) $(AM_LDFLAGS)
1661 1662
libvirt_lxc_LDADD =			\
		$(NUMACTL_LIBS) \
1663 1664
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
1665
		libvirt_security_manager.la \
1666 1667
		libvirt_conf.la \
		libvirt_util.la \
1668
		../gnulib/lib/libgnu.la
1669
if WITH_DTRACE_PROBES
1670
libvirt_lxc_LDADD += libvirt_probes.lo
1671
endif
1672 1673 1674
if WITH_SECDRIVER_SELINUX
libvirt_lxc_LDADD += $(SELINUX_LIBS)
endif
J
Jiri Denemark 已提交
1675 1676 1677
if WITH_SECDRIVER_APPARMOR
libvirt_lxc_LDADD += $(APPARMOR_LIBS)
endif
1678
libvirt_lxc_CFLAGS =				\
1679
		-I$(top_srcdir)/src/conf	\
1680 1681
		$(AM_CFLAGS)                    \
		$(LIBNL_CFLAGS)
1682 1683 1684 1685
if HAVE_LIBBLKID
libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
libvirt_lxc_LDADD += $(BLKID_LIBS)
endif
1686 1687 1688
if WITH_SECDRIVER_SELINUX
libvirt_lxc_CFLAGS += $(SELINUX_CFLAGS)
endif
J
Jiri Denemark 已提交
1689 1690 1691
if WITH_SECDRIVER_APPARMOR
libvirt_lxc_CFLAGS += $(APPARMOR_CFLAGS)
endif
1692 1693 1694 1695
endif
endif
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
1696 1697 1698 1699 1700 1701
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1702
virt_aa_helper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
J
Jamie Strandboge 已提交
1703
virt_aa_helper_LDADD =						\
C
Chris Lalancette 已提交
1704 1705 1706
		libvirt_conf.la					\
		libvirt_util.la					\
		../gnulib/lib/libgnu.la
1707
if WITH_DTRACE_PROBES
1708
virt_aa_helper_LDADD += libvirt_probes.lo
1709
endif
J
Jamie Strandboge 已提交
1710
virt_aa_helper_CFLAGS =						\
1711 1712
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/security			\
1713
		$(AM_CFLAGS)
J
Jamie Strandboge 已提交
1714 1715 1716 1717
endif
endif
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1718
install-data-local:
1719 1720
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
1721
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems"
1722
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
1723 1724 1725
if HAVE_SANLOCK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock"
endif
1726 1727 1728
if WITH_QEMU
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/qemu"
1729
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
1730
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
1731 1732 1733 1734 1735
endif
if WITH_LXC
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
endif
J
Jim Fehlig 已提交
1736 1737 1738
if WITH_LIBXL
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/libxl"
J
Jim Fehlig 已提交
1739
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/libxl"
J
Jim Fehlig 已提交
1740
endif
1741 1742 1743 1744 1745 1746
if WITH_UML
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/uml"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/uml"
endif
if WITH_NETWORK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/network"
1747
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
1748
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
1749 1750 1751 1752
	$(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 已提交
1753 1754 1755 1756 1757 1758
	  { 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; }
1759
	test -e $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml || \
E
Eric Blake 已提交
1760
	   ln -s ../default.xml \
1761 1762 1763 1764 1765 1766
	    $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml
endif

uninstall-local::
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
1767
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
1768
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
1769 1770 1771
if HAVE_SANLOCK
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
endif
1772 1773 1774 1775 1776
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" ||:
1777
endif
1778 1779 1780 1781
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
endif
J
Jim Fehlig 已提交
1782 1783 1784
if WITH_LIBXL
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/libxl" ||:
J
Jim Fehlig 已提交
1785
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/libxl" ||:
J
Jim Fehlig 已提交
1786
endif
1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799
if WITH_UML
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/uml" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/uml" ||:
endif
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 已提交
1800

1801 1802
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
1803
MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED)