Makefile.am 40.7 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
moddir = $(libdir)/libvirt/connection-driver
33 34
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 285
		qemu/qemu_process.c qemu/qemu_process.h		\
		qemu/qemu_migration.c qemu/qemu_migration.h	\
286
		qemu/qemu_monitor.c qemu/qemu_monitor.h		\
287 288
		qemu/qemu_monitor_text.c			\
		qemu/qemu_monitor_text.h			\
D
Daniel P. Berrange 已提交
289 290 291
		qemu/qemu_monitor_json.c			\
		qemu/qemu_monitor_json.h			\
		qemu/qemu_driver.c qemu/qemu_driver.h		\
E
Eric Blake 已提交
292
		qemu/qemu_bridge_filter.c			\
293
		qemu/qemu_bridge_filter.h
R
Richard W.M. Jones 已提交
294

295 296
XENAPI_DRIVER_SOURCES =								\
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
297
		xenapi/xenapi_driver_private.h					\
298 299
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

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

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

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

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

342
NETWORK_DRIVER_SOURCES =					\
343
		network/bridge_driver.h network/bridge_driver.c
344

345
INTERFACE_DRIVER_SOURCES =					\
346
		interface/netcf_driver.h interface/netcf_driver.c
347

348
SECRET_DRIVER_SOURCES =						\
349
		secret/secret_driver.h secret/secret_driver.c
350

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

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

359
STORAGE_DRIVER_LVM_SOURCES =					\
360 361
		storage/storage_backend_logical.h			\
		storage/storage_backend_logical.c
362 363

STORAGE_DRIVER_ISCSI_SOURCES =					\
364
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
365

366
STORAGE_DRIVER_SCSI_SOURCES =					\
367
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
368

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

372
STORAGE_DRIVER_DISK_SOURCES =					\
373
		storage/storage_backend_disk.h storage/storage_backend_disk.c
374 375

STORAGE_HELPER_DISK_SOURCES =					\
376
		storage/parthelper.c
377

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

388

389
# Security framework and drivers for various models
390
SECURITY_DRIVER_SOURCES =					\
391 392 393 394 395
		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
396

397
SECURITY_DRIVER_SELINUX_SOURCES =				\
398
		security/security_selinux.h security/security_selinux.c
399

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

403

404
NODE_DEVICE_DRIVER_SOURCES =					\
405 406 407
		node_device/node_device_driver.c \
		node_device/node_device_driver.h \
		node_device/node_device_linux_sysfs.c
408 409

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
410
		node_device/node_device_hal.c			\
411
		node_device/node_device_hal.h
412

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

J
Jiri Denemark 已提交
417 418 419 420 421
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
422

423 424 425
VMX_SOURCES =							\
		vmx/vmx.c vmx/vmx.h

J
Jiri Denemark 已提交
426 427
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
428
EXTRA_DIST +=	$(pkgdata_DATA)
429

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

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

446 447

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

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

459 460 461 462 463 464 465 466
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

467

468
noinst_LTLIBRARIES += libvirt_driver.la
469
libvirt_la_BUILT_LIBADD += libvirt_driver.la
470
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
471

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

476
USED_SYM_FILES = libvirt_private.syms
477

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

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

if HAVE_RPCGEN
#
# Maintainer-only target for re-generating the derived .c/.h source
# files, which are actually derived from the .x file.
#
517
# For committing protocol changes to GIT, the GLIBC rpcgen *must*
518 519 520 521 522
# 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 已提交
523
rpcgen-normal:
524 525 526 527
	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 已提交
528 529
	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
530 531 532 533 534 535 536 537 538 539
	(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 已提交
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 569 570

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

571 572 573
endif

remote/remote_protocol.c: remote/remote_protocol.h
574 575 576
endif

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

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

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

629 630 631 632 633 634 635 636
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 = \
637
		-I@top_srcdir@/src/conf -I@top_srcdir@/src/vmx
638
if WITH_DRIVER_MODULES
639
libvirt_driver_vmware_la_LIBADD = ../gnulib/lib/libgnu.la
640 641 642 643 644
libvirt_driver_vmware_la_LDFLAGS = -module -avoid-version
endif
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
endif

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

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

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

A
Amy Griffis 已提交
698
conf_DATA += qemu/qemu.conf
699

700 701
augeas_DATA += qemu/libvirtd_qemu.aug
augeastest_DATA += qemu/test_libvirtd_qemu.aug
702

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

707 708

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

conf_DATA += lxc/lxc.conf

726 727 728
augeas_DATA += lxc/libvirtd_lxc.aug
augeastest_DATA += lxc/test_libvirtd_lxc.aug

729
endif
730
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug
731

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

D
Daniel Veillard 已提交
751 752 753 754 755 756
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
757
#libvirt_la_BUILT_LIBADD  += libvirt_driver_one.la
D
Daniel Veillard 已提交
758
endif
759
libvirt_driver_one_la_CFLAGS = $(XMLRPC_CFLAGS) \
760 761
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_one_la_LDFLAGS = $(AM_LDFLAGS)
762
libvirt_driver_one_la_LIBADD = $(XMLRPC_LIBS)
D
Daniel Veillard 已提交
763 764
#libvirt_driver_one_la_CFLAGS  = "-DWITH_ONE"
if WITH_DRIVER_MODULES
765
libvirt_driver_one_la_LIBADD += ../gnulib/lib/libgnu.la
D
Daniel Veillard 已提交
766 767 768 769 770 771
libvirt_driver_one_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_one_la_SOURCES = $(ONE_DRIVER_SOURCES)
endif


772
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
773

774 775
$(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 已提交
776

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

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



816

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

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

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

874
if WITH_STORAGE_LVM
875
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
876 877
endif

878
if WITH_STORAGE_ISCSI
879
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
880 881
endif

882 883 884 885
if WITH_STORAGE_SCSI
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
endif

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

892
if WITH_STORAGE_DISK
893
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
894
endif
895

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

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

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


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


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

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

1000 1001 1002 1003
check-local: augeas-check

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

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

1036
if WITH_DRIVER_MODULES
1037
USED_SYM_FILES += libvirt_driver_modules.syms
1038
endif
1039 1040

if WITH_BRIDGE
1041
USED_SYM_FILES += libvirt_bridge.syms
1042
endif
1043 1044

if WITH_LINUX
1045
USED_SYM_FILES += libvirt_linux.syms
1046
endif
1047

1048
if WITH_MACVTAP
1049
USED_SYM_FILES += libvirt_macvtap.syms
1050
endif
1051

1052 1053 1054 1055
if WITH_LIBVIRTD
USED_SYM_FILES += libvirt_daemon.syms
endif

1056 1057 1058 1059
if WITH_NWFILTER
USED_SYM_FILES += libvirt_nwfilter.syms
endif

1060 1061 1062 1063
if WITH_VMX
USED_SYM_FILES += libvirt_vmx.syms
endif

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

1075
BUILT_SOURCES += libvirt.syms libvirt.def libvirt_qemu.def
1076

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

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

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

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

1124 1125 1126
# 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.
1127
noinst_LTLIBRARIES += libvirt_test.la
1128

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

# 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)
1138 1139
libvirt_test_la_LDFLAGS = $(test_LDFLAGS) $(AM_LDFLAGS)
libvirt_test_la_CFLAGS = $(AM_CFLAGS)
1140

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

1150 1151
libexec_PROGRAMS =

1152
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
1153
if WITH_LIBVIRTD
1154
libexec_PROGRAMS += libvirt_parthelper
1155

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

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

1168

1169 1170 1171 1172 1173 1174
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

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

J
Jamie Strandboge 已提交
1198 1199 1200 1201 1202 1203
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

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

1218
install-data-local:
1219 1220 1221 1222 1223 1224
	$(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"
1225
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
1226
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237
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"
1238
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
1239
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
1240 1241 1242 1243
	$(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 已提交
1244 1245 1246 1247 1248 1249
	  { 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; }
1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263
	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" ||:
1264
endif
1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281
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 已提交
1282

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