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

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

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

22
EXTRA_DIST = $(conf_DATA)
23

24 25
BUILT_SOURCES =

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

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

32
moddir = $(libdir)/libvirt/connection-driver
33 34
mod_LTLIBRARIES =

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

STORAGE_HELPER_DISK_SOURCES =					\
375
		storage/parthelper.c
376

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

387

388
# Security framework and drivers for various models
389
SECURITY_DRIVER_SOURCES =					\
390 391 392 393 394
		security/security_driver.h security/security_driver.c \
		security/security_nop.h security/security_nop.c \
		security/security_stack.h security/security_stack.c \
		security/security_dac.h security/security_dac.c \
		security/security_manager.h security/security_manager.c
395

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

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

402

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

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

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

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

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

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

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

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

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

445 446

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

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

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

466

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

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

475
USED_SYM_FILES = libvirt_private.syms
476

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

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

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

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

570 571 572
endif

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

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

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

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

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

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

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

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

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

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

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

706 707

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

conf_DATA += lxc/lxc.conf

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

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

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

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


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

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

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

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



815

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

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

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

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

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

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

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

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

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

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

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


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


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

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

999 1000 1001 1002
check-local: augeas-check

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1148 1149
libexec_PROGRAMS =

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

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

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

1166

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

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

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

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

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

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

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