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

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

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

22
EXTRA_DIST = $(conf_DATA)
23

24 25
BUILT_SOURCES =

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

128
# Secret driver generic impl APIs
129 130 131 132 133 134 135 136 137 138
SECRET_CONF_SOURCES =                                          \
		conf/secret_conf.h conf/secret_conf.c

# Network driver generic impl APIs
NODE_DEVICE_CONF_SOURCES =                                     \
		conf/node_device_conf.c conf/node_device_conf.h

ENCRYPTION_CONF_SOURCES =					\
		conf/storage_encryption_conf.c conf/storage_encryption_conf.h

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

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

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

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

166 167 168 169 170 171 172 173 174 175
# Ensure that we don't change the struct or member names or member ordering
# in remote_protocol.x  The embedded perl below needs a few comments, and
# presumes you know what pdwtags output looks like:
# * use -0777 -n to slurp the entire file into $_.
# * the "split" splits on the /* DD */ comments, so that $p iterates
#     through the struct definitions.
# * process only "struct remote_..." entries
# * remove comments and preceding TAB throughout
# * remove empty lines throughout
# * remove white space at end of buffer
176 177 178 179 180 181 182 183 184 185

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

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

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

# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
224 225 226 227 228 229 230
		xen/sexpr.c xen/sexpr.h				\
		xen/block_stats.c xen/block_stats.h		\
		xen/xen_hypervisor.c xen/xen_hypervisor.h	\
		xen/xen_driver.c xen/xen_driver.h		\
		xen/xend_internal.c xen/xend_internal.h		\
		xen/xm_internal.c xen/xm_internal.h		\
		xen/xs_internal.c xen/xs_internal.h
231
if WITH_XEN_INOTIFY
232
XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
233
endif
234 235

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

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

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

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

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

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

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

E
Eric Blake 已提交
269
VBOX_DRIVER_EXTRA_DIST =					\
270 271 272
		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
		esx/esx_vi_methods.c esx/esx_vi_methods.h	\
325
		esx/esx_vi_types.c esx/esx_vi_types.h
326

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

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

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

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

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

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

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

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

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

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

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

STORAGE_HELPER_DISK_SOURCES =					\
377
		storage/parthelper.c
378

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

389

390
# Security framework and drivers for various models
391
SECURITY_DRIVER_SOURCES =					\
392
		security/security_driver.h security/security_driver.c
393

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

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

400

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

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

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

J
Jiri Denemark 已提交
414 415 416 417 418
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
419

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

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

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

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

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

443 444

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

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

456 457 458 459 460 461 462 463
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

464

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

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

473
USED_SYM_FILES = libvirt_private.syms
474

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

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

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

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

568 569 570
endif

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

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

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

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

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

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

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

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

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

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

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

704 705

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

conf_DATA += lxc/lxc.conf

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

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

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

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


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

771 772
$(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 已提交
773

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

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



813

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

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

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

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

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

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

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

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

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

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

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


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


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

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

997 998 999 1000
check-local: augeas-check

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

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

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

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

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

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

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

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

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

1061 1062 1063 1064 1065
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
  libvirt_driver_modules.syms	\
  libvirt_bridge.syms		\
1066
  libvirt_linux.syms		\
1067
  libvirt_macvtap.syms		\
1068 1069
  libvirt_daemon.syms		\
  libvirt_nwfilter.syms
1070

1071
BUILT_SOURCES += libvirt.syms libvirt.def libvirt_qemu.def
1072

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

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

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

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

1119 1120 1121
# 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.
1122
noinst_LTLIBRARIES += libvirt_test.la
1123

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

# 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)
1133 1134
libvirt_test_la_LDFLAGS = $(test_LDFLAGS) $(AM_LDFLAGS)
libvirt_test_la_CFLAGS = $(AM_CFLAGS)
1135

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

1145 1146
libexec_PROGRAMS =

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

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

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

1164

1165 1166 1167 1168 1169 1170
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

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

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

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

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

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

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