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

3 4 5 6 7 8 9
# No libraries with the exception of LIBXML should be listed
# here. List them against the individual XXX_la_CFLAGS targets
# that actually use them
INCLUDES =							\
		-I$(top_srcdir)/gnulib/lib			\
		-I../gnulib/lib					\
		-I../include					\
10
		-I@top_srcdir@/src/util				\
11 12 13 14
		-I@top_srcdir@/include				\
		$(DRIVER_MODULE_CFLAGS)				\
		$(LIBXML_CFLAGS)				\
		$(WARN_CFLAGS)					\
15 16 17
		$(LOCK_CHECKING_CFLAGS)			\
		-DIN_LIBVIRT				\
		$(WIN32_EXTRA_CFLAGS)
18

19 20 21
AM_CFLAGS = $(COVERAGE_CFLAGS)
AM_LDFLAGS = $(COVERAGE_LDFLAGS)

22
EXTRA_DIST = $(conf_DATA)
23

24 25
BUILT_SOURCES =

26 27 28
if WITH_NETWORK
UUID=$(shell uuidgen 2>/dev/null)
endif
29

C
Chris Lalancette 已提交
30
lib_LTLIBRARIES = libvirt.la libvirt-qemu.la
31

32 33 34
moddir = $(libdir)/libvirt/drivers
mod_LTLIBRARIES =

A
Amy Griffis 已提交
35 36
confdir = $(sysconfdir)/libvirt
conf_DATA =
37

38 39 40 41 42 43
augeasdir = $(datadir)/augeas/lenses
augeas_DATA =

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

44 45
# These files are not related to driver APIs. Simply generic
# helper APIs for various purposes
46
UTIL_SOURCES =							\
47
		util/authhelper.c util/authhelper.h		\
48
		util/bitmap.c util/bitmap.h			\
49 50
		util/bridge.c util/bridge.h			\
		util/buf.c util/buf.h				\
51
		util/command.c util/command.h			\
52 53 54
		util/conf.c util/conf.h				\
		util/cgroup.c util/cgroup.h			\
		util/event.c util/event.h			\
55
		util/files.c util/files.h			\
56
		util/hash.c util/hash.h				\
D
Daniel Veillard 已提交
57
		util/hooks.c util/hooks.h			\
58
		util/iptables.c util/iptables.h			\
G
Gerhard Stenzel 已提交
59
		util/ebtables.c util/ebtables.h			\
60
		util/dnsmasq.c util/dnsmasq.h                   \
61
		util/json.c util/json.h				\
62
		util/logging.c util/logging.h			\
63
		util/macvtap.c util/macvtap.h			\
64 65
		util/memory.c util/memory.h			\
		util/pci.c util/pci.h				\
66
		util/processinfo.c util/processinfo.h		\
67
		util/hostusb.c util/hostusb.h			\
68
		util/network.c util/network.h			\
69
		util/interface.c util/interface.h		\
70 71
		util/qparams.c util/qparams.h			\
		util/stats_linux.c util/stats_linux.h		\
72
		util/storage_file.c util/storage_file.h		\
73
		util/sysinfo.c util/sysinfo.h			\
74 75 76
		util/threads.c util/threads.h			\
		util/threads-pthread.h				\
		util/threads-win32.h				\
H
Hu Tao 已提交
77
		util/threadpool.c util/threadpool.h		\
78 79 80
		util/uuid.c util/uuid.h				\
		util/util.c util/util.h				\
		util/xml.c util/xml.h				\
81
		util/virtaudit.c util/virtaudit.h               \
82
		util/virterror.c util/virterror_internal.h
83 84

EXTRA_DIST += util/threads-pthread.c util/threads-win32.c
85

86
# Internal generic driver infrastructure
87
NODE_INFO_SOURCES = nodeinfo.h nodeinfo.c
88
DRIVER_SOURCES =						\
89
		driver.c driver.h				\
90 91
		internal.h					\
		datatypes.c datatypes.h				\
92
		fdstream.c fdstream.h                 \
93
		$(NODE_INFO_SOURCES)				\
94 95 96
		libvirt.c libvirt_internal.h


97
# XML configuration format handling sources
98 99
# Domain driver generic impl APIs
DOMAIN_CONF_SOURCES =						\
100
		conf/capabilities.c conf/capabilities.h		\
101 102
		conf/domain_conf.c conf/domain_conf.h		\
		conf/domain_nwfilter.c conf/domain_nwfilter.h
103 104 105

DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
106 107

# Network driver generic impl APIs
108
NETWORK_CONF_SOURCES =						\
109
		conf/network_conf.c conf/network_conf.h
110

111 112
# Network filter driver generic impl APIs
NWFILTER_PARAM_CONF_SOURCES =					\
113 114
		conf/nwfilter_params.c conf/nwfilter_params.h	\
		conf/nwfilter_conf.h
115 116 117 118 119

NWFILTER_CONF_SOURCES =					\
		$(NWFILTER_PARAM_CONF_SOURCES)			\
		conf/nwfilter_conf.c conf/nwfilter_conf.h

120
# Storage driver generic impl APIs
121 122
STORAGE_CONF_SOURCES =                                         \
		conf/storage_conf.h conf/storage_conf.c
123

124
# Interface driver generic impl APIs
125 126
INTERFACE_CONF_SOURCES =                                       \
		conf/interface_conf.c conf/interface_conf.h
127

128
# Secret driver generic impl APIs
129 130 131 132 133 134 135 136 137 138
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

139 140 141
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h

142 143 144 145
CONF_SOURCES =							\
		$(DOMAIN_CONF_SOURCES)				\
		$(DOMAIN_EVENT_SOURCES)				\
		$(NETWORK_CONF_SOURCES)				\
146
		$(NWFILTER_CONF_SOURCES)			\
147 148 149 150
		$(NODE_DEVICE_CONF_SOURCES)			\
		$(STORAGE_CONF_SOURCES)				\
		$(ENCRYPTION_CONF_SOURCES)			\
		$(INTERFACE_CONF_SOURCES)			\
151 152
		$(SECRET_CONF_SOURCES)				\
		$(CPU_CONF_SOURCES)
153

154 155
# The remote RPC driver, covering domains, storage, networks, etc
REMOTE_DRIVER_SOURCES =						\
156 157
		gnutls_1_0_compat.h			\
		remote/remote_driver.c remote/remote_driver.h	\
158
		remote/remote_protocol.c			\
C
Chris Lalancette 已提交
159 160 161
		remote/remote_protocol.h			\
		remote/qemu_protocol.c				\
		remote/qemu_protocol.h
162

E
Eric Blake 已提交
163 164
EXTRA_DIST += remote/remote_protocol.x remote/qemu_protocol.x \
		remote/rpcgen_fix.pl
165

166 167 168 169 170 171 172 173 174 175
# 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
176 177 178 179 180 181 182 183 184 185

# With pdwtags 1.8, --verbose output includes separators like these:
# /* 93 */
# /* <0> (null):0 */
# whereas with pdwtags 1.3, they look like this:
# /* <2d2> /usr/include/libio.h:180 */
# The concatenation of the following regexps matches both cases.
r1 = (?:/\* \d+ \*/\n)?
r2 = /\* <[[:xdigit:]]+> \S+:\d+ \*/

186 187
.PHONY: remote_protocol-structs
remote_protocol-structs:
188
	$(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then		\
189
	  pdwtags --verbose libvirt_driver_remote_la-remote_protocol.$(OBJEXT) \
190
	    | perl -0777 -n						\
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
		-e 'foreach my $$p (split m!\n\n$(r1)$(r2)\n!) {'	\
		-e '  if ($$p =~ /^struct remote_/) {'			\
		-e '    $$p =~ s!\t*/\*.*?\*/!!sg;'			\
		-e '    $$p =~ s!\s+\n!\n!sg;'				\
		-e '    $$p =~ s!\s+$$!!;'				\
		-e '    print "$$p\n";'					\
		-e '    $$n++;'						\
		-e '  }'						\
		-e '}'							\
		-e 'END {'						\
		-e '  if ($$n < 300) {'					\
		-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 '}'							\
208
		> $@-t;							\
209
          case $$? in 8) exit 0;; 0) ;; *) exit 1;; esac;		\
210
	  diff -u $@-t $(srcdir)/$@; st=$$?; rm -f $@-t; exit $$st;	\
211
	else								\
212 213
	  echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2;	\
	  echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
214 215 216 217
	fi
EXTRA_DIST += remote_protocol-structs
check-local: remote_protocol-structs

218 219
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES =						\
220
		test/test_driver.c test/test_driver.h
221 222 223

# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
224 225 226 227 228 229 230
		xen/sexpr.c xen/sexpr.h				\
		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
231
if WITH_XEN_INOTIFY
232
XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
233
endif
234 235

LXC_DRIVER_SOURCES =						\
236 237 238
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
		lxc/lxc_driver.c lxc/lxc_driver.h		\
239
		lxc/veth.c lxc/veth.h
240

241
LXC_CONTROLLER_SOURCES =					\
242 243 244
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
		lxc/lxc_controller.c				\
245
		lxc/veth.c lxc/veth.h
246

J
Jamie Strandboge 已提交
247 248 249
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES =			\
		security/virt-aa-helper.c

250 251 252
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

253
OPENVZ_DRIVER_SOURCES =						\
254 255
		openvz/openvz_conf.c openvz/openvz_conf.h	\
		openvz/openvz_driver.c openvz/openvz_driver.h
256

E
Eric Blake 已提交
257
VMWARE_DRIVER_SOURCES =						\
258
		vmware/vmware_driver.c vmware/vmware_driver.h	\
259 260
		vmware/vmware_conf.c vmware/vmware_conf.h

261
VBOX_DRIVER_SOURCES =						\
262
        vbox/vbox_glue.c vbox/vbox_glue.h			\
263
        vbox/vbox_driver.c vbox/vbox_driver.h			\
264
        vbox/vbox_V2_2.c vbox/vbox_CAPI_v2_2.h			\
265
        vbox/vbox_V3_0.c vbox/vbox_CAPI_v3_0.h			\
266
        vbox/vbox_V3_1.c vbox/vbox_CAPI_v3_1.h			\
267 268
        vbox/vbox_V3_2.c vbox/vbox_CAPI_v3_2.h			\
        vbox/vbox_V4_0.c vbox/vbox_CAPI_v4_0.h
269

E
Eric Blake 已提交
270
VBOX_DRIVER_EXTRA_DIST =					\
271 272 273
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
274

275
QEMU_DRIVER_SOURCES =						\
276
		qemu/qemu_capabilities.c qemu/qemu_capabilities.h\
277
		qemu/qemu_command.c qemu/qemu_command.h		\
278
		qemu/qemu_domain.c qemu/qemu_domain.h		\
279
		qemu/qemu_audit.c qemu/qemu_audit.h		\
280
		qemu/qemu_cgroup.c qemu/qemu_cgroup.h		\
281
		qemu/qemu_hostdev.c qemu/qemu_hostdev.h		\
282
		qemu/qemu_hotplug.c qemu/qemu_hotplug.h		\
283
		qemu/qemu_conf.c qemu/qemu_conf.h		\
284
		qemu/qemu_monitor.c qemu/qemu_monitor.h		\
285 286
		qemu/qemu_monitor_text.c			\
		qemu/qemu_monitor_text.h			\
D
Daniel P. Berrange 已提交
287 288 289
		qemu/qemu_monitor_json.c			\
		qemu/qemu_monitor_json.h			\
		qemu/qemu_driver.c qemu/qemu_driver.h		\
E
Eric Blake 已提交
290
		qemu/qemu_bridge_filter.c			\
291
		qemu/qemu_bridge_filter.h
R
Richard W.M. Jones 已提交
292

293 294
XENAPI_DRIVER_SOURCES =								\
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
295
		xenapi/xenapi_driver_private.h					\
296 297
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

298
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
299 300
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
301

302 303 304 305 306 307
ONE_DRIVER_SOURCES =						\
		./opennebula/one_conf.c				\
		./opennebula/one_conf.h				\
		./opennebula/one_driver.c			\
		./opennebula/one_driver.h			\
		./opennebula/one_client.c			\
308
		./opennebula/one_client.h
D
Daniel Veillard 已提交
309

310
ESX_DRIVER_SOURCES =						\
311
		esx/esx_private.h						\
312
		esx/esx_driver.c esx/esx_driver.h		\
313 314 315 316 317
		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		\
		esx/esx_secret_driver.c esx/esx_secret_driver.h		\
M
Matthias Bolte 已提交
318
		esx/esx_nwfilter_driver.c esx/esx_nwfilter_driver.h		\
319 320
		esx/esx_util.c esx/esx_util.h			\
		esx/esx_vi.c esx/esx_vi.h			\
321
		esx/esx_vi_methods.c esx/esx_vi_methods.h	\
322
		esx/esx_vi_types.c esx/esx_vi_types.h
323

324
ESX_DRIVER_GENERATED =							\
325 326
		esx/esx_vi_methods.generated.c				\
		esx/esx_vi_methods.generated.h				\
327 328 329 330 331 332 333 334 335 336 337 338 339
		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			\
		esx/esx_vi_types.generated.typefromstring

ESX_DRIVER_EXTRA_DIST =						\
		esx/README						\
		esx/esx_vi_generator.input				\
		esx/esx_vi_generator.py					\
		$(ESX_DRIVER_GENERATED)

340
NETWORK_DRIVER_SOURCES =					\
341
		network/bridge_driver.h network/bridge_driver.c
342

343
INTERFACE_DRIVER_SOURCES =					\
344
		interface/netcf_driver.h interface/netcf_driver.c
345

346
SECRET_DRIVER_SOURCES =						\
347
		secret/secret_driver.h secret/secret_driver.c
348

349
# Storage backend specific impls
350
STORAGE_DRIVER_SOURCES =					\
351 352
		storage/storage_driver.h storage/storage_driver.c		\
		storage/storage_backend.h storage/storage_backend.c
353 354

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

357
STORAGE_DRIVER_LVM_SOURCES =					\
358 359
		storage/storage_backend_logical.h			\
		storage/storage_backend_logical.c
360 361

STORAGE_DRIVER_ISCSI_SOURCES =					\
362
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
363

364
STORAGE_DRIVER_SCSI_SOURCES =					\
365
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
366

D
Dave Allan 已提交
367
STORAGE_DRIVER_MPATH_SOURCES =					\
368
		storage/storage_backend_mpath.h storage/storage_backend_mpath.c
D
Dave Allan 已提交
369

370
STORAGE_DRIVER_DISK_SOURCES =					\
371
		storage/storage_backend_disk.h storage/storage_backend_disk.c
372 373

STORAGE_HELPER_DISK_SOURCES =					\
374
		storage/parthelper.c
375

376 377 378
# Network filters
NWFILTER_DRIVER_SOURCES =					\
		nwfilter/nwfilter_driver.h nwfilter/nwfilter_driver.c	\
379 380 381
		nwfilter/nwfilter_gentech_driver.c			\
		nwfilter/nwfilter_gentech_driver.h			\
		nwfilter/nwfilter_ebiptables_driver.c			\
382 383 384
		nwfilter/nwfilter_ebiptables_driver.h			\
		nwfilter/nwfilter_learnipaddr.c				\
		nwfilter/nwfilter_learnipaddr.h
385

386

387
# Security framework and drivers for various models
388
SECURITY_DRIVER_SOURCES =					\
389 390 391 392 393
		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 \
		security/security_manager.h security/security_manager.c
394

395
SECURITY_DRIVER_SELINUX_SOURCES =				\
396
		security/security_selinux.h security/security_selinux.c
397

J
Jamie Strandboge 已提交
398 399 400
SECURITY_DRIVER_APPARMOR_SOURCES =				\
		security/security_apparmor.h security/security_apparmor.c

401

402
NODE_DEVICE_DRIVER_SOURCES =					\
403 404 405
		node_device/node_device_driver.c \
		node_device/node_device_driver.h \
		node_device/node_device_linux_sysfs.c
406 407

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
408
		node_device/node_device_hal.c			\
409
		node_device/node_device_hal.h
410

411
NODE_DEVICE_DRIVER_UDEV_SOURCES =				\
D
Daniel Veillard 已提交
412 413
		node_device/node_device_udev.c			\
		node_device/node_device_udev.h
414

J
Jiri Denemark 已提交
415 416 417 418 419
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	\
		cpu/cpu_map.h cpu/cpu_map.c
420

421 422 423
VMX_SOURCES =							\
		vmx/vmx.c vmx/vmx.h

J
Jiri Denemark 已提交
424 425
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
426
EXTRA_DIST +=	$(pkgdata_DATA)
427

428 429 430 431 432 433
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

434
noinst_LTLIBRARIES = libvirt_util.la
435 436
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
libvirt_la_BUILT_LIBADD = libvirt_util.la
437 438
libvirt_util_la_SOURCES =					\
		$(UTIL_SOURCES)
439
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
440 441 442
		$(AM_CFLAGS) $(AUDIT_CFLAGS)
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
		$(LIB_PTHREAD) $(AUDIT_LIBS)
443

444 445

noinst_LTLIBRARIES += libvirt_conf.la
446
libvirt_la_BUILT_LIBADD += libvirt_conf.la
447
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
448 449
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
450

J
Jiri Denemark 已提交
451
noinst_LTLIBRARIES += libvirt_cpu.la
452
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
453
libvirt_cpu_la_CFLAGS = \
454
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
455 456
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

457 458 459 460 461 462 463 464
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
endif

465

466
noinst_LTLIBRARIES += libvirt_driver.la
467
libvirt_la_BUILT_LIBADD += libvirt_driver.la
468
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
469

M
Matthias Bolte 已提交
470
libvirt_driver_la_CFLAGS = $(NUMACTL_CFLAGS) $(GNUTLS_CFLAGS) \
471
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
472
libvirt_driver_la_LIBADD = $(NUMACTL_LIBS) $(GNUTLS_LIBS)
473

474
USED_SYM_FILES = libvirt_private.syms
475

476
if WITH_TEST
477 478 479
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_test.la
else
480
noinst_LTLIBRARIES += libvirt_driver_test.la
481
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
482
endif
483
libvirt_driver_test_la_CFLAGS = \
484
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
485
if WITH_DRIVER_MODULES
486
libvirt_driver_test_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
487
endif
488
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
489 490 491
endif

if WITH_REMOTE
492 493 494
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_remote.la
else
495
noinst_LTLIBRARIES += libvirt_driver_remote.la
496
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
497
endif
498 499
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
E
Eric Blake 已提交
500
		$(SASL_CFLAGS) $(XDR_CFLAGS)			\
501 502 503
		-I@top_srcdir@/src/conf				\
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
504
libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) $(SASL_LIBS)
505 506 507
if WITH_DRIVER_MODULES
libvirt_driver_remote_la_LDFLAGS += -module -avoid-version
endif
508
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
509 510 511 512 513 514

if HAVE_RPCGEN
#
# Maintainer-only target for re-generating the derived .c/.h source
# files, which are actually derived from the .x file.
#
515
# For committing protocol changes to GIT, the GLIBC rpcgen *must*
516 517 518 519 520
# be used.
#
# Support for non-GLIB rpcgen is here as a convenience for
# non-Linux people needing to test changes during dev.
#
C
Chris Lalancette 已提交
521
rpcgen-normal:
522 523 524 525
	rm -f rp.c-t rp.h-t rp.c-t1 rp.c-t2 rp.h-t1
	$(RPCGEN) -h -o rp.h-t $(srcdir)/remote/remote_protocol.x
	$(RPCGEN) -c -o rp.c-t $(srcdir)/remote/remote_protocol.x
if HAVE_GLIBC_RPCGEN
P
Paolo Bonzini 已提交
526 527
	perl -w $(srcdir)/remote/rpcgen_fix.pl rp.h-t > rp.h-t1
	perl -w $(srcdir)/remote/rpcgen_fix.pl rp.c-t > rp.c-t1
528 529 530 531 532 533 534 535 536 537
	(echo '#include <config.h>'; cat rp.c-t1) > rp.c-t2
	chmod 0444 rp.c-t2 rp.h-t1
	mv -f rp.h-t1 $(srcdir)/remote/remote_protocol.h
	mv -f rp.c-t2 $(srcdir)/remote/remote_protocol.c
	rm -f rp.c-t rp.h-t rp.c-t1
else
	chmod 0444 rp.c-t rp.h-t
	mv -f rp.h-t $(srcdir)/remote/remote_protocol.h
	mv -f rp.c-t $(srcdir)/remote/remote_protocol.c
endif
C
Chris Lalancette 已提交
538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568

rpcgen-qemu:
	rm -f rp_qemu.c-t rp_qemu.h-t rp_qemu.c-t1 rp_qemu.c-t2 rp_qemu.h-t1
	$(RPCGEN) -h -o rp_qemu.h-t $(srcdir)/remote/qemu_protocol.x
	$(RPCGEN) -c -o rp_qemu.c-t $(srcdir)/remote/qemu_protocol.x
if HAVE_GLIBC_RPCGEN
	perl -w $(srcdir)/remote/rpcgen_fix.pl rp_qemu.h-t > rp_qemu.h-t1
	perl -w $(srcdir)/remote/rpcgen_fix.pl rp_qemu.c-t > rp_qemu.c-t1
	(echo '#include <config.h>'; cat rp_qemu.c-t1) > rp_qemu.c-t2
	chmod 0444 rp_qemu.c-t2 rp_qemu.h-t1
	mv -f rp_qemu.h-t1 $(srcdir)/remote/qemu_protocol.h
	mv -f rp_qemu.c-t2 $(srcdir)/remote/qemu_protocol.c
	rm -f rp_qemu.c-t rp_qemu.h-t rp_qemu.c-t1
else
	chmod 0444 rp_qemu.c-t rp_qemu.h-t
	mv -f rp_qemu.h-t $(srcdir)/remote/qemu_protocol.h
	mv -f rp_qemu.c-t $(srcdir)/remote/qemu_protocol.c
endif

#
# Maintainer-only target for re-generating the derived .c/.h source
# files, which are actually derived from the .x file.
#
# For committing protocol changes to GIT, the GLIBC rpcgen *must*
# be used.
#
# Support for non-GLIB rpcgen is here as a convenience for
# non-Linux people needing to test changes during dev.
#
rpcgen: rpcgen-normal rpcgen-qemu

569 570 571
endif

remote/remote_protocol.c: remote/remote_protocol.h
572 573 574
endif

if WITH_XEN
575 576 577
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
else
578
noinst_LTLIBRARIES += libvirt_driver_xen.la
579
libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
580
endif
E
Eric Blake 已提交
581
libvirt_driver_xen_la_CFLAGS =					\
582
		$(XEN_CFLAGS)					\
583 584 585
		-I@top_srcdir@/src/conf				\
		$(AM_CFLAGS)
libvirt_driver_xen_la_LDFLAGS = $(AM_LDFLAGS)
586
libvirt_driver_xen_la_LIBADD = $(XEN_LIBS)
587
if WITH_DRIVER_MODULES
588
libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
589 590
libvirt_driver_xen_la_LDFLAGS += -module -avoid-version
endif
591
libvirt_driver_xen_la_SOURCES = $(XEN_DRIVER_SOURCES)
592 593
endif

594 595 596 597 598
if WITH_PHYP
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_phyp.la
else
noinst_LTLIBRARIES += libvirt_driver_phyp.la
599
libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
600
endif
601
libvirt_driver_phyp_la_LIBADD = $(LIBSSH2_LIBS)
602 603 604 605
if WITH_DRIVER_MODULES
libvirt_driver_phyp_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_phyp_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
endif
606
libvirt_driver_phyp_la_CFLAGS = $(LIBSSH2_CFLAGS) \
607
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
608 609 610
libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
endif

611
if WITH_OPENVZ
612 613 614
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_openvz.la
else
615
noinst_LTLIBRARIES += libvirt_driver_openvz.la
616
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
617
endif
618
libvirt_driver_openvz_la_CFLAGS = \
619
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
620
if WITH_DRIVER_MODULES
621
libvirt_driver_openvz_la_LIBADD = ../gnulib/lib/libgnu.la
622
libvirt_driver_openvz_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
623
endif
624
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
625 626
endif

627 628 629 630 631 632 633 634
if WITH_VMWARE
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_vmware.la
else
noinst_LTLIBRARIES += libvirt_driver_vmware.la
libvirt_la_BUILT_LIBADD += libvirt_driver_vmware.la
endif
libvirt_driver_vmware_la_CFLAGS = \
635
		-I@top_srcdir@/src/conf -I@top_srcdir@/src/vmx
636
if WITH_DRIVER_MODULES
637
libvirt_driver_vmware_la_LIBADD = ../gnulib/lib/libgnu.la
638 639 640 641 642
libvirt_driver_vmware_la_LDFLAGS = -module -avoid-version
endif
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
endif

643 644 645 646 647
if WITH_VBOX
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_vbox.la
else
noinst_LTLIBRARIES += libvirt_driver_vbox.la
648
libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
649
endif
650
libvirt_driver_vbox_la_CFLAGS = \
651
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
652
libvirt_driver_vbox_la_LIBADD = $(DLOPEN_LIBS) $(MSCOM_LIBS)
653
if WITH_DRIVER_MODULES
654
libvirt_driver_vbox_la_LIBADD += ../gnulib/lib/libgnu.la
655
libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
656 657 658 659
endif
libvirt_driver_vbox_la_SOURCES = $(VBOX_DRIVER_SOURCES)
endif

660 661 662 663 664
if WITH_XENAPI
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xenapi.la
else
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
665
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
666 667
endif
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(LIBCURL_CFLAGS) \
668 669
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
670
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(LIBCURL_LIBS)
671
if WITH_DRIVER_MODULES
672
libvirt_driver_xenapi_la_LIBADD += ../gnulib/lib/libgnu.la
673 674 675 676 677
libvirt_driver_xenapi_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
endif

678
if WITH_QEMU
679 680 681
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
else
682
noinst_LTLIBRARIES += libvirt_driver_qemu.la
683
# Stateful, so linked to daemon instead
684
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
685
endif
686
libvirt_driver_qemu_la_CFLAGS = $(NUMACTL_CFLAGS) \
687 688
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_qemu_la_LDFLAGS = $(AM_LDFLAGS)
689
libvirt_driver_qemu_la_LIBADD = $(NUMACTL_LIBS)
690
if WITH_DRIVER_MODULES
691
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
692 693
libvirt_driver_qemu_la_LDFLAGS += -module -avoid-version
endif
694
libvirt_driver_qemu_la_SOURCES = $(QEMU_DRIVER_SOURCES)
695

A
Amy Griffis 已提交
696
conf_DATA += qemu/qemu.conf
697

698 699
augeas_DATA += qemu/libvirtd_qemu.aug
augeastest_DATA += qemu/test_libvirtd_qemu.aug
700

701
endif
702 703
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
		qemu/test_libvirtd_qemu.aug qemu/THREADS.txt
704

705 706

if WITH_LXC
707 708 709
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
else
710
noinst_LTLIBRARIES += libvirt_driver_lxc.la
711
# Stateful, so linked to daemon instead
712
#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
713
endif
714
libvirt_driver_lxc_la_CFLAGS = \
715
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
716
if WITH_DRIVER_MODULES
717
libvirt_driver_lxc_la_LIBADD = ../gnulib/lib/libgnu.la
718
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
719
endif
720
libvirt_driver_lxc_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
721 722 723

conf_DATA += lxc/lxc.conf

724 725 726
augeas_DATA += lxc/libvirtd_lxc.aug
augeastest_DATA += lxc/test_libvirtd_lxc.aug

727
endif
728
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug
729

730
if WITH_UML
731 732 733
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
else
734 735
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
736
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
737
endif
738
libvirt_driver_uml_la_CFLAGS = $(NUMACTL_CFLAGS) \
739 740
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_uml_la_LDFLAGS = $(AM_LDFLAGS)
741
libvirt_driver_uml_la_LIBADD = $(NUMACTL_LIBS)
742
if WITH_DRIVER_MODULES
743
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
744 745
libvirt_driver_uml_la_LDFLAGS += -module -avoid-version
endif
746 747
libvirt_driver_uml_la_SOURCES = $(UML_DRIVER_SOURCES)
endif
748

D
Daniel Veillard 已提交
749 750 751 752 753 754
if WITH_ONE
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_one.la
else
noinst_LTLIBRARIES += libvirt_driver_one.la
# Stateful, so linked to daemon instead
755
#libvirt_la_BUILT_LIBADD  += libvirt_driver_one.la
D
Daniel Veillard 已提交
756
endif
757
libvirt_driver_one_la_CFLAGS = $(XMLRPC_CFLAGS) \
758 759
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_one_la_LDFLAGS = $(AM_LDFLAGS)
760
libvirt_driver_one_la_LIBADD = $(XMLRPC_LIBS)
D
Daniel Veillard 已提交
761 762
#libvirt_driver_one_la_CFLAGS  = "-DWITH_ONE"
if WITH_DRIVER_MODULES
763
libvirt_driver_one_la_LIBADD += ../gnulib/lib/libgnu.la
D
Daniel Veillard 已提交
764 765 766 767 768 769
libvirt_driver_one_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_one_la_SOURCES = $(ONE_DRIVER_SOURCES)
endif


770
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
771

772 773
$(ESX_DRIVER_GENERATED): $(srcdir)/esx/esx_vi_generator.input $(srcdir)/esx/esx_vi_generator.py
	-srcdir=$(srcdir) $(srcdir)/esx/esx_vi_generator.py
D
Daniel Veillard 已提交
774

775 776 777 778 779
if WITH_ESX
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_esx.la
else
noinst_LTLIBRARIES += libvirt_driver_esx.la
780
libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
781
endif
782
libvirt_driver_esx_la_CFLAGS = $(LIBCURL_CFLAGS) \
783
		-I@top_srcdir@/src/conf -I@top_srcdir@/src/vmx $(AM_CFLAGS)
784
libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
785
libvirt_driver_esx_la_LIBADD = $(LIBCURL_LIBS)
786
if WITH_DRIVER_MODULES
787
libvirt_driver_esx_la_LIBADD += ../gnulib/lib/libgnu.la
788 789 790
libvirt_driver_esx_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
791
libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
792 793
endif

794
if WITH_NETWORK
795 796 797
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
else
798
noinst_LTLIBRARIES += libvirt_driver_network.la
799
# Stateful, so linked to daemon instead
800
#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
801
endif
802
libvirt_driver_network_la_CFLAGS = \
803
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
804
if WITH_DRIVER_MODULES
805
libvirt_driver_network_la_LIBADD = ../gnulib/lib/libgnu.la
806
libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
807
endif
808
libvirt_driver_network_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
809
endif
810 811 812 813
EXTRA_DIST += network/default.xml



814

D
Daniel Veillard 已提交
815
if WITH_NETCF
816 817 818 819
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_interface.la
else
noinst_LTLIBRARIES += libvirt_driver_interface.la
820
libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la
821
endif
822
libvirt_driver_interface_la_CFLAGS = $(NETCF_CFLAGS) \
823 824
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS)
825
libvirt_driver_interface_la_LIBADD = $(NETCF_LIBS)
826
if WITH_DRIVER_MODULES
827
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
828 829 830
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
D
Daniel Veillard 已提交
831 832
endif

D
Daniel P. Berrange 已提交
833
if WITH_SECRETS
834 835 836 837
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_secret.la
else
noinst_LTLIBRARIES += libvirt_driver_secret.la
838
# Stateful, so linked to daemon instead
839
#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
840
endif
841
libvirt_driver_secret_la_CFLAGS = \
842
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
843
if WITH_DRIVER_MODULES
844
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
845
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
846 847
endif
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
D
Daniel P. Berrange 已提交
848
endif
849

850 851
# Needed to keep automake quiet about conditionals
libvirt_driver_storage_la_SOURCES =
852
libvirt_driver_storage_la_CFLAGS = \
853 854
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_storage_la_LDFLAGS = $(AM_LDFLAGS)
855
libvirt_driver_storage_la_LIBADD =
856
if WITH_STORAGE_DIR
857 858 859
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
else
860
noinst_LTLIBRARIES += libvirt_driver_storage.la
861
# Stateful, so linked to daemon instead
862
#libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la
863 864
endif
if WITH_DRIVER_MODULES
865
libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
866
libvirt_driver_storage_la_LDFLAGS += -module -avoid-version
867
endif
868 869
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
870 871
endif

872
if WITH_STORAGE_LVM
873
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
874 875
endif

876
if WITH_STORAGE_ISCSI
877
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
878 879
endif

880 881 882 883
if WITH_STORAGE_SCSI
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
endif

D
Dave Allan 已提交
884 885 886
if WITH_STORAGE_MPATH
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_MPATH_SOURCES)
libvirt_driver_storage_la_CFLAGS += $(DEVMAPPER_CFLAGS)
887
libvirt_driver_storage_la_LIBADD += $(DEVMAPPER_LIBS)
D
Dave Allan 已提交
888 889
endif

890
if WITH_STORAGE_DISK
891
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
892
endif
893

894 895 896 897 898 899 900
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
901
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
902 903 904
endif
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

905
libvirt_driver_nodedev_la_CFLAGS = \
906 907
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
908
libvirt_driver_nodedev_la_LIBADD =
909 910 911
if HAVE_HAL
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
912
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
913
endif
914 915
if HAVE_UDEV
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
916
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
917
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
918
endif
919 920

if WITH_DRIVER_MODULES
921
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
922 923 924 925 926
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
endif
endif


927 928 929 930
if WITH_NWFILTER
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nwfilter.la
else
931
libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
932 933
noinst_LTLIBRARIES += libvirt_driver_nwfilter.la
endif
934
libvirt_driver_nwfilter_la_CFLAGS = $(LIBPCAP_CFLAGS) \
935 936
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_nwfilter_la_LDFLAGS = $(LD_AMFLAGS)
937
libvirt_driver_nwfilter_la_LIBADD = $(LIBPCAP_LIBS)
938
if WITH_DRIVER_MODULES
939
libvirt_driver_nwfilter_la_LIBADD += ../gnulib/lib/libgnu.la
940
libvirt_driver_nwfilter_la_LDFLAGS += -module -avoid-version
941 942 943 944 945
endif
libvirt_driver_nwfilter_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
endif


946 947
libvirt_driver_security_la_SOURCES = $(SECURITY_DRIVER_SOURCES)
noinst_LTLIBRARIES += libvirt_driver_security.la
948
libvirt_la_BUILT_LIBADD += libvirt_driver_security.la
949
libvirt_driver_security_la_CFLAGS = \
950 951
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_security_la_LDFLAGS = $(AM_LDFLAGS)
952
libvirt_driver_security_la_LIBADD =
953 954
if WITH_SECDRIVER_SELINUX
libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
J
Jim Fehlig 已提交
955
libvirt_driver_security_la_CFLAGS += $(SELINUX_CFLAGS)
956
libvirt_driver_security_la_LIBADD += $(SELINUX_LIBS)
957
endif
J
Jamie Strandboge 已提交
958 959 960
if WITH_SECDRIVER_APPARMOR
libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
libvirt_driver_security_la_CFLAGS += $(APPARMOR_CFLAGS)
961
libvirt_driver_security_la_LIBADD += $(APPARMOR_LIBS)
J
Jamie Strandboge 已提交
962
endif
963

964 965 966 967 968 969 970
# Add all conditional sources just in case...
EXTRA_DIST +=							\
		$(TEST_DRIVER_SOURCES)				\
		$(REMOTE_DRIVER_SOURCES)			\
		$(XEN_DRIVER_SOURCES)				\
		$(QEMU_DRIVER_SOURCES)				\
		$(LXC_DRIVER_SOURCES)				\
971
		$(UML_DRIVER_SOURCES)				\
D
Daniel Veillard 已提交
972
		$(ONE_DRIVER_SOURCES)				\
973
		$(OPENVZ_DRIVER_SOURCES)			\
974
		$(PHYP_DRIVER_SOURCES)				\
975
		$(VBOX_DRIVER_SOURCES)				\
976
		$(XENAPI_DRIVER_SOURCES)			\
977
		$(ESX_DRIVER_SOURCES)				\
978
		$(ESX_DRIVER_EXTRA_DIST)			\
979
		$(NETWORK_DRIVER_SOURCES)			\
980
		$(INTERFACE_DRIVER_SOURCES)			\
981 982 983 984
		$(STORAGE_DRIVER_SOURCES)			\
		$(STORAGE_DRIVER_FS_SOURCES)			\
		$(STORAGE_DRIVER_LVM_SOURCES)			\
		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
985
		$(STORAGE_DRIVER_SCSI_SOURCES)			\
D
Dave Allan 已提交
986
		$(STORAGE_DRIVER_MPATH_SOURCES)			\
987 988 989
		$(STORAGE_DRIVER_DISK_SOURCES)			\
		$(NODE_DEVICE_DRIVER_SOURCES)			\
		$(NODE_DEVICE_DRIVER_HAL_SOURCES)		\
990
		$(NODE_DEVICE_DRIVER_UDEV_SOURCES)		\
991
		$(NWFILTER_DRIVER_SOURCES)			\
992
		$(SECURITY_DRIVER_SELINUX_SOURCES)		\
J
Jamie Strandboge 已提交
993
		$(SECURITY_DRIVER_APPARMOR_SOURCES)		\
D
Daniel P. Berrange 已提交
994
		$(SECRET_DRIVER_SOURCES)			\
995 996
		$(VBOX_DRIVER_EXTRA_DIST)			\
		$(VMWARE_DRIVER_SOURCES)
997

998 999 1000 1001
check-local: augeas-check

.PHONY: augeas-check
augeas-check:
1002
if WITH_QEMU
1003
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1004 1005 1006 1007 1008
	    '$(AUGPARSE)' -I $(srcdir)/qemu \
	    $(srcdir)/qemu/test_libvirtd_qemu.aug; \
	fi
endif
if WITH_LXC
1009
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1010 1011 1012 1013 1014
	    '$(AUGPARSE)' -I $(srcdir)/lxc \
	    $(srcdir)/lxc/test_libvirtd_lxc.aug; \
	fi
endif

1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033
#
# 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.
#

1034
if WITH_DRIVER_MODULES
1035
USED_SYM_FILES += libvirt_driver_modules.syms
1036
endif
1037 1038

if WITH_BRIDGE
1039
USED_SYM_FILES += libvirt_bridge.syms
1040
endif
1041 1042

if WITH_LINUX
1043
USED_SYM_FILES += libvirt_linux.syms
1044
endif
1045

1046
if WITH_MACVTAP
1047
USED_SYM_FILES += libvirt_macvtap.syms
1048
endif
1049

1050 1051 1052 1053
if WITH_LIBVIRTD
USED_SYM_FILES += libvirt_daemon.syms
endif

1054 1055 1056 1057
if WITH_NWFILTER
USED_SYM_FILES += libvirt_nwfilter.syms
endif

1058 1059 1060 1061
if WITH_VMX
USED_SYM_FILES += libvirt_vmx.syms
endif

1062 1063 1064 1065 1066
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
  libvirt_driver_modules.syms	\
  libvirt_bridge.syms		\
1067
  libvirt_linux.syms		\
1068
  libvirt_macvtap.syms		\
1069
  libvirt_daemon.syms		\
M
Matthias Bolte 已提交
1070 1071
  libvirt_nwfilter.syms	\
  libvirt_vmx.syms
1072

1073
BUILT_SOURCES += libvirt.syms libvirt.def libvirt_qemu.def
1074

1075
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES)
1076 1077 1078 1079 1080 1081
	$(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 && \
1082
	for file in $(USED_SYM_FILES); do \
1083
	    cat $(srcdir)/$$file >>$@-tmp; \
1084 1085 1086
	done && \
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
1087
	mv $@-tmp libvirt.syms
1088

1089 1090 1091
libvirt.def: libvirt.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1092
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1093 1094 1095
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt.def

1096 1097 1098
libvirt_qemu.def: $(srcdir)/libvirt_qemu.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1099
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1100 1101 1102
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt_qemu.def

1103 1104
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
1105
libvirt_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
1106
                     -version-info $(LIBVIRT_VERSION_INFO) \
1107
                    $(AM_LDFLAGS) \
1108
		    $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS)
1109
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
1110
libvirt_la_LIBADD += $(LIBXML_LIBS) \
1111
		    $(DRIVER_MODULE_LIBS) \
1112
		    $(CYGWIN_EXTRA_LIBADD)
1113
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
1114 1115 1116 1117 1118 1119
# 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)
1120

1121 1122 1123
# Create an automake "convenience library" version of libvirt_la,
# just for testing, since the test harness requires access to internal
# bits and pieces that we don't want to make publicly accessible.
1124
noinst_LTLIBRARIES += libvirt_test.la
1125

1126
# Remove version script from convenience library
1127 1128
test_LDFLAGS =						\
  $$(echo '$(libvirt_la_LDFLAGS)'			\
1129
     |sed 's!$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE)!!'	\
1130
     |sed 's!-version-info $(LIBVIRT_VERSION_INFO)!!')
1131 1132 1133 1134

# Just like the above, but with a slightly different set of public symbols.
libvirt_test_la_SOURCES = $(libvirt_la_SOURCES)
libvirt_test_la_LIBADD = $(libvirt_la_LIBADD)
1135 1136
libvirt_test_la_LDFLAGS = $(test_LDFLAGS) $(AM_LDFLAGS)
libvirt_test_la_CFLAGS = $(AM_CFLAGS)
1137

C
Chris Lalancette 已提交
1138 1139 1140
libvirt_qemu_la_SOURCES = libvirt-qemu.c
libvirt_qemu_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
                          -version-info $(LIBVIRT_VERSION_INFO) \
1141 1142 1143
                          $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS) \
			  $(AM_LDFLAGS)
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
1144
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
E
Eric Blake 已提交
1145
EXTRA_DIST += $(LIBVIRT_QEMU_SYMBOL_FILE)
1146

1147 1148
libexec_PROGRAMS =

1149
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
1150
if WITH_LIBVIRTD
1151
libexec_PROGRAMS += libvirt_parthelper
1152

1153
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
1154
libvirt_parthelper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
1155 1156 1157 1158 1159 1160
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		$(DEVMAPPER_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la

1161
libvirt_parthelper_CFLAGS = $(LIBPARTED_CFLAGS) $(AM_CFLAGS)
R
Richard W.M. Jones 已提交
1162
endif
1163
endif
1164 1165
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

1166

1167 1168 1169 1170 1171 1172
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
1173
		$(UTIL_SOURCES)					\
1174 1175
		$(NODE_INFO_SOURCES)				\
		$(ENCRYPTION_CONF_SOURCES)			\
1176
		$(DOMAIN_CONF_SOURCES)				\
1177 1178
		$(CPU_CONF_SOURCES)				\
		$(NWFILTER_PARAM_CONF_SOURCES)
1179
libvirt_lxc_LDFLAGS = $(WARN_CFLAGS) $(AM_LDFLAGS)
1180 1181
libvirt_lxc_LDADD = $(CAPNG_LIBS) $(YAJL_LIBS) \
		$(LIBXML_LIBS) $(NUMACTL_LIBS) $(LIB_PTHREAD) \
1182
		$(LIBNL_LIBS) $(AUDIT_LIBS) ../gnulib/lib/libgnu.la
1183 1184 1185 1186
libvirt_lxc_CFLAGS =				\
		$(LIBPARTED_CFLAGS)		\
		$(NUMACTL_CFLAGS)		\
		$(CAPNG_CFLAGS)			\
1187
		$(YAJL_CFLAGS)			\
1188
		$(AUDIT_CFLAGS)			\
1189 1190
		-I@top_srcdir@/src/conf		\
		$(AM_CFLAGS)
1191 1192 1193 1194
endif
endif
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
1195 1196 1197 1198 1199 1200
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1201
virt_aa_helper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
J
Jamie Strandboge 已提交
1202
virt_aa_helper_LDADD =						\
1203
		$(LIBXML_LIBS)					\
C
Chris Lalancette 已提交
1204 1205 1206
		libvirt_conf.la					\
		libvirt_util.la					\
		../gnulib/lib/libgnu.la
J
Jamie Strandboge 已提交
1207 1208
virt_aa_helper_CFLAGS =						\
		-I@top_srcdir@/src/conf				\
1209 1210
		-I@top_srcdir@/src/security			\
		$(AM_CFLAGS)
J
Jamie Strandboge 已提交
1211 1212 1213 1214
endif
endif
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1215
install-data-local:
1216 1217 1218 1219 1220 1221
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
if WITH_QEMU
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/qemu"
1222
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
1223
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234
endif
if WITH_LXC
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
endif
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"
1235
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
1236
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
1237 1238 1239 1240
	$(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 已提交
1241 1242 1243 1244 1245 1246
	  { 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; }
1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260
	test -e $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml || \
           ln -s ../default.xml \
	    $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml
endif

uninstall-local::
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
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" ||:
1261
endif
1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
endif
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 已提交
1279

1280
CLEANFILES = *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
1281
DISTCLEANFILES = $(BUILT_SOURCES)