Makefile.am 41.8 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/event_poll.c util/event_poll.h		\
56
		util/files.c util/files.h			\
57
		util/hash.c util/hash.h				\
D
Daniel Veillard 已提交
58
		util/hooks.c util/hooks.h			\
59
		util/iptables.c util/iptables.h			\
G
Gerhard Stenzel 已提交
60
		util/ebtables.c util/ebtables.h			\
61
		util/dnsmasq.c util/dnsmasq.h                   \
62
		util/json.c util/json.h				\
63
		util/logging.c util/logging.h			\
64
		util/macvtap.c util/macvtap.h			\
65 66
		util/memory.c util/memory.h			\
		util/pci.c util/pci.h				\
67
		util/processinfo.c util/processinfo.h		\
68
		util/hostusb.c util/hostusb.h			\
69
		util/network.c util/network.h			\
70
		util/interface.c util/interface.h		\
71
		util/qparams.c util/qparams.h			\
M
Markus Groß 已提交
72
		util/sexpr.c util/sexpr.h			\
73
		util/stats_linux.c util/stats_linux.h		\
74
		util/storage_file.c util/storage_file.h		\
75
		util/sysinfo.c util/sysinfo.h			\
76 77 78
		util/threads.c util/threads.h			\
		util/threads-pthread.h				\
		util/threads-win32.h				\
H
Hu Tao 已提交
79
		util/threadpool.c util/threadpool.h		\
80 81 82
		util/uuid.c util/uuid.h				\
		util/util.c util/util.h				\
		util/xml.c util/xml.h				\
83
		util/virtaudit.c util/virtaudit.h               \
84
		util/virterror.c util/virterror_internal.h
85 86

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

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


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

DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
108 109

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

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

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

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

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

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

141 142 143
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h

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

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

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

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

# 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+ \*/

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

224 225
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES =						\
226
		test/test_driver.c test/test_driver.h
227 228 229

# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
230 231 232 233 234 235
		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
236
if WITH_XEN_INOTIFY
237
XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
238
endif
239 240

LXC_DRIVER_SOURCES =						\
241 242 243
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
		lxc/lxc_driver.c lxc/lxc_driver.h		\
244
		lxc/veth.c lxc/veth.h
245

246
LXC_CONTROLLER_SOURCES =					\
247 248 249
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
		lxc/lxc_controller.c				\
250
		lxc/veth.c lxc/veth.h
251

J
Jamie Strandboge 已提交
252 253 254
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES =			\
		security/virt-aa-helper.c

255 256 257
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

258
OPENVZ_DRIVER_SOURCES =						\
259 260
		openvz/openvz_conf.c openvz/openvz_conf.h	\
		openvz/openvz_driver.c openvz/openvz_driver.h
261

E
Eric Blake 已提交
262
VMWARE_DRIVER_SOURCES =						\
263
		vmware/vmware_driver.c vmware/vmware_driver.h	\
264 265
		vmware/vmware_conf.c vmware/vmware_conf.h

266
VBOX_DRIVER_SOURCES =						\
267
        vbox/vbox_glue.c vbox/vbox_glue.h			\
268
        vbox/vbox_driver.c vbox/vbox_driver.h			\
269
        vbox/vbox_V2_2.c vbox/vbox_CAPI_v2_2.h			\
270
        vbox/vbox_V3_0.c vbox/vbox_CAPI_v3_0.h			\
271
        vbox/vbox_V3_1.c vbox/vbox_CAPI_v3_1.h			\
272 273
        vbox/vbox_V3_2.c vbox/vbox_CAPI_v3_2.h			\
        vbox/vbox_V4_0.c vbox/vbox_CAPI_v4_0.h
274

E
Eric Blake 已提交
275
VBOX_DRIVER_EXTRA_DIST =					\
276 277 278
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
279

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

300 301
XENAPI_DRIVER_SOURCES =								\
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
302
		xenapi/xenapi_driver_private.h					\
303 304
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

J
Jim Fehlig 已提交
305 306 307 308
LIBXL_DRIVER_SOURCES =						\
		libxl/libxl_conf.c libxl/libxl_conf.h		\
		libxl/libxl_driver.c libxl/libxl_driver.h

309
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
310 311
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
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 393 394 395 396
		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
397

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

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

404

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

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

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

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

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

427 428
XENXS_SOURCES =							\
		xenxs/xenxs_private.h				\
429 430
		xenxs/xen_sxpr.c xenxs/xen_sxpr.h		\
		xenxs/xen_xm.c xenxs/xen_xm.h
431

J
Jiri Denemark 已提交
432 433
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
434
EXTRA_DIST +=	$(pkgdata_DATA)
435

436 437 438 439 440 441
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

442
noinst_LTLIBRARIES = libvirt_util.la
443 444
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
libvirt_la_BUILT_LIBADD = libvirt_util.la
445 446
libvirt_util_la_SOURCES =					\
		$(UTIL_SOURCES)
447
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
448
		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS)
449
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
450
		$(LIB_PTHREAD) $(AUDIT_LIBS) $(DEVMAPPER_LIBS)
451

452 453

noinst_LTLIBRARIES += libvirt_conf.la
454
libvirt_la_BUILT_LIBADD += libvirt_conf.la
455
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
456 457
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
458

J
Jiri Denemark 已提交
459
noinst_LTLIBRARIES += libvirt_cpu.la
460
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
461
libvirt_cpu_la_CFLAGS = \
462
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
463 464
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

465 466 467 468 469 470 471 472
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

473 474 475 476 477 478 479 480
if WITH_XEN
noinst_LTLIBRARIES += libvirt_xenxs.la
libvirt_la_BUILT_LIBADD += libvirt_xenxs.la
libvirt_xenxs_la_CFLAGS = \
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_xenxs_la_SOURCES = $(XENXS_SOURCES)
endif

481

482
noinst_LTLIBRARIES += libvirt_driver.la
483
libvirt_la_BUILT_LIBADD += libvirt_driver.la
484
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
485

M
Matthias Bolte 已提交
486
libvirt_driver_la_CFLAGS = $(NUMACTL_CFLAGS) $(GNUTLS_CFLAGS) \
487
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
488
libvirt_driver_la_LIBADD = $(NUMACTL_LIBS) $(GNUTLS_LIBS)
489

490
USED_SYM_FILES = libvirt_private.syms
491

492
if WITH_TEST
493 494 495
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_test.la
else
496
noinst_LTLIBRARIES += libvirt_driver_test.la
497
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
498
endif
499
libvirt_driver_test_la_CFLAGS = \
500
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
501
if WITH_DRIVER_MODULES
502
libvirt_driver_test_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
503
endif
504
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
505 506 507
endif

if WITH_REMOTE
508 509 510
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_remote.la
else
511
noinst_LTLIBRARIES += libvirt_driver_remote.la
512
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
513
endif
514 515
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
E
Eric Blake 已提交
516
		$(SASL_CFLAGS) $(XDR_CFLAGS)			\
517 518 519
		-I@top_srcdir@/src/conf				\
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
520
libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) $(SASL_LIBS)
521 522 523
if WITH_DRIVER_MODULES
libvirt_driver_remote_la_LDFLAGS += -module -avoid-version
endif
524
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
525 526 527 528 529 530

if HAVE_RPCGEN
#
# Maintainer-only target for re-generating the derived .c/.h source
# files, which are actually derived from the .x file.
#
531
# For committing protocol changes to GIT, the GLIBC rpcgen *must*
532 533 534 535 536
# 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 已提交
537
rpcgen-normal:
538 539 540 541
	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 已提交
542 543
	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
544 545 546 547 548 549 550 551 552 553
	(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 已提交
554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584

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

585 586 587
endif

remote/remote_protocol.c: remote/remote_protocol.h
588 589 590
endif

if WITH_XEN
591 592 593
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
else
594
noinst_LTLIBRARIES += libvirt_driver_xen.la
595
libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
596
endif
E
Eric Blake 已提交
597
libvirt_driver_xen_la_CFLAGS =					\
598
		$(XEN_CFLAGS)					\
599
		-I@top_srcdir@/src/conf				\
600
		-I@top_srcdir@/src/xenxs			\
601 602
		$(AM_CFLAGS)
libvirt_driver_xen_la_LDFLAGS = $(AM_LDFLAGS)
603
libvirt_driver_xen_la_LIBADD = $(XEN_LIBS)
604
if WITH_DRIVER_MODULES
605
libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
606 607
libvirt_driver_xen_la_LDFLAGS += -module -avoid-version
endif
608
libvirt_driver_xen_la_SOURCES = $(XEN_DRIVER_SOURCES)
609 610
endif

611 612 613 614 615
if WITH_PHYP
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_phyp.la
else
noinst_LTLIBRARIES += libvirt_driver_phyp.la
616
libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
617
endif
618
libvirt_driver_phyp_la_LIBADD = $(LIBSSH2_LIBS)
619 620 621 622
if WITH_DRIVER_MODULES
libvirt_driver_phyp_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_phyp_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
endif
623
libvirt_driver_phyp_la_CFLAGS = $(LIBSSH2_CFLAGS) \
624
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
625 626 627
libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
endif

628
if WITH_OPENVZ
629 630 631
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_openvz.la
else
632
noinst_LTLIBRARIES += libvirt_driver_openvz.la
633
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
634
endif
635
libvirt_driver_openvz_la_CFLAGS = \
636
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
637
if WITH_DRIVER_MODULES
638
libvirt_driver_openvz_la_LIBADD = ../gnulib/lib/libgnu.la
639
libvirt_driver_openvz_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
640
endif
641
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
642 643
endif

644 645 646 647 648 649 650 651
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 = \
652
		-I@top_srcdir@/src/conf -I@top_srcdir@/src/vmx
653
if WITH_DRIVER_MODULES
654
libvirt_driver_vmware_la_LIBADD = ../gnulib/lib/libgnu.la
655 656 657 658 659
libvirt_driver_vmware_la_LDFLAGS = -module -avoid-version
endif
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
endif

660 661 662 663 664
if WITH_VBOX
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_vbox.la
else
noinst_LTLIBRARIES += libvirt_driver_vbox.la
665
libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
666
endif
667
libvirt_driver_vbox_la_CFLAGS = \
668
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
669
libvirt_driver_vbox_la_LIBADD = $(DLOPEN_LIBS) $(MSCOM_LIBS)
670
if WITH_DRIVER_MODULES
671
libvirt_driver_vbox_la_LIBADD += ../gnulib/lib/libgnu.la
672
libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
673 674 675 676
endif
libvirt_driver_vbox_la_SOURCES = $(VBOX_DRIVER_SOURCES)
endif

677 678 679 680 681
if WITH_XENAPI
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xenapi.la
else
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
682
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
683 684
endif
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(LIBCURL_CFLAGS) \
685 686
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
687
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(LIBCURL_LIBS)
688
if WITH_DRIVER_MODULES
689
libvirt_driver_xenapi_la_LIBADD += ../gnulib/lib/libgnu.la
690 691 692 693 694
libvirt_driver_xenapi_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
endif

J
Jim Fehlig 已提交
695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713
if WITH_LIBXL
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_libxl.la
else
noinst_LTLIBRARIES += libvirt_driver_libxl.la
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_libxl.la
endif
libvirt_driver_libxl_la_CFLAGS = $(LIBXL_CFLAGS) \
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_libxl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_libxl_la_LIBADD = $(LIBXL_LIBS)
if WITH_DRIVER_MODULES
libvirt_driver_libxl_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_libxl_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_libxl_la_SOURCES = $(LIBXL_DRIVER_SOURCES)
endif

714
if WITH_QEMU
715 716 717
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
else
718
noinst_LTLIBRARIES += libvirt_driver_qemu.la
719
# Stateful, so linked to daemon instead
720
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
721
endif
722
libvirt_driver_qemu_la_CFLAGS = $(NUMACTL_CFLAGS) \
723 724
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_qemu_la_LDFLAGS = $(AM_LDFLAGS)
725 726
libvirt_driver_qemu_la_LIBADD = $(NUMACTL_LIBS) \
				$(CAPNG_LIBS)
727
if WITH_DRIVER_MODULES
728
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
729 730
libvirt_driver_qemu_la_LDFLAGS += -module -avoid-version
endif
731
libvirt_driver_qemu_la_SOURCES = $(QEMU_DRIVER_SOURCES)
732

A
Amy Griffis 已提交
733
conf_DATA += qemu/qemu.conf
734

735 736
augeas_DATA += qemu/libvirtd_qemu.aug
augeastest_DATA += qemu/test_libvirtd_qemu.aug
737

738
endif
739 740
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
		qemu/test_libvirtd_qemu.aug qemu/THREADS.txt
741

742 743

if WITH_LXC
744 745 746
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
else
747
noinst_LTLIBRARIES += libvirt_driver_lxc.la
748
# Stateful, so linked to daemon instead
749
#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
750
endif
751
libvirt_driver_lxc_la_CFLAGS = \
752
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
753 754 755 756 757 758 759
libvirt_driver_lxc_la_LIBADD = $(CAPNG_LIBS)
if WITH_SECDRIVER_SELINUX
libvirt_driver_lxc_la_LIBADD += $(SELINUX_LIBS)
endif
if WITH_SECDRIVER_APPARMOR
libvirt_driver_lxc_la_LIBADD += $(APPARMOR_LIBS)
endif
760
if WITH_DRIVER_MODULES
761
libvirt_driver_lxc_la_LIBADD += ../gnulib/lib/libgnu.la
762
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
763
endif
764
libvirt_driver_lxc_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
765 766 767

conf_DATA += lxc/lxc.conf

768 769 770
augeas_DATA += lxc/libvirtd_lxc.aug
augeastest_DATA += lxc/test_libvirtd_lxc.aug

771
endif
772
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug
773

774
if WITH_UML
775 776 777
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
else
778 779
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
780
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
781
endif
782
libvirt_driver_uml_la_CFLAGS = $(NUMACTL_CFLAGS) \
783 784
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_uml_la_LDFLAGS = $(AM_LDFLAGS)
785
libvirt_driver_uml_la_LIBADD = $(NUMACTL_LIBS)
786
if WITH_DRIVER_MODULES
787
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
788 789
libvirt_driver_uml_la_LDFLAGS += -module -avoid-version
endif
790 791
libvirt_driver_uml_la_SOURCES = $(UML_DRIVER_SOURCES)
endif
792

D
Daniel Veillard 已提交
793

794
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
795

796 797
$(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 已提交
798

799 800 801 802 803
if WITH_ESX
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_esx.la
else
noinst_LTLIBRARIES += libvirt_driver_esx.la
804
libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
805
endif
806
libvirt_driver_esx_la_CFLAGS = $(LIBCURL_CFLAGS) \
807
		-I@top_srcdir@/src/conf -I@top_srcdir@/src/vmx $(AM_CFLAGS)
808
libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
809
libvirt_driver_esx_la_LIBADD = $(LIBCURL_LIBS)
810
if WITH_DRIVER_MODULES
811
libvirt_driver_esx_la_LIBADD += ../gnulib/lib/libgnu.la
812 813 814
libvirt_driver_esx_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
815
libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
816 817
endif

818
if WITH_NETWORK
819 820 821
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
else
822
noinst_LTLIBRARIES += libvirt_driver_network.la
823
# Stateful, so linked to daemon instead
824
#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
825
endif
826
libvirt_driver_network_la_CFLAGS = \
827
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
828
if WITH_DRIVER_MODULES
829
libvirt_driver_network_la_LIBADD = ../gnulib/lib/libgnu.la
830
libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
831
endif
832
libvirt_driver_network_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
833
endif
834 835 836 837
EXTRA_DIST += network/default.xml



838

D
Daniel Veillard 已提交
839
if WITH_NETCF
840 841 842 843
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_interface.la
else
noinst_LTLIBRARIES += libvirt_driver_interface.la
844
libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la
845
endif
846
libvirt_driver_interface_la_CFLAGS = $(NETCF_CFLAGS) \
847 848
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS)
849
libvirt_driver_interface_la_LIBADD = $(NETCF_LIBS)
850
if WITH_DRIVER_MODULES
851
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
852 853 854
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
D
Daniel Veillard 已提交
855 856
endif

D
Daniel P. Berrange 已提交
857
if WITH_SECRETS
858 859 860 861
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_secret.la
else
noinst_LTLIBRARIES += libvirt_driver_secret.la
862
# Stateful, so linked to daemon instead
863
#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
864
endif
865
libvirt_driver_secret_la_CFLAGS = \
866
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
867
if WITH_DRIVER_MODULES
868
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
869
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
870 871
endif
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
D
Daniel P. Berrange 已提交
872
endif
873

874 875
# Needed to keep automake quiet about conditionals
libvirt_driver_storage_la_SOURCES =
876
libvirt_driver_storage_la_CFLAGS = \
877 878
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_storage_la_LDFLAGS = $(AM_LDFLAGS)
879
libvirt_driver_storage_la_LIBADD =
880 881 882 883 884 885
if WITH_SECDRIVER_SELINUX
libvirt_driver_storage_la_LIBADD += $(SELINUX_LIBS)
endif
if WITH_SECDRIVER_APPARMOR
libvirt_driver_storage_la_LIBADD += $(APPARMOR_LIBS)
endif
886
if WITH_STORAGE_DIR
887 888 889
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
else
890
noinst_LTLIBRARIES += libvirt_driver_storage.la
891
# Stateful, so linked to daemon instead
892
#libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la
893 894
endif
if WITH_DRIVER_MODULES
895
libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
896
libvirt_driver_storage_la_LDFLAGS += -module -avoid-version
897
endif
898 899
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
900 901
endif

902
if WITH_STORAGE_LVM
903
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
904 905
endif

906
if WITH_STORAGE_ISCSI
907
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
908 909
endif

910 911 912 913
if WITH_STORAGE_SCSI
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
endif

D
Dave Allan 已提交
914 915 916
if WITH_STORAGE_MPATH
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_MPATH_SOURCES)
libvirt_driver_storage_la_CFLAGS += $(DEVMAPPER_CFLAGS)
917
libvirt_driver_storage_la_LIBADD += $(DEVMAPPER_LIBS)
D
Dave Allan 已提交
918 919
endif

920
if WITH_STORAGE_DISK
921
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
922
endif
923

924 925 926 927 928 929 930
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
931
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
932 933 934
endif
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

935
libvirt_driver_nodedev_la_CFLAGS = \
936 937
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
938
libvirt_driver_nodedev_la_LIBADD =
939 940 941
if HAVE_HAL
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
942
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
943
endif
944 945
if HAVE_UDEV
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
946
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
947
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
948
endif
949 950

if WITH_DRIVER_MODULES
951
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
952 953 954 955 956
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
endif
endif


957 958 959 960
if WITH_NWFILTER
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nwfilter.la
else
961
libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
962 963
noinst_LTLIBRARIES += libvirt_driver_nwfilter.la
endif
964
libvirt_driver_nwfilter_la_CFLAGS = $(LIBPCAP_CFLAGS) \
965 966
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_nwfilter_la_LDFLAGS = $(LD_AMFLAGS)
967
libvirt_driver_nwfilter_la_LIBADD = $(LIBPCAP_LIBS)
968
if WITH_DRIVER_MODULES
969
libvirt_driver_nwfilter_la_LIBADD += ../gnulib/lib/libgnu.la
970
libvirt_driver_nwfilter_la_LDFLAGS += -module -avoid-version
971 972 973 974 975
endif
libvirt_driver_nwfilter_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
endif


976 977
libvirt_driver_security_la_SOURCES = $(SECURITY_DRIVER_SOURCES)
noinst_LTLIBRARIES += libvirt_driver_security.la
978
libvirt_la_BUILT_LIBADD += libvirt_driver_security.la
979
libvirt_driver_security_la_CFLAGS = \
980 981
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_security_la_LDFLAGS = $(AM_LDFLAGS)
982
libvirt_driver_security_la_LIBADD =
983 984
if WITH_SECDRIVER_SELINUX
libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
J
Jim Fehlig 已提交
985
libvirt_driver_security_la_CFLAGS += $(SELINUX_CFLAGS)
986
libvirt_driver_security_la_LIBADD += $(SELINUX_LIBS)
987
endif
J
Jamie Strandboge 已提交
988 989 990
if WITH_SECDRIVER_APPARMOR
libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
libvirt_driver_security_la_CFLAGS += $(APPARMOR_CFLAGS)
991
libvirt_driver_security_la_LIBADD += $(APPARMOR_LIBS)
J
Jamie Strandboge 已提交
992
endif
993

994 995 996 997 998 999 1000
# Add all conditional sources just in case...
EXTRA_DIST +=							\
		$(TEST_DRIVER_SOURCES)				\
		$(REMOTE_DRIVER_SOURCES)			\
		$(XEN_DRIVER_SOURCES)				\
		$(QEMU_DRIVER_SOURCES)				\
		$(LXC_DRIVER_SOURCES)				\
1001
		$(UML_DRIVER_SOURCES)				\
1002
		$(OPENVZ_DRIVER_SOURCES)			\
1003
		$(PHYP_DRIVER_SOURCES)				\
1004
		$(VBOX_DRIVER_SOURCES)				\
1005
		$(XENAPI_DRIVER_SOURCES)			\
J
Jim Fehlig 已提交
1006
		$(LIBXL_DRIVER_SOURCES)			\
1007
		$(ESX_DRIVER_SOURCES)				\
1008
		$(ESX_DRIVER_EXTRA_DIST)			\
1009
		$(NETWORK_DRIVER_SOURCES)			\
1010
		$(INTERFACE_DRIVER_SOURCES)			\
1011 1012 1013 1014
		$(STORAGE_DRIVER_SOURCES)			\
		$(STORAGE_DRIVER_FS_SOURCES)			\
		$(STORAGE_DRIVER_LVM_SOURCES)			\
		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
1015
		$(STORAGE_DRIVER_SCSI_SOURCES)			\
D
Dave Allan 已提交
1016
		$(STORAGE_DRIVER_MPATH_SOURCES)			\
1017 1018 1019
		$(STORAGE_DRIVER_DISK_SOURCES)			\
		$(NODE_DEVICE_DRIVER_SOURCES)			\
		$(NODE_DEVICE_DRIVER_HAL_SOURCES)		\
1020
		$(NODE_DEVICE_DRIVER_UDEV_SOURCES)		\
1021
		$(NWFILTER_DRIVER_SOURCES)			\
1022
		$(SECURITY_DRIVER_SELINUX_SOURCES)		\
J
Jamie Strandboge 已提交
1023
		$(SECURITY_DRIVER_APPARMOR_SOURCES)		\
D
Daniel P. Berrange 已提交
1024
		$(SECRET_DRIVER_SOURCES)			\
1025
		$(VBOX_DRIVER_EXTRA_DIST)			\
1026 1027
		$(VMWARE_DRIVER_SOURCES)			\
		$(XENXS_SOURCES)
1028

1029 1030 1031 1032
check-local: augeas-check

.PHONY: augeas-check
augeas-check:
1033
if WITH_QEMU
1034
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1035 1036 1037 1038 1039
	    '$(AUGPARSE)' -I $(srcdir)/qemu \
	    $(srcdir)/qemu/test_libvirtd_qemu.aug; \
	fi
endif
if WITH_LXC
1040
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1041 1042 1043 1044 1045
	    '$(AUGPARSE)' -I $(srcdir)/lxc \
	    $(srcdir)/lxc/test_libvirtd_lxc.aug; \
	fi
endif

1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064
#
# 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.
#

1065
if WITH_DRIVER_MODULES
1066
USED_SYM_FILES += libvirt_driver_modules.syms
1067
endif
1068 1069

if WITH_BRIDGE
1070
USED_SYM_FILES += libvirt_bridge.syms
1071
endif
1072 1073

if WITH_LINUX
1074
USED_SYM_FILES += libvirt_linux.syms
1075
endif
1076

1077
if WITH_MACVTAP
1078
USED_SYM_FILES += libvirt_macvtap.syms
1079
endif
1080

1081 1082 1083 1084
if WITH_LIBVIRTD
USED_SYM_FILES += libvirt_daemon.syms
endif

1085 1086 1087 1088
if WITH_NWFILTER
USED_SYM_FILES += libvirt_nwfilter.syms
endif

1089 1090 1091 1092
if WITH_VMX
USED_SYM_FILES += libvirt_vmx.syms
endif

1093 1094 1095 1096 1097
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
  libvirt_driver_modules.syms	\
  libvirt_bridge.syms		\
1098
  libvirt_linux.syms		\
1099
  libvirt_macvtap.syms		\
1100
  libvirt_daemon.syms		\
M
Matthias Bolte 已提交
1101 1102
  libvirt_nwfilter.syms	\
  libvirt_vmx.syms
1103

1104
BUILT_SOURCES += libvirt.syms libvirt.def libvirt_qemu.def
1105

1106 1107
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(top_builddir)/config.status
1108 1109 1110 1111 1112 1113
	$(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 && \
1114
	for file in $(USED_SYM_FILES); do \
1115
	    cat $(srcdir)/$$file >>$@-tmp; \
1116 1117 1118
	done && \
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
1119
	mv $@-tmp libvirt.syms
1120

1121 1122 1123
libvirt.def: libvirt.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1124
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1125 1126 1127
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt.def

1128 1129 1130
libvirt_qemu.def: $(srcdir)/libvirt_qemu.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1131
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1132 1133 1134
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt_qemu.def

1135 1136
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
1137
libvirt_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
1138
                     -version-info $(LIBVIRT_VERSION_INFO) \
1139
                    $(AM_LDFLAGS) \
1140
		    $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS)
1141
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
1142
libvirt_la_LIBADD += $(LIBXML_LIBS) \
1143
		    $(DRIVER_MODULE_LIBS) \
1144
		    $(CYGWIN_EXTRA_LIBADD)
1145
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
1146 1147 1148 1149 1150 1151
# 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)
1152

1153 1154 1155
# 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.
1156
noinst_LTLIBRARIES += libvirt_test.la
1157

1158
# Remove version script from convenience library
1159 1160
test_LDFLAGS =						\
  $$(echo '$(libvirt_la_LDFLAGS)'			\
1161
     |sed 's!$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE)!!'	\
1162
     |sed 's!-version-info $(LIBVIRT_VERSION_INFO)!!')
1163 1164 1165 1166

# 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)
1167 1168
libvirt_test_la_LDFLAGS = $(test_LDFLAGS) $(AM_LDFLAGS)
libvirt_test_la_CFLAGS = $(AM_CFLAGS)
1169

C
Chris Lalancette 已提交
1170 1171 1172
libvirt_qemu_la_SOURCES = libvirt-qemu.c
libvirt_qemu_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
                          -version-info $(LIBVIRT_VERSION_INFO) \
1173 1174 1175
                          $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS) \
			  $(AM_LDFLAGS)
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
1176
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
E
Eric Blake 已提交
1177
EXTRA_DIST += $(LIBVIRT_QEMU_SYMBOL_FILE)
1178

1179 1180
libexec_PROGRAMS =

1181
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
1182
if WITH_LIBVIRTD
1183
libexec_PROGRAMS += libvirt_parthelper
1184

1185
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
1186
libvirt_parthelper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
1187 1188 1189 1190 1191
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la

1192
libvirt_parthelper_CFLAGS = $(LIBPARTED_CFLAGS) $(AM_CFLAGS)
R
Richard W.M. Jones 已提交
1193
endif
1194
endif
1195 1196
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

1197

1198 1199 1200 1201 1202 1203
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
1204
		$(UTIL_SOURCES)					\
1205 1206
		$(NODE_INFO_SOURCES)				\
		$(ENCRYPTION_CONF_SOURCES)			\
1207
		$(DOMAIN_CONF_SOURCES)				\
1208 1209
		$(CPU_CONF_SOURCES)				\
		$(NWFILTER_PARAM_CONF_SOURCES)
1210
libvirt_lxc_LDFLAGS = $(WARN_CFLAGS) $(AM_LDFLAGS)
1211 1212
libvirt_lxc_LDADD = $(CAPNG_LIBS) $(YAJL_LIBS) \
		$(LIBXML_LIBS) $(NUMACTL_LIBS) $(LIB_PTHREAD) \
1213 1214
		$(LIBNL_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
		../gnulib/lib/libgnu.la
1215 1216 1217 1218
libvirt_lxc_CFLAGS =				\
		$(LIBPARTED_CFLAGS)		\
		$(NUMACTL_CFLAGS)		\
		$(CAPNG_CFLAGS)			\
1219
		$(YAJL_CFLAGS)			\
1220
		$(AUDIT_CFLAGS)			\
1221 1222
		-I@top_srcdir@/src/conf		\
		$(AM_CFLAGS)
1223 1224 1225 1226
endif
endif
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
1227 1228 1229 1230 1231 1232
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1233
virt_aa_helper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
J
Jamie Strandboge 已提交
1234
virt_aa_helper_LDADD =						\
1235
		$(LIBXML_LIBS)					\
C
Chris Lalancette 已提交
1236 1237 1238
		libvirt_conf.la					\
		libvirt_util.la					\
		../gnulib/lib/libgnu.la
J
Jamie Strandboge 已提交
1239 1240
virt_aa_helper_CFLAGS =						\
		-I@top_srcdir@/src/conf				\
1241 1242
		-I@top_srcdir@/src/security			\
		$(AM_CFLAGS)
J
Jamie Strandboge 已提交
1243 1244 1245 1246
endif
endif
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1247
install-data-local:
1248 1249 1250 1251 1252 1253
	$(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"
1254
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
1255
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
1256 1257 1258 1259 1260
endif
if WITH_LXC
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
endif
J
Jim Fehlig 已提交
1261 1262 1263 1264
if WITH_LIBXL
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/libxl"
endif
1265 1266 1267 1268 1269 1270
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"
1271
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
1272
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
1273 1274 1275 1276
	$(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 已提交
1277 1278 1279 1280 1281 1282
	  { 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; }
1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296
	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" ||:
1297
endif
1298 1299 1300 1301
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
endif
J
Jim Fehlig 已提交
1302 1303 1304 1305
if WITH_LIBXL
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/libxl" ||:
endif
1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318
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 已提交
1319

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