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

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 267
        vbox/vbox_V3_1.c vbox/vbox_CAPI_v3_1.h			\
        vbox/vbox_V3_2.c vbox/vbox_CAPI_v3_2.h
268

269 270 271 272
VBOX_DRIVER_EXTRA_DIST = 					\
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
273

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

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

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

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

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

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

344
NETWORK_DRIVER_SOURCES =					\
345
		network/bridge_driver.h network/bridge_driver.c
346

347
INTERFACE_DRIVER_SOURCES =					\
348
		interface/netcf_driver.h interface/netcf_driver.c
349

350
SECRET_DRIVER_SOURCES =						\
351
		secret/secret_driver.h secret/secret_driver.c
352

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

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

361
STORAGE_DRIVER_LVM_SOURCES =					\
362 363
		storage/storage_backend_logical.h			\
		storage/storage_backend_logical.c
364 365

STORAGE_DRIVER_ISCSI_SOURCES =					\
366
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
367

368
STORAGE_DRIVER_SCSI_SOURCES =					\
369
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
370

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

374
STORAGE_DRIVER_DISK_SOURCES =					\
375
		storage/storage_backend_disk.h storage/storage_backend_disk.c
376 377

STORAGE_HELPER_DISK_SOURCES =					\
378
		storage/parthelper.c
379

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

390

391
# Security framework and drivers for various models
392
SECURITY_DRIVER_SOURCES =					\
393
		security/security_driver.h security/security_driver.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

J
Jiri Denemark 已提交
421 422
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
423
EXTRA_DIST +=	$(pkgdata_DATA)
424

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

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

441 442

noinst_LTLIBRARIES += libvirt_conf.la
443
libvirt_la_BUILT_LIBADD += libvirt_conf.la
444
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
445 446
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
447

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

454

455
noinst_LTLIBRARIES += libvirt_driver.la
456
libvirt_la_BUILT_LIBADD += libvirt_driver.la
457
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
458

M
Matthias Bolte 已提交
459
libvirt_driver_la_CFLAGS = $(NUMACTL_CFLAGS) $(GNUTLS_CFLAGS) \
460
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
461
libvirt_driver_la_LIBADD = $(NUMACTL_LIBS) $(GNUTLS_LIBS)
462

463
USED_SYM_FILES = libvirt_private.syms
464

465
if WITH_TEST
466 467 468
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_test.la
else
469
noinst_LTLIBRARIES += libvirt_driver_test.la
470
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
471
endif
472
libvirt_driver_test_la_CFLAGS = \
473
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
474
if WITH_DRIVER_MODULES
475
libvirt_driver_test_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
476
endif
477
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
478 479 480
endif

if WITH_REMOTE
481 482 483
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_remote.la
else
484
noinst_LTLIBRARIES += libvirt_driver_remote.la
485
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
486
endif
487 488
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
E
Eric Blake 已提交
489
		$(SASL_CFLAGS) $(XDR_CFLAGS)			\
490 491 492
		-I@top_srcdir@/src/conf				\
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
493
libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) $(SASL_LIBS)
494 495 496
if WITH_DRIVER_MODULES
libvirt_driver_remote_la_LDFLAGS += -module -avoid-version
endif
497
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
498 499 500 501 502 503

if HAVE_RPCGEN
#
# Maintainer-only target for re-generating the derived .c/.h source
# files, which are actually derived from the .x file.
#
504
# For committing protocol changes to GIT, the GLIBC rpcgen *must*
505 506 507 508 509
# 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 已提交
510
rpcgen-normal:
511 512 513 514
	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 已提交
515 516
	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
517 518 519 520 521 522 523 524 525 526
	(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 已提交
527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557

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

558 559 560
endif

remote/remote_protocol.c: remote/remote_protocol.h
561 562 563
endif

if WITH_XEN
564 565 566
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
else
567
noinst_LTLIBRARIES += libvirt_driver_xen.la
568
libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
569
endif
E
Eric Blake 已提交
570
libvirt_driver_xen_la_CFLAGS =					\
571
		$(XEN_CFLAGS)					\
572 573 574
		-I@top_srcdir@/src/conf				\
		$(AM_CFLAGS)
libvirt_driver_xen_la_LDFLAGS = $(AM_LDFLAGS)
575
libvirt_driver_xen_la_LIBADD = $(XEN_LIBS)
576
if WITH_DRIVER_MODULES
577
libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
578 579
libvirt_driver_xen_la_LDFLAGS += -module -avoid-version
endif
580
libvirt_driver_xen_la_SOURCES = $(XEN_DRIVER_SOURCES)
581 582
endif

583 584 585 586 587
if WITH_PHYP
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_phyp.la
else
noinst_LTLIBRARIES += libvirt_driver_phyp.la
588
libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
589
endif
590
libvirt_driver_phyp_la_LIBADD = $(LIBSSH2_LIBS)
591 592 593 594
if WITH_DRIVER_MODULES
libvirt_driver_phyp_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_phyp_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
endif
595
libvirt_driver_phyp_la_CFLAGS = $(LIBSSH2_CFLAGS) \
596
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
597 598 599
libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
endif

600
if WITH_OPENVZ
601 602 603
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_openvz.la
else
604
noinst_LTLIBRARIES += libvirt_driver_openvz.la
605
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
606
endif
607
libvirt_driver_openvz_la_CFLAGS = \
608
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
609
if WITH_DRIVER_MODULES
610
libvirt_driver_openvz_la_LIBADD = ../gnulib/lib/libgnu.la
611
libvirt_driver_openvz_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
612
endif
613
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
614 615
endif

616 617 618 619 620 621 622 623 624 625 626 627 628 629 630
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 = \
		-I@top_srcdir@/src/conf
if WITH_DRIVER_MODULES
libvirt_driver_vmware_la_LDFLAGS = -module -avoid-version
endif
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
endif

631 632 633 634 635
if WITH_VBOX
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_vbox.la
else
noinst_LTLIBRARIES += libvirt_driver_vbox.la
636
libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
637
endif
638
libvirt_driver_vbox_la_CFLAGS = \
639
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
640
libvirt_driver_vbox_la_LIBADD = $(DLOPEN_LIBS) $(MSCOM_LIBS)
641
if WITH_DRIVER_MODULES
642
libvirt_driver_vbox_la_LIBADD += ../gnulib/lib/libgnu.la
643
libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
644 645 646 647
endif
libvirt_driver_vbox_la_SOURCES = $(VBOX_DRIVER_SOURCES)
endif

648 649 650 651 652
if WITH_XENAPI
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xenapi.la
else
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
653
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
654 655
endif
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(LIBCURL_CFLAGS) \
656 657
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
658
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(LIBCURL_LIBS)
659
if WITH_DRIVER_MODULES
660
libvirt_driver_xenapi_la_LIBADD += ../gnulib/lib/libgnu.la
661 662 663 664 665
libvirt_driver_xenapi_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
endif

666
if WITH_QEMU
667 668 669
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
else
670
noinst_LTLIBRARIES += libvirt_driver_qemu.la
671
# Stateful, so linked to daemon instead
672
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
673
endif
674
libvirt_driver_qemu_la_CFLAGS = $(NUMACTL_CFLAGS) \
675 676
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_qemu_la_LDFLAGS = $(AM_LDFLAGS)
677
libvirt_driver_qemu_la_LIBADD = $(NUMACTL_LIBS)
678
if WITH_DRIVER_MODULES
679
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
680 681
libvirt_driver_qemu_la_LDFLAGS += -module -avoid-version
endif
682
libvirt_driver_qemu_la_SOURCES = $(QEMU_DRIVER_SOURCES)
683

A
Amy Griffis 已提交
684
conf_DATA += qemu/qemu.conf
685

686 687
augeas_DATA += qemu/libvirtd_qemu.aug
augeastest_DATA += qemu/test_libvirtd_qemu.aug
688

689
endif
690 691
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
		qemu/test_libvirtd_qemu.aug qemu/THREADS.txt
692

693 694

if WITH_LXC
695 696 697
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
else
698
noinst_LTLIBRARIES += libvirt_driver_lxc.la
699
# Stateful, so linked to daemon instead
700
#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
701
endif
702
libvirt_driver_lxc_la_CFLAGS = \
703
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
704
if WITH_DRIVER_MODULES
705
libvirt_driver_lxc_la_LIBADD = ../gnulib/lib/libgnu.la
706
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
707
endif
708
libvirt_driver_lxc_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
709 710 711

conf_DATA += lxc/lxc.conf

712 713 714
augeas_DATA += lxc/libvirtd_lxc.aug
augeastest_DATA += lxc/test_libvirtd_lxc.aug

715
endif
716
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug
717

718
if WITH_UML
719 720 721
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
else
722 723
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
724
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
725
endif
726
libvirt_driver_uml_la_CFLAGS = $(NUMACTL_CFLAGS) \
727 728
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_uml_la_LDFLAGS = $(AM_LDFLAGS)
729
libvirt_driver_uml_la_LIBADD = $(NUMACTL_LIBS)
730
if WITH_DRIVER_MODULES
731
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
732 733
libvirt_driver_uml_la_LDFLAGS += -module -avoid-version
endif
734 735
libvirt_driver_uml_la_SOURCES = $(UML_DRIVER_SOURCES)
endif
736

D
Daniel Veillard 已提交
737 738 739 740 741 742
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
743
#libvirt_la_BUILT_LIBADD  += libvirt_driver_one.la
D
Daniel Veillard 已提交
744
endif
745
libvirt_driver_one_la_CFLAGS = $(XMLRPC_CFLAGS) \
746 747
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_one_la_LDFLAGS = $(AM_LDFLAGS)
748
libvirt_driver_one_la_LIBADD = $(XMLRPC_LIBS)
D
Daniel Veillard 已提交
749 750
#libvirt_driver_one_la_CFLAGS  = "-DWITH_ONE"
if WITH_DRIVER_MODULES
751
libvirt_driver_one_la_LIBADD += ../gnulib/lib/libgnu.la
D
Daniel Veillard 已提交
752 753 754 755 756 757
libvirt_driver_one_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_one_la_SOURCES = $(ONE_DRIVER_SOURCES)
endif


758
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
759

760 761
$(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 已提交
762

763 764 765 766 767
if WITH_ESX
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_esx.la
else
noinst_LTLIBRARIES += libvirt_driver_esx.la
768
libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
769
endif
770
libvirt_driver_esx_la_CFLAGS = $(LIBCURL_CFLAGS) \
771 772
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
773
libvirt_driver_esx_la_LIBADD = $(LIBCURL_LIBS)
774
if WITH_DRIVER_MODULES
775
libvirt_driver_esx_la_LIBADD += ../gnulib/lib/libgnu.la
776 777 778
libvirt_driver_esx_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
779
libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
780 781
endif

782
if WITH_NETWORK
783 784 785
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
else
786
noinst_LTLIBRARIES += libvirt_driver_network.la
787
# Stateful, so linked to daemon instead
788
#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
789
endif
790
libvirt_driver_network_la_CFLAGS = \
791
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
792
if WITH_DRIVER_MODULES
793
libvirt_driver_network_la_LIBADD = ../gnulib/lib/libgnu.la
794
libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
795
endif
796
libvirt_driver_network_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
797
endif
798 799 800 801
EXTRA_DIST += network/default.xml



802

D
Daniel Veillard 已提交
803
if WITH_NETCF
804 805 806 807
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_interface.la
else
noinst_LTLIBRARIES += libvirt_driver_interface.la
808
libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la
809
endif
810
libvirt_driver_interface_la_CFLAGS = $(NETCF_CFLAGS) \
811 812
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS)
813
libvirt_driver_interface_la_LIBADD = $(NETCF_LIBS)
814
if WITH_DRIVER_MODULES
815
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
816 817 818
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
D
Daniel Veillard 已提交
819 820
endif

D
Daniel P. Berrange 已提交
821
if WITH_SECRETS
822 823 824 825
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_secret.la
else
noinst_LTLIBRARIES += libvirt_driver_secret.la
826
# Stateful, so linked to daemon instead
827
#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
828
endif
829
libvirt_driver_secret_la_CFLAGS = \
830
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
831
if WITH_DRIVER_MODULES
832
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
833
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
834 835
endif
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
D
Daniel P. Berrange 已提交
836
endif
837

838 839
# Needed to keep automake quiet about conditionals
libvirt_driver_storage_la_SOURCES =
840
libvirt_driver_storage_la_CFLAGS = \
841 842
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_storage_la_LDFLAGS = $(AM_LDFLAGS)
843
libvirt_driver_storage_la_LIBADD =
844
if WITH_STORAGE_DIR
845 846 847
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
else
848
noinst_LTLIBRARIES += libvirt_driver_storage.la
849
# Stateful, so linked to daemon instead
850
#libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la
851 852
endif
if WITH_DRIVER_MODULES
853
libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
854
libvirt_driver_storage_la_LDFLAGS += -module -avoid-version
855
endif
856 857
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
858 859
endif

860
if WITH_STORAGE_LVM
861
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
862 863
endif

864
if WITH_STORAGE_ISCSI
865
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
866 867
endif

868 869 870 871
if WITH_STORAGE_SCSI
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
endif

D
Dave Allan 已提交
872 873 874
if WITH_STORAGE_MPATH
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_MPATH_SOURCES)
libvirt_driver_storage_la_CFLAGS += $(DEVMAPPER_CFLAGS)
875
libvirt_driver_storage_la_LIBADD += $(DEVMAPPER_LIBS)
D
Dave Allan 已提交
876 877
endif

878
if WITH_STORAGE_DISK
879
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
880
endif
881

882 883 884 885 886 887 888
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
889
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
890 891 892
endif
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

893
libvirt_driver_nodedev_la_CFLAGS = \
894 895
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
896
libvirt_driver_nodedev_la_LIBADD =
897 898 899
if HAVE_HAL
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
900
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
901
endif
902 903
if HAVE_UDEV
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
904
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
905
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
906
endif
907 908

if WITH_DRIVER_MODULES
909
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
910 911 912 913 914
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
endif
endif


915 916 917 918
if WITH_NWFILTER
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nwfilter.la
else
919
libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
920 921
noinst_LTLIBRARIES += libvirt_driver_nwfilter.la
endif
922
libvirt_driver_nwfilter_la_CFLAGS = $(LIBPCAP_CFLAGS) \
923 924
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_nwfilter_la_LDFLAGS = $(LD_AMFLAGS)
925
libvirt_driver_nwfilter_la_LIBADD = $(LIBPCAP_LIBS)
926
if WITH_DRIVER_MODULES
927
libvirt_driver_nwfilter_la_LIBADD += ../gnulib/lib/libgnu.la
928
libvirt_driver_nwfilter_la_LDFLAGS += -module -avoid-version
929 930 931 932 933
endif
libvirt_driver_nwfilter_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
endif


934 935
libvirt_driver_security_la_SOURCES = $(SECURITY_DRIVER_SOURCES)
noinst_LTLIBRARIES += libvirt_driver_security.la
936
libvirt_la_BUILT_LIBADD += libvirt_driver_security.la
937
libvirt_driver_security_la_CFLAGS = \
938 939
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_security_la_LDFLAGS = $(AM_LDFLAGS)
940
libvirt_driver_security_la_LIBADD =
941 942
if WITH_SECDRIVER_SELINUX
libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
J
Jim Fehlig 已提交
943
libvirt_driver_security_la_CFLAGS += $(SELINUX_CFLAGS)
944
libvirt_driver_security_la_LIBADD += $(SELINUX_LIBS)
945
endif
J
Jamie Strandboge 已提交
946 947 948
if WITH_SECDRIVER_APPARMOR
libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
libvirt_driver_security_la_CFLAGS += $(APPARMOR_CFLAGS)
949
libvirt_driver_security_la_LIBADD += $(APPARMOR_LIBS)
J
Jamie Strandboge 已提交
950
endif
951

952 953 954 955 956 957 958
# Add all conditional sources just in case...
EXTRA_DIST +=							\
		$(TEST_DRIVER_SOURCES)				\
		$(REMOTE_DRIVER_SOURCES)			\
		$(XEN_DRIVER_SOURCES)				\
		$(QEMU_DRIVER_SOURCES)				\
		$(LXC_DRIVER_SOURCES)				\
959
		$(UML_DRIVER_SOURCES)				\
D
Daniel Veillard 已提交
960
		$(ONE_DRIVER_SOURCES)				\
961
		$(OPENVZ_DRIVER_SOURCES)			\
962
		$(PHYP_DRIVER_SOURCES)				\
963
		$(VBOX_DRIVER_SOURCES)				\
964
		$(XENAPI_DRIVER_SOURCES)			\
965
		$(ESX_DRIVER_SOURCES)				\
966
		$(ESX_DRIVER_EXTRA_DIST)			\
967
		$(NETWORK_DRIVER_SOURCES)			\
968
		$(INTERFACE_DRIVER_SOURCES)			\
969 970 971 972
		$(STORAGE_DRIVER_SOURCES)			\
		$(STORAGE_DRIVER_FS_SOURCES)			\
		$(STORAGE_DRIVER_LVM_SOURCES)			\
		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
973
		$(STORAGE_DRIVER_SCSI_SOURCES)			\
D
Dave Allan 已提交
974
		$(STORAGE_DRIVER_MPATH_SOURCES)			\
975 976 977
		$(STORAGE_DRIVER_DISK_SOURCES)			\
		$(NODE_DEVICE_DRIVER_SOURCES)			\
		$(NODE_DEVICE_DRIVER_HAL_SOURCES)		\
978
		$(NODE_DEVICE_DRIVER_UDEV_SOURCES)		\
979
		$(NWFILTER_DRIVER_SOURCES)			\
980
		$(SECURITY_DRIVER_SELINUX_SOURCES)		\
J
Jamie Strandboge 已提交
981
		$(SECURITY_DRIVER_APPARMOR_SOURCES)		\
D
Daniel P. Berrange 已提交
982
		$(SECRET_DRIVER_SOURCES)			\
983 984
		$(VBOX_DRIVER_EXTRA_DIST)			\
		$(VMWARE_DRIVER_SOURCES)
985

986 987 988 989
check-local: augeas-check

.PHONY: augeas-check
augeas-check:
990
if WITH_QEMU
991
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
992 993 994 995 996
	    '$(AUGPARSE)' -I $(srcdir)/qemu \
	    $(srcdir)/qemu/test_libvirtd_qemu.aug; \
	fi
endif
if WITH_LXC
997
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
998 999 1000 1001 1002
	    '$(AUGPARSE)' -I $(srcdir)/lxc \
	    $(srcdir)/lxc/test_libvirtd_lxc.aug; \
	fi
endif

1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021
#
# 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.
#

1022
if WITH_DRIVER_MODULES
1023
USED_SYM_FILES += libvirt_driver_modules.syms
1024
endif
1025 1026

if WITH_BRIDGE
1027
USED_SYM_FILES += libvirt_bridge.syms
1028
endif
1029 1030

if WITH_LINUX
1031
USED_SYM_FILES += libvirt_linux.syms
1032
endif
1033

1034
if WITH_MACVTAP
1035
USED_SYM_FILES += libvirt_macvtap.syms
1036
endif
1037

1038 1039 1040 1041
if WITH_LIBVIRTD
USED_SYM_FILES += libvirt_daemon.syms
endif

1042 1043 1044 1045
if WITH_NWFILTER
USED_SYM_FILES += libvirt_nwfilter.syms
endif

1046 1047 1048 1049 1050
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
  libvirt_driver_modules.syms	\
  libvirt_bridge.syms		\
1051
  libvirt_linux.syms		\
1052
  libvirt_macvtap.syms		\
1053 1054
  libvirt_daemon.syms		\
  libvirt_nwfilter.syms
1055

1056
BUILT_SOURCES += libvirt.syms libvirt.def libvirt_qemu.def
1057

1058
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES)
1059 1060 1061 1062 1063 1064
	$(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 && \
1065
	for file in $(USED_SYM_FILES); do \
1066
	    cat $(srcdir)/$$file >>$@-tmp; \
1067 1068 1069
	done && \
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
1070
	mv $@-tmp libvirt.syms
1071

1072 1073 1074
libvirt.def: libvirt.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1075
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1076 1077 1078
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt.def

1079 1080 1081
libvirt_qemu.def: $(srcdir)/libvirt_qemu.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1082
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1083 1084 1085
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt_qemu.def

1086 1087
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
1088
libvirt_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
1089
                     -version-info $(LIBVIRT_VERSION_INFO) \
1090
                    $(AM_LDFLAGS) \
1091
		    $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS)
1092
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
1093
libvirt_la_LIBADD += $(LIBXML_LIBS) \
1094
		    $(DRIVER_MODULE_LIBS) \
1095
		    $(CYGWIN_EXTRA_LIBADD)
1096
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
1097 1098 1099 1100 1101 1102
# 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)
1103

1104 1105 1106
# 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.
1107
noinst_LTLIBRARIES += libvirt_test.la
1108

1109
# Remove version script from convenience library
1110 1111
test_LDFLAGS =						\
  $$(echo '$(libvirt_la_LDFLAGS)'			\
1112
     |sed 's!$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE)!!'	\
1113
     |sed 's!-version-info $(LIBVIRT_VERSION_INFO)!!')
1114 1115 1116 1117

# 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)
1118 1119
libvirt_test_la_LDFLAGS = $(test_LDFLAGS) $(AM_LDFLAGS)
libvirt_test_la_CFLAGS = $(AM_CFLAGS)
1120

C
Chris Lalancette 已提交
1121 1122 1123
libvirt_qemu_la_SOURCES = libvirt-qemu.c
libvirt_qemu_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
                          -version-info $(LIBVIRT_VERSION_INFO) \
1124 1125 1126
                          $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS) \
			  $(AM_LDFLAGS)
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
1127
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
E
Eric Blake 已提交
1128
EXTRA_DIST += $(LIBVIRT_QEMU_SYMBOL_FILE)
1129

1130 1131
libexec_PROGRAMS =

1132
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
1133
if WITH_LIBVIRTD
1134
libexec_PROGRAMS += libvirt_parthelper
1135

1136
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
1137
libvirt_parthelper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
1138 1139 1140 1141 1142 1143
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		$(DEVMAPPER_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la

1144
libvirt_parthelper_CFLAGS = $(LIBPARTED_CFLAGS) $(AM_CFLAGS)
R
Richard W.M. Jones 已提交
1145
endif
1146
endif
1147 1148
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

1149

1150 1151 1152 1153 1154 1155
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
1156
		$(UTIL_SOURCES)					\
1157 1158
		$(NODE_INFO_SOURCES)				\
		$(ENCRYPTION_CONF_SOURCES)			\
1159
		$(DOMAIN_CONF_SOURCES)				\
1160 1161
		$(CPU_CONF_SOURCES)				\
		$(NWFILTER_PARAM_CONF_SOURCES)
1162
libvirt_lxc_LDFLAGS = $(WARN_CFLAGS) $(AM_LDFLAGS)
1163 1164
libvirt_lxc_LDADD = $(CAPNG_LIBS) $(YAJL_LIBS) \
		$(LIBXML_LIBS) $(NUMACTL_LIBS) $(LIB_PTHREAD) \
1165
		$(LIBNL_LIBS) $(AUDIT_LIBS) ../gnulib/lib/libgnu.la
1166 1167 1168 1169
libvirt_lxc_CFLAGS =				\
		$(LIBPARTED_CFLAGS)		\
		$(NUMACTL_CFLAGS)		\
		$(CAPNG_CFLAGS)			\
1170
		$(YAJL_CFLAGS)			\
1171
		$(AUDIT_CFLAGS)			\
1172 1173
		-I@top_srcdir@/src/conf		\
		$(AM_CFLAGS)
1174 1175 1176 1177
endif
endif
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
1178 1179 1180 1181 1182 1183
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1184
virt_aa_helper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
J
Jamie Strandboge 已提交
1185
virt_aa_helper_LDADD =						\
1186
		$(LIBXML_LIBS)					\
C
Chris Lalancette 已提交
1187 1188 1189
		libvirt_conf.la					\
		libvirt_util.la					\
		../gnulib/lib/libgnu.la
J
Jamie Strandboge 已提交
1190 1191
virt_aa_helper_CFLAGS =						\
		-I@top_srcdir@/src/conf				\
1192 1193
		-I@top_srcdir@/src/security			\
		$(AM_CFLAGS)
J
Jamie Strandboge 已提交
1194 1195 1196 1197
endif
endif
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1198
install-data-local:
1199 1200 1201 1202 1203 1204
	$(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"
1205
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
1206
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217
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"
1218
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
1219
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
1220 1221 1222 1223
	$(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 已提交
1224 1225 1226 1227 1228 1229
	  { 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; }
1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243
	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" ||:
1244
endif
1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261
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 已提交
1262

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