Makefile.am 63.9 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
LOCK_DRIVER_LOCKD_SOURCES = \
		locking/lock_driver_lockd.c \
		$(NULL)

171 172 173 174 175
LOCK_DAEMON_SOURCES = \
		locking/lock_daemon.h \
		locking/lock_daemon.c \
		locking/lock_daemon_config.h \
		locking/lock_daemon_config.c \
176 177
		locking/lock_daemon_dispatch.c \
		locking/lock_daemon_dispatch.h \
178 179
		$(NULL)

180 181 182 183
$(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 $< > $@


184 185
NETDEV_CONF_SOURCES =						\
		conf/netdev_bandwidth_conf.h conf/netdev_bandwidth_conf.c \
186 187
		conf/netdev_vport_profile_conf.h conf/netdev_vport_profile_conf.c \
		conf/netdev_vlan_conf.h conf/netdev_vlan_conf.c
188

189
# XML configuration format handling sources
190 191
# Domain driver generic impl APIs
DOMAIN_CONF_SOURCES =						\
192
		conf/capabilities.c conf/capabilities.h		\
193
		conf/domain_conf.c conf/domain_conf.h		\
194
		conf/domain_audit.c conf/domain_audit.h		\
195 196
		conf/domain_nwfilter.c conf/domain_nwfilter.h	\
		conf/snapshot_conf.c conf/snapshot_conf.h
197 198 199

DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
200 201

# Network driver generic impl APIs
202
NETWORK_CONF_SOURCES =						\
203
		conf/network_conf.c conf/network_conf.h
204

205 206
# Network filter driver generic impl APIs
NWFILTER_PARAM_CONF_SOURCES =					\
207
		conf/nwfilter_params.c conf/nwfilter_params.h	\
208 209
		conf/nwfilter_ipaddrmap.c			\
		conf/nwfilter_ipaddrmap.h			\
210
		conf/nwfilter_conf.h
211

212
NWFILTER_CONF_SOURCES =						\
213 214 215
		$(NWFILTER_PARAM_CONF_SOURCES)			\
		conf/nwfilter_conf.c conf/nwfilter_conf.h

216
# Storage driver generic impl APIs
217 218
STORAGE_CONF_SOURCES =                                         \
		conf/storage_conf.h conf/storage_conf.c
219

220
# Interface driver generic impl APIs
221 222
INTERFACE_CONF_SOURCES =                                       \
		conf/interface_conf.c conf/interface_conf.h
223

224
# Secret driver generic impl APIs
225 226 227 228 229 230 231 232 233 234
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

235 236
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h
237

238 239 240
# Safe console handling helper APIs
CONSOLE_CONF_SOURCES =						\
		conf/virconsole.c conf/virconsole.h
241

242 243 244 245
# Device Helper APIs
DEVICE_CONF_SOURCES =                                           \
		conf/device_conf.c conf/device_conf.h

246
CONF_SOURCES =							\
247
		$(NETDEV_CONF_SOURCES)				\
248 249 250
		$(DOMAIN_CONF_SOURCES)				\
		$(DOMAIN_EVENT_SOURCES)				\
		$(NETWORK_CONF_SOURCES)				\
251
		$(NWFILTER_CONF_SOURCES)			\
252 253 254 255
		$(NODE_DEVICE_CONF_SOURCES)			\
		$(STORAGE_CONF_SOURCES)				\
		$(ENCRYPTION_CONF_SOURCES)			\
		$(INTERFACE_CONF_SOURCES)			\
256
		$(SECRET_CONF_SOURCES)				\
257
		$(CPU_CONF_SOURCES)				\
258 259
		$(CONSOLE_CONF_SOURCES)				\
		$(DEVICE_CONF_SOURCES)
260

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

274 275
$(srcdir)/remote/remote_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
		$(REMOTE_PROTOCOL)
276
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl \
277
	  -k remote REMOTE $(REMOTE_PROTOCOL) > $@
278

279 280
$(srcdir)/remote/qemu_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
		$(QEMU_PROTOCOL)
281
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl \
282
	  -k qemu QEMU $(QEMU_PROTOCOL) > $@
283 284 285 286 287

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

289
EXTRA_DIST +=  $(REMOTE_DRIVER_PROTOCOL) \
290
		$(REMOTE_DRIVER_GENERATED)
291

292 293 294 295 296 297 298 299 300 301
# 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
302 303 304 305

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

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

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

365 366 367
PROTOCOL_STRUCTS = \
	$(srcdir)/remote_protocol-structs \
	$(srcdir)/qemu_protocol-structs \
J
Jiri Denemark 已提交
368 369
	$(srcdir)/virnetprotocol-structs \
	$(srcdir)/virkeepaliveprotocol-structs
370
if WITH_REMOTE
371 372
check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)

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

390 391
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES =						\
392
		test/test_driver.c test/test_driver.h
393 394 395

# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
396 397 398 399 400 401
		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
402
if WITH_XEN_INOTIFY
403
XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
404
endif
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 440 441 442 443
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)

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

456
LXC_CONTROLLER_SOURCES =					\
457 458
		$(LXC_PROTOCOL_GENERATED)			\
		$(LXC_CONTROLLER_GENERATED)			\
459 460
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
461
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
G
Gao feng 已提交
462
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
463
		lxc/lxc_controller.c
464

J
Jamie Strandboge 已提交
465
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES =			\
E
Eric Blake 已提交
466
		$(DATATYPES_SOURCES)				\
J
Jamie Strandboge 已提交
467 468
		security/virt-aa-helper.c

469 470 471
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

472
OPENVZ_DRIVER_SOURCES =						\
473
		openvz/openvz_conf.c openvz/openvz_conf.h	\
474 475
		openvz/openvz_driver.c openvz/openvz_driver.h   \
		openvz/openvz_util.c openvz/openvz_util.h
476

E
Eric Blake 已提交
477
VMWARE_DRIVER_SOURCES =						\
478
		vmware/vmware_driver.c vmware/vmware_driver.h	\
479 480
		vmware/vmware_conf.c vmware/vmware_conf.h

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

E
Eric Blake 已提交
491
VBOX_DRIVER_EXTRA_DIST =					\
492 493 494
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
495

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

O
Osier Yang 已提交
516
XENAPI_DRIVER_SOURCES =						\
517
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
O
Osier Yang 已提交
518
		xenapi/xenapi_driver_private.h			\
519 520
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

J
Jim Fehlig 已提交
521 522 523 524
LIBXL_DRIVER_SOURCES =						\
		libxl/libxl_conf.c libxl/libxl_conf.h		\
		libxl/libxl_driver.c libxl/libxl_driver.h

525
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
526 527
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
528

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

545
ESX_DRIVER_GENERATED =							\
546 547
		esx/esx_vi_methods.generated.c				\
		esx/esx_vi_methods.generated.h				\
548
		esx/esx_vi_methods.generated.macro			\
549 550 551 552 553
		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			\
554 555 556
		esx/esx_vi_types.generated.typefromstring		\
		esx/esx_vi.generated.c					\
		esx/esx_vi.generated.h
557

O
Osier Yang 已提交
558
ESX_DRIVER_EXTRA_DIST =							\
559 560 561 562 563
		esx/README						\
		esx/esx_vi_generator.input				\
		esx/esx_vi_generator.py					\
		$(ESX_DRIVER_GENERATED)

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

598
NETWORK_DRIVER_SOURCES =					\
599
		network/bridge_driver.h network/bridge_driver.c
600

601 602 603 604
INTERFACE_DRIVER_SOURCES =

if WITH_INTERFACE
INTERFACE_DRIVER_SOURCES +=					\
605 606
		interface/interface_driver.h        \
		interface/interface_driver.c
607 608 609 610

if WITH_NETCF
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_netcf.c
611
endif
612 613 614 615 616
if HAVE_UDEV
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_udev.c
endif
endif
617

618
SECRET_DRIVER_SOURCES =						\
619
		secret/secret_driver.h secret/secret_driver.c
620

621
# Storage backend specific impls
O
Osier Yang 已提交
622 623
STORAGE_DRIVER_SOURCES =						\
		storage/storage_driver.h storage/storage_driver.c	\
624
		storage/storage_backend.h storage/storage_backend.c
625 626

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

629
STORAGE_DRIVER_LVM_SOURCES =					\
O
Osier Yang 已提交
630
		storage/storage_backend_logical.h		\
631
		storage/storage_backend_logical.c
632 633

STORAGE_DRIVER_ISCSI_SOURCES =					\
634
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
635

636
STORAGE_DRIVER_SCSI_SOURCES =					\
637
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
638

D
Dave Allan 已提交
639
STORAGE_DRIVER_MPATH_SOURCES =					\
640
		storage/storage_backend_mpath.h storage/storage_backend_mpath.c
D
Dave Allan 已提交
641

642
STORAGE_DRIVER_DISK_SOURCES =					\
643
		storage/storage_backend_disk.h storage/storage_backend_disk.c
644

645 646 647
STORAGE_DRIVER_RBD_SOURCES =					\
		storage/storage_backend_rbd.h storage/storage_backend_rbd.c

648 649 650
STORAGE_DRIVER_SHEEPDOG_SOURCES =				\
		storage/storage_backend_sheepdog.h storage/storage_backend_sheepdog.c

651
STORAGE_HELPER_DISK_SOURCES =					\
652
		storage/parthelper.c
653

654 655 656
UTIL_IO_HELPER_SOURCES =					\
		util/iohelper.c

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

669

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

678
SECURITY_DRIVER_SELINUX_SOURCES =				\
679
		security/security_selinux.h security/security_selinux.c
680

J
Jamie Strandboge 已提交
681 682 683
SECURITY_DRIVER_APPARMOR_SOURCES =				\
		security/security_apparmor.h security/security_apparmor.c

684

685
NODE_DEVICE_DRIVER_SOURCES =					\
O
Osier Yang 已提交
686 687
		node_device/node_device_driver.c		\
		node_device/node_device_driver.h		\
688
		node_device/node_device_linux_sysfs.c
689 690

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
691
		node_device/node_device_hal.c			\
692
		node_device/node_device_hal.h
693

694
NODE_DEVICE_DRIVER_UDEV_SOURCES =				\
D
Daniel Veillard 已提交
695 696
		node_device/node_device_udev.c			\
		node_device/node_device_udev.h
697

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

707 708 709
VMX_SOURCES =							\
		vmx/vmx.c vmx/vmx.h

710 711
XENXS_SOURCES =							\
		xenxs/xenxs_private.h				\
712 713
		xenxs/xen_sxpr.c xenxs/xen_sxpr.h		\
		xenxs/xen_xm.c xenxs/xen_xm.h
714

J
Jiri Denemark 已提交
715 716
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
717
EXTRA_DIST +=	$(pkgdata_DATA)
718

719 720 721 722 723 724
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

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

737 738

noinst_LTLIBRARIES += libvirt_conf.la
739
libvirt_la_BUILT_LIBADD += libvirt_conf.la
740
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
741 742
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
743

J
Jiri Denemark 已提交
744
noinst_LTLIBRARIES += libvirt_cpu.la
745
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
746
libvirt_cpu_la_CFLAGS = \
747
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
748 749
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

750 751 752 753
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
754
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
755 756 757
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
endif

758
if WITH_XENXS
759 760 761
noinst_LTLIBRARIES += libvirt_xenxs.la
libvirt_la_BUILT_LIBADD += libvirt_xenxs.la
libvirt_xenxs_la_CFLAGS = \
762
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
763 764 765
libvirt_xenxs_la_SOURCES = $(XENXS_SOURCES)
endif

766

767
noinst_LTLIBRARIES += libvirt_driver.la
768
libvirt_la_BUILT_LIBADD += libvirt_driver.la
769
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
770

M
Matthias Bolte 已提交
771
libvirt_driver_la_CFLAGS = $(NUMACTL_CFLAGS) $(GNUTLS_CFLAGS) \
772
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
773
libvirt_driver_la_LIBADD = $(NUMACTL_LIBS) $(GNUTLS_LIBS) $(DLOPEN_LIBS)
774

775
USED_SYM_FILES = $(srcdir)/libvirt_private.syms
776

777
if WITH_TEST
778
noinst_LTLIBRARIES += libvirt_driver_test.la
779
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
780
libvirt_driver_test_la_CFLAGS = \
781
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
782
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
783 784 785
endif

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

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

803 804
endif WITH_REMOTE

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

809
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
810
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
E
Eric Blake 已提交
811
	       $< $@
812

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

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

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

846
if WITH_OPENVZ
847
noinst_LTLIBRARIES += libvirt_driver_openvz.la
848
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
849
libvirt_driver_openvz_la_CFLAGS = \
850
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
851
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
852 853
endif

854 855 856 857
if WITH_VMWARE
noinst_LTLIBRARIES += libvirt_driver_vmware.la
libvirt_la_BUILT_LIBADD += libvirt_driver_vmware.la
libvirt_driver_vmware_la_CFLAGS = \
858
		-I$(top_srcdir)/src/conf -I$(top_srcdir)/src/vmx $(AM_CFLAGS)
859 860 861
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
endif

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

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

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

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

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

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

A
Amy Griffis 已提交
929
conf_DATA += qemu/qemu.conf
930

931
augeas_DATA += qemu/libvirtd_qemu.aug
932 933
augeastest_DATA += test_libvirtd_qemu.aug
CLEANFILES += test_libvirtd_qemu.aug
934

935
endif
936
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
937
		qemu/test_libvirtd_qemu.aug.in qemu/THREADS.txt
938

939 940

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

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

conf_DATA += lxc/lxc.conf

973
augeas_DATA += lxc/libvirtd_lxc.aug
974 975
augeastest_DATA += test_libvirtd_lxc.aug
CLEANFILES += test_libvirtd_lxc.aug
976

977
endif
978
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug.in
979

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

libvirt_driver_uml_impl_la_CFLAGS = $(NUMACTL_CFLAGS) \
995
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
E
Eric Blake 已提交
996 997 998
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)
999
endif
1000

D
Daniel Veillard 已提交
1001

1002
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
1003

1004 1005
ESX_GENERATED_STAMP = .esx_vi_generator.stamp

E
Eric Blake 已提交
1006 1007
EXTRA_DIST += $(ESX_GENERATED_STAMP)

1008 1009 1010
$(ESX_DRIVER_GENERATED): $(ESX_GENERATED_STAMP)

$(ESX_GENERATED_STAMP): $(srcdir)/esx/esx_vi_generator.input \
1011
                         $(srcdir)/esx/esx_vi_generator.py
1012 1013 1014 1015 1016
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/esx/esx_vi_generator.py \
	  && touch $@

MAINTAINERCLEANFILES += $(ESX_DRIVER_GENERATED) $(ESX_GENERATED_STAMP)

D
Daniel Veillard 已提交
1017

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

M
Matthias Bolte 已提交
1029

1030 1031
BUILT_SOURCES += $(HYPERV_DRIVER_GENERATED)

1032 1033
HYPERV_GENERATED_STAMP = .hyperv_wmi_generator.stamp

E
Eric Blake 已提交
1034 1035
EXTRA_DIST += $(HYPERV_GENERATED_STAMP)

1036 1037 1038
$(HYPERV_DRIVER_GENERATED): $(HYPERV_GENERATED_STAMP)

$(HYPERV_GENERATED_STAMP): $(srcdir)/hyperv/hyperv_wmi_generator.input \
1039
                            $(srcdir)/hyperv/hyperv_wmi_generator.py
1040 1041 1042 1043
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/hyperv/hyperv_wmi_generator.py \
	  && touch $@

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

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

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

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


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

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

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

1162
if WITH_STORAGE_LVM
1163
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
1164 1165
endif

1166
if WITH_STORAGE_ISCSI
1167
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
1168 1169
endif

1170
if WITH_STORAGE_SCSI
1171
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
1172 1173
endif

D
Dave Allan 已提交
1174
if WITH_STORAGE_MPATH
1175 1176 1177
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 已提交
1178 1179
endif

1180
if WITH_STORAGE_DISK
1181
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
1182
endif
1183

1184
if WITH_STORAGE_RBD
1185 1186
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_RBD_SOURCES)
libvirt_driver_storage_impl_la_LIBADD += $(LIBRBD_LIBS)
1187 1188
endif

1189
if WITH_STORAGE_SHEEPDOG
1190
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SHEEPDOG_SOURCES)
1191 1192
endif

1193 1194 1195 1196 1197 1198 1199
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
1200
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
1201 1202 1203
endif
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

1204
libvirt_driver_nodedev_la_CFLAGS = \
1205
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1206
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
1207
libvirt_driver_nodedev_la_LIBADD =
1208

1209 1210 1211
if HAVE_HAL
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
1212
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
1213
endif
1214 1215
if HAVE_UDEV
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
1216
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
1217
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
1218
endif
1219 1220

if WITH_DRIVER_MODULES
1221
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
1222 1223 1224 1225 1226
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
endif
endif


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


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

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

1305 1306
check-local: check-augeas

1307 1308 1309 1310 1311 1312
.PHONY: check-augeas \
	check-augeas-qemu \
	check-augeas-lxc \
	check-augeas-sanlock \
	check-augeas-lockd \
	$(NULL)
1313

1314
check-augeas: check-augeas-qemu check-augeas-lxc check-augeas-sanlock check-augeas-lockd
1315

1316
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1317
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1318

1319
if WITH_QEMU
1320 1321
test_libvirtd_qemu.aug: qemu/test_libvirtd_qemu.aug.in \
		$(srcdir)/qemu/qemu.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1322
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/qemu/qemu.conf $< $@
1323

1324
check-augeas-qemu: test_libvirtd_qemu.aug
1325
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1326
	    '$(AUGPARSE)' -I $(srcdir)/qemu test_libvirtd_qemu.aug; \
1327
	fi
1328 1329
else
check-augeas-qemu:
1330
endif
1331

1332
if WITH_LXC
1333 1334
test_libvirtd_lxc.aug: lxc/test_libvirtd_lxc.aug.in \
		$(srcdir)/lxc/lxc.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1335
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/lxc/lxc.conf $< $@
1336

1337
check-augeas-lxc: test_libvirtd_lxc.aug
1338
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1339
	    '$(AUGPARSE)' -I $(srcdir)/lxc test_libvirtd_lxc.aug; \
1340
	fi
1341 1342
else
check-augeas-lxc:
1343
endif
1344

1345
if HAVE_SANLOCK
1346 1347
test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
		locking/qemu-sanlock.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1348
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
1349

1350
check-augeas-sanlock: test_libvirt_sanlock.aug
1351
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1352
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_sanlock.aug; \
1353
	fi
1354 1355 1356
else
check-augeas-sanlock:
endif
1357

1358 1359 1360 1361 1362 1363 1364 1365 1366
test_libvirt_lockd.aug: locking/test_libvirt_lockd.aug.in \
		locking/qemu-lockd.conf $(AUG_GENTEST)
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-lockd.conf $< $@

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

1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385
#
# 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.
#

1386
if WITH_DRIVER_MODULES
1387
USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
1388
endif
1389

1390
if WITH_LINUX
1391
USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
1392
endif
1393

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

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

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

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

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

E
Eric Blake 已提交
1414
if HAVE_SASL
1415
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
E
Eric Blake 已提交
1416 1417
endif

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

1422
if WITH_ATOMIC_OPS_PTHREAD
1423
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
1424 1425
endif

1426 1427 1428
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
1429
  libvirt_atomic.syms		\
1430
  libvirt_driver_modules.syms	\
E
Eric Blake 已提交
1431
  libvirt_daemon.syms		\
1432
  libvirt_linux.syms		\
1433 1434 1435
  libvirt_esx.syms		\
  libvirt_openvz.syms		\
  libvirt_qemu.syms		\
E
Eric Blake 已提交
1436
  libvirt_sasl.syms		\
1437
  libvirt_vmx.syms		\
1438 1439
  libvirt_xenxs.syms	\
  libvirt_libssh2.syms
1440

1441 1442 1443
GENERATED_SYM_FILES = libvirt.syms libvirt.def libvirt_qemu.def

BUILT_SOURCES += $(GENERATED_SYM_FILES)
1444

1445 1446
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(top_builddir)/config.status
1447 1448 1449 1450 1451 1452
	$(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 && \
1453
	for file in $(USED_SYM_FILES); do \
J
Jiri Denemark 已提交
1454
	    cat $$file >>$@-tmp; \
1455 1456 1457
	done && \
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
1458
	mv $@-tmp libvirt.syms
1459

1460 1461 1462
libvirt.def: libvirt.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1463
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1464 1465 1466
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt.def

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

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

1492
if WITH_DTRACE_PROBES
1493
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
1494
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
1495
nodist_libvirt_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1496
if WITH_REMOTE
E
Eric Blake 已提交
1497
nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1498
endif WITH_REMOTE
1499 1500 1501
if WITH_DRIVER_MODULES
DTRACE2SYSTEMTAP_FLAGS = --with-modules
endif
1502

1503 1504 1505
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

if WITH_QEMU
1506
libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
1507
nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
1508
BUILT_SOURCES += libvirt_qemu_probes.h
1509
endif
1510 1511

tapsetdir = $(datadir)/systemtap/tapset
1512
tapset_DATA = libvirt_probes.stp libvirt_qemu_probes.stp libvirt_functions.stp
1513

1514
%_probes.h: %_probes.d
1515 1516
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

E
Eric Blake 已提交
1517
.PRECIOUS: %_probes.o
1518
%_probes.o: %_probes.d
1519 1520
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

1521 1522 1523 1524 1525 1526 1527 1528 1529
%_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 已提交
1530 1531 1532 1533
RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x \
		  $(srcdir)/rpc/virkeepaliveprotocol.x \
		  $(srcdir)/remote/remote_protocol.x \
		  $(srcdir)/remote/qemu_protocol.x
1534 1535

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

1538
%_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl $(top_builddir)/config.status
1539
	$(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
1540
	  $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
1541

1542
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
1543
              libvirt_qemu_probes.h libvirt_qemu_probes.o \
1544
              libvirt_qemu_probes.lo\
1545 1546
              libvirt_functions.stp libvirt_probes.stp \
              libvirt_qemu_probes.stp
1547 1548
endif

1549
EXTRA_DIST += libvirt_probes.d libvirt_qemu_probes.d
1550

C
Chris Lalancette 已提交
1551 1552
libvirt_qemu_la_SOURCES = libvirt-qemu.c
libvirt_qemu_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
E
Eric Blake 已提交
1553 1554
			  -version-info $(LIBVIRT_VERSION_INFO) \
			  $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS) \
1555 1556
			  $(AM_LDFLAGS)
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
1557
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
E
Eric Blake 已提交
1558
EXTRA_DIST += $(LIBVIRT_QEMU_SYMBOL_FILE)
1559

1560 1561 1562
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES =

1563
if WITH_LIBVIRTD
1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585
lockdriver_LTLIBRARIES += lockd.la
lockd_la_SOURCES = \
		$(LOCK_DRIVER_LOCKD_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
		$(NULL)
lockd_la_CFLAGS = -I$(top_srcdir)/src/conf $(AM_CFLAGS)
lockd_la_LDFLAGS = -module -avoid-version
lockd_la_LIBADD = ../gnulib/lib/libgnu.la libvirt-net-rpc.la libvirt-net-rpc-client.la
if WITH_DTRACE_PROBES
lockd_la_LIBADD += libvirt_probes.lo
endif
if WITH_QEMU
nodist_conf_DATA = locking/qemu-lockd.conf
BUILT_SOURCES += locking/qemu-lockd.conf
DISTCLEANFILES += locking/qemu-lockd.conf
endif

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


1586 1587
sbin_PROGRAMS = virtlockd

1588 1589 1590
virtlockd_SOURCES = \
		$(LOCK_DAEMON_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
1591
		$(LOCK_DAEMON_GENERATED) \
1592
		$(NULL)
1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612
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
1613 1614
EXTRA_DIST += $(LOCK_DAEMON_SOURCES) \
              $(LOCK_DRIVER_LOCKD_SOURCES)
1615 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
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 $@



1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706
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 $@


1707
if HAVE_SANLOCK
1708
lockdriver_LTLIBRARIES += sanlock.la
1709
sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
1710
sanlock_la_CFLAGS = -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1711
sanlock_la_LDFLAGS = -module -avoid-version
1712
sanlock_la_LIBADD = -lsanlock_client \
1713 1714 1715
		../gnulib/lib/libgnu.la

augeas_DATA += locking/libvirt_sanlock.aug
1716 1717
augeastest_DATA += test_libvirt_sanlock.aug
CLEANFILES += test_libvirt_sanlock.aug
1718

E
Eric Blake 已提交
1719
locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
1720
	$(AM_V_GEN)$(MKDIR_P) locking ; \
1721 1722 1723
	cp $< $@

if WITH_QEMU
E
Eric Blake 已提交
1724
nodist_conf_DATA = locking/qemu-sanlock.conf
1725
BUILT_SOURCES += locking/qemu-sanlock.conf
E
Eric Blake 已提交
1726
DISTCLEANFILES += locking/qemu-sanlock.conf
1727
endif
1728
else
1729
EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
1730
endif
1731 1732
EXTRA_DIST += locking/sanlock.conf \
	locking/libvirt_sanlock.aug \
1733
	locking/test_libvirt_sanlock.aug.in
1734

1735 1736 1737 1738
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
1739

1740
EXTRA_DIST += \
E
Eric Blake 已提交
1741 1742 1743 1744
	dtrace2systemtap.pl \
	rpc/gendispatch.pl \
	rpc/genprotocol.pl \
	rpc/gensystemtap.pl \
J
Jiri Denemark 已提交
1745 1746
	rpc/virnetprotocol.x \
	rpc/virkeepaliveprotocol.x
1747

E
Eric Blake 已提交
1748 1749
VIR_NET_RPC_GENERATED = \
	$(srcdir)/rpc/virnetprotocol.h \
J
Jiri Denemark 已提交
1750 1751 1752
	$(srcdir)/rpc/virnetprotocol.c \
	$(srcdir)/rpc/virkeepaliveprotocol.h \
	$(srcdir)/rpc/virkeepaliveprotocol.c
1753

1754
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
1755

1756
libvirt_net_rpc_la_SOURCES = \
1757
	rpc/virnetmessage.h rpc/virnetmessage.c \
1758
	rpc/virnetprotocol.h rpc/virnetprotocol.c \
1759
	rpc/virnetsocket.h rpc/virnetsocket.c \
J
Jiri Denemark 已提交
1760
	rpc/virnettlscontext.h rpc/virnettlscontext.c \
1761 1762
	rpc/virkeepaliveprotocol.h rpc/virkeepaliveprotocol.c \
	rpc/virkeepalive.h rpc/virkeepalive.c
1763 1764 1765 1766 1767 1768 1769
if HAVE_LIBSSH2
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
else
EXTRA_DIST += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
endif
1770 1771 1772 1773 1774 1775 1776
if HAVE_SASL
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
else
EXTRA_DIST += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
endif
1777
libvirt_net_rpc_la_CFLAGS = \
1778
			$(GNUTLS_CFLAGS) \
1779
			$(SASL_CFLAGS) \
1780
			$(LIBSSH2_CFLAGS) \
1781
			$(XDR_CFLAGS) \
1782 1783
			$(AM_CFLAGS)
libvirt_net_rpc_la_LDFLAGS = \
1784
			$(GNUTLS_LIBS) \
1785
			$(SASL_LIBS) \
1786
			$(LIBSSH2_LIBS)\
1787 1788 1789 1790 1791 1792
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1793 1794 1795 1796
libvirt_net_rpc_server_la_SOURCES = \
	rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
	rpc/virnetserverservice.h rpc/virnetserverservice.c \
	rpc/virnetserverclient.h rpc/virnetserverclient.c \
1797
	rpc/virnetservermdns.h rpc/virnetservermdns.c \
1798 1799
	rpc/virnetserver.h rpc/virnetserver.c
libvirt_net_rpc_server_la_CFLAGS = \
1800
			$(AVAHI_CFLAGS) \
1801
			$(DBUS_CFLAGS) \
E
Eric Blake 已提交
1802
			$(XDR_CFLAGS) \
J
Jim Fehlig 已提交
1803 1804
			$(AM_CFLAGS) \
			$(POLKIT_CFLAGS)
1805 1806
libvirt_net_rpc_server_la_LDFLAGS = \
			$(AM_LDFLAGS) \
1807
			$(AVAHI_LIBS) \
1808
			$(DBUS_LIBS) \
J
Jim Fehlig 已提交
1809
			$(POLKIT_LIBS) \
1810 1811 1812 1813 1814
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_server_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1815 1816 1817 1818 1819
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 已提交
1820 1821
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
1822 1823 1824 1825 1826 1827
libvirt_net_rpc_client_la_LDFLAGS = \
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
1828

1829 1830
libexec_PROGRAMS =

1831
if WITH_LIBVIRTD
1832 1833 1834 1835 1836 1837
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
1838 1839 1840
if WITH_DTRACE_PROBES
libvirt_iohelper_LDADD += libvirt_probes.lo
endif
1841 1842

libvirt_iohelper_CFLAGS = $(AM_CFLAGS)
1843
endif
1844

1845
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
1846
if WITH_LIBVIRTD
1847
libexec_PROGRAMS += libvirt_parthelper
1848

1849
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
1850
libvirt_parthelper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
1851 1852 1853 1854
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
1855 1856 1857
if WITH_DTRACE_PROBES
libvirt_parthelper_LDADD += libvirt_probes.lo
endif
1858

1859
libvirt_parthelper_CFLAGS = $(LIBPARTED_CFLAGS) $(AM_CFLAGS)
R
Richard W.M. Jones 已提交
1860
endif
1861
endif
1862 1863
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

1864

1865 1866 1867 1868 1869 1870 1871 1872 1873
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

1874 1875 1876 1877 1878 1879
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
O
Osier Yang 已提交
1880 1881
		$(NODE_INFO_SOURCES)				\
		$(DATATYPES_SOURCES)
1882
libvirt_lxc_LDFLAGS = $(WARN_CFLAGS) $(AM_LDFLAGS)
1883 1884
libvirt_lxc_LDADD =			\
		$(NUMACTL_LIBS) \
G
Gao feng 已提交
1885
		$(FUSE_LIBS) \
1886 1887
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
1888
		libvirt_security_manager.la \
1889 1890
		libvirt_conf.la \
		libvirt_util.la \
1891
		../gnulib/lib/libgnu.la
1892
if WITH_DTRACE_PROBES
1893
libvirt_lxc_LDADD += libvirt_probes.lo
1894
endif
1895 1896 1897
if WITH_SECDRIVER_SELINUX
libvirt_lxc_LDADD += $(SELINUX_LIBS)
endif
J
Jiri Denemark 已提交
1898 1899 1900
if WITH_SECDRIVER_APPARMOR
libvirt_lxc_LDADD += $(APPARMOR_LIBS)
endif
1901
libvirt_lxc_CFLAGS =				\
1902
		-I$(top_srcdir)/src/conf	\
1903
		$(AM_CFLAGS)                    \
G
Gao feng 已提交
1904 1905
		$(LIBNL_CFLAGS)			\
		$(FUSE_CFLAGS)
1906 1907 1908 1909
if HAVE_LIBBLKID
libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
libvirt_lxc_LDADD += $(BLKID_LIBS)
endif
1910 1911 1912
if WITH_SECDRIVER_SELINUX
libvirt_lxc_CFLAGS += $(SELINUX_CFLAGS)
endif
J
Jiri Denemark 已提交
1913 1914 1915
if WITH_SECDRIVER_APPARMOR
libvirt_lxc_CFLAGS += $(APPARMOR_CFLAGS)
endif
1916 1917 1918 1919
endif
endif
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
1920 1921 1922 1923 1924 1925
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1926
virt_aa_helper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
J
Jamie Strandboge 已提交
1927
virt_aa_helper_LDADD =						\
C
Chris Lalancette 已提交
1928 1929 1930
		libvirt_conf.la					\
		libvirt_util.la					\
		../gnulib/lib/libgnu.la
1931
if WITH_DTRACE_PROBES
1932
virt_aa_helper_LDADD += libvirt_probes.lo
1933
endif
J
Jamie Strandboge 已提交
1934
virt_aa_helper_CFLAGS =						\
1935 1936
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/security			\
1937
		$(AM_CFLAGS)
J
Jamie Strandboge 已提交
1938 1939 1940 1941
endif
endif
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

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

1996
uninstall-local:: uninstall-init uninstall-systemd
1997
if WITH_LIBVIRTD
1998
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files" ||:
1999 2000 2001
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lockd" ||:
endif
2002 2003
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
2004
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
2005
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
2006 2007 2008
if HAVE_SANLOCK
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
endif
2009 2010 2011 2012 2013
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" ||:
2014
endif
2015 2016 2017 2018
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
endif
J
Jim Fehlig 已提交
2019 2020 2021
if WITH_LIBXL
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/libxl" ||:
J
Jim Fehlig 已提交
2022
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/libxl" ||:
J
Jim Fehlig 已提交
2023
endif
2024 2025 2026 2027
if WITH_UML
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/uml" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/uml" ||:
endif
2028 2029 2030
if WITH_XEN
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/xen" ||:
endif
2031 2032 2033 2034 2035 2036 2037 2038 2039
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 已提交
2040

2041 2042
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
2043
MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED)