Makefile.am 39.2 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 15 16 17 18
		-I@top_srcdir@/include				\
		$(DRIVER_MODULE_CFLAGS)				\
		$(LIBXML_CFLAGS)				\
		-DLIBDIR=\""$(libdir)"\"			\
		-DBINDIR=\""$(libexecdir)"\"			\
		-DSBINDIR=\""$(sbindir)"\"			\
		-DSYSCONF_DIR="\"$(sysconfdir)\""		\
		-DLOCALEBASEDIR=\""$(datadir)/locale"\"		\
19
		-DPKGDATADIR=\""$(pkgdatadir)"\"		\
20 21 22
		-DLOCAL_STATE_DIR=\""$(localstatedir)"\"	\
		-DGETTEXT_PACKAGE=\"$(PACKAGE)\"		\
		$(WARN_CFLAGS)					\
23 24 25
		$(LOCK_CHECKING_CFLAGS)			\
		-DIN_LIBVIRT				\
		$(WIN32_EXTRA_CFLAGS)
26

27 28 29
AM_CFLAGS = $(COVERAGE_CFLAGS)
AM_LDFLAGS = $(COVERAGE_LDFLAGS)

30
EXTRA_DIST = $(conf_DATA)
31

32 33
BUILT_SOURCES =

34 35 36
if WITH_NETWORK
UUID=$(shell uuidgen 2>/dev/null)
endif
37

C
Chris Lalancette 已提交
38
lib_LTLIBRARIES = libvirt.la libvirt-qemu.la
39

40 41 42
moddir = $(libdir)/libvirt/drivers
mod_LTLIBRARIES =

A
Amy Griffis 已提交
43 44
confdir = $(sysconfdir)/libvirt
conf_DATA =
45

46 47 48 49 50 51
augeasdir = $(datadir)/augeas/lenses
augeas_DATA =

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

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

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

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


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

DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
110 111

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

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

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

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

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

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

143 144 145
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h

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

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

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

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

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

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

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



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

LXC_DRIVER_SOURCES =						\
243 244 245
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
		lxc/lxc_driver.c lxc/lxc_driver.h		\
246
		lxc/veth.c lxc/veth.h
247

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

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

257 258 259
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

260
OPENVZ_DRIVER_SOURCES =						\
261 262
		openvz/openvz_conf.c openvz/openvz_conf.h	\
		openvz/openvz_driver.c openvz/openvz_driver.h
263

264 265 266
VBOX_DRIVER_SOURCES =						\
        vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h		\
        vbox/vbox_driver.c vbox/vbox_driver.h			\
267
        vbox/vbox_V2_2.c vbox/vbox_CAPI_v2_2.h			\
268
        vbox/vbox_V3_0.c vbox/vbox_CAPI_v3_0.h			\
269 270
        vbox/vbox_V3_1.c vbox/vbox_CAPI_v3_1.h			\
        vbox/vbox_V3_2.c vbox/vbox_CAPI_v3_2.h
271

272 273
VBOX_DRIVER_EXTRA_DIST = vbox/vbox_tmpl.c vbox/README

274
QEMU_DRIVER_SOURCES =						\
275
		qemu/qemu_conf.c qemu/qemu_conf.h		\
276
		qemu/qemu_monitor.c qemu/qemu_monitor.h		\
277 278
		qemu/qemu_monitor_text.c			\
		qemu/qemu_monitor_text.h			\
D
Daniel P. Berrange 已提交
279 280 281
		qemu/qemu_monitor_json.c			\
		qemu/qemu_monitor_json.h			\
		qemu/qemu_driver.c qemu/qemu_driver.h		\
E
Eric Blake 已提交
282
		qemu/qemu_bridge_filter.c			\
283 284
		qemu/qemu_bridge_filter.h			\
		qemu/qemu_security_stacked.h			\
285 286 287
		qemu/qemu_security_stacked.c			\
		qemu/qemu_security_dac.h			\
		qemu/qemu_security_dac.c
R
Richard W.M. Jones 已提交
288

289 290
XENAPI_DRIVER_SOURCES =								\
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
291
		xenapi/xenapi_driver_private.h					\
292 293
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

294
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
295 296
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
297

298 299 300 301 302 303
ONE_DRIVER_SOURCES =						\
		./opennebula/one_conf.c				\
		./opennebula/one_conf.h				\
		./opennebula/one_driver.c			\
		./opennebula/one_driver.h			\
		./opennebula/one_client.c			\
304
		./opennebula/one_client.h
D
Daniel Veillard 已提交
305

306
ESX_DRIVER_SOURCES =						\
307
		esx/esx_private.h						\
308
		esx/esx_driver.c esx/esx_driver.h		\
309 310 311 312 313
		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 已提交
314
		esx/esx_nwfilter_driver.c esx/esx_nwfilter_driver.h		\
315 316
		esx/esx_util.c esx/esx_util.h			\
		esx/esx_vi.c esx/esx_vi.h			\
317 318 319 320
		esx/esx_vi_methods.c esx/esx_vi_methods.h	\
		esx/esx_vi_types.c esx/esx_vi_types.h		\
		esx/esx_vmx.c esx/esx_vmx.h

321
ESX_DRIVER_GENERATED =							\
322 323
		esx/esx_vi_methods.generated.c				\
		esx/esx_vi_methods.generated.h				\
324 325 326 327 328 329 330 331 332 333 334 335 336
		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)

337
NETWORK_DRIVER_SOURCES =					\
338
		network/bridge_driver.h network/bridge_driver.c
339

340
INTERFACE_DRIVER_SOURCES =					\
341
		interface/netcf_driver.h interface/netcf_driver.c
342

343
SECRET_DRIVER_SOURCES =						\
344
		secret/secret_driver.h secret/secret_driver.c
345

346
# Storage backend specific impls
347
STORAGE_DRIVER_SOURCES =					\
348 349
		storage/storage_driver.h storage/storage_driver.c		\
		storage/storage_backend.h storage/storage_backend.c
350 351

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

354
STORAGE_DRIVER_LVM_SOURCES =					\
355 356
		storage/storage_backend_logical.h			\
		storage/storage_backend_logical.c
357 358

STORAGE_DRIVER_ISCSI_SOURCES =					\
359
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
360

361
STORAGE_DRIVER_SCSI_SOURCES =					\
362
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
363

D
Dave Allan 已提交
364
STORAGE_DRIVER_MPATH_SOURCES =					\
365
		storage/storage_backend_mpath.h storage/storage_backend_mpath.c
D
Dave Allan 已提交
366

367
STORAGE_DRIVER_DISK_SOURCES =					\
368
		storage/storage_backend_disk.h storage/storage_backend_disk.c
369 370

STORAGE_HELPER_DISK_SOURCES =					\
371
		storage/parthelper.c
372

373 374 375
# Network filters
NWFILTER_DRIVER_SOURCES =					\
		nwfilter/nwfilter_driver.h nwfilter/nwfilter_driver.c	\
376 377 378
		nwfilter/nwfilter_gentech_driver.c			\
		nwfilter/nwfilter_gentech_driver.h			\
		nwfilter/nwfilter_ebiptables_driver.c			\
379 380 381
		nwfilter/nwfilter_ebiptables_driver.h			\
		nwfilter/nwfilter_learnipaddr.c				\
		nwfilter/nwfilter_learnipaddr.h
382

383

384
# Security framework and drivers for various models
385
SECURITY_DRIVER_SOURCES =					\
386
		security/security_driver.h security/security_driver.c
387

388
SECURITY_DRIVER_SELINUX_SOURCES =				\
389
		security/security_selinux.h security/security_selinux.c
390

J
Jamie Strandboge 已提交
391 392 393
SECURITY_DRIVER_APPARMOR_SOURCES =				\
		security/security_apparmor.h security/security_apparmor.c

394

395
NODE_DEVICE_DRIVER_SOURCES =					\
396 397 398
		node_device/node_device_driver.c \
		node_device/node_device_driver.h \
		node_device/node_device_linux_sysfs.c
399 400

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
401
		node_device/node_device_hal.c			\
402
		node_device/node_device_hal.h
403

404
NODE_DEVICE_DRIVER_UDEV_SOURCES =				\
D
Daniel Veillard 已提交
405 406
		node_device/node_device_udev.c			\
		node_device/node_device_udev.h
407

J
Jiri Denemark 已提交
408 409 410 411 412
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
413

J
Jiri Denemark 已提交
414 415
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
416
EXTRA_DIST +=	$(pkgdata_DATA)
417

418 419 420 421 422 423
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

424
noinst_LTLIBRARIES = libvirt_util.la
425 426
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
libvirt_la_BUILT_LIBADD = libvirt_util.la
427 428
libvirt_util_la_SOURCES =					\
		$(UTIL_SOURCES)
429
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
430 431 432
		$(AM_CFLAGS) $(AUDIT_CFLAGS)
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
		$(LIB_PTHREAD) $(AUDIT_LIBS)
433

434 435

noinst_LTLIBRARIES += libvirt_conf.la
436
libvirt_la_BUILT_LIBADD += libvirt_conf.la
437
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
438 439
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
440

J
Jiri Denemark 已提交
441
noinst_LTLIBRARIES += libvirt_cpu.la
442
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
443
libvirt_cpu_la_CFLAGS = \
444
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
445 446
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

447

448
noinst_LTLIBRARIES += libvirt_driver.la
449
libvirt_la_BUILT_LIBADD += libvirt_driver.la
450
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
451

M
Matthias Bolte 已提交
452
libvirt_driver_la_CFLAGS = $(NUMACTL_CFLAGS) $(GNUTLS_CFLAGS) \
453
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
454
libvirt_driver_la_LIBADD = $(NUMACTL_LIBS) $(GNUTLS_LIBS)
455

456
USED_SYM_FILES = libvirt_private.syms
457

458
if WITH_TEST
459 460 461
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_test.la
else
462
noinst_LTLIBRARIES += libvirt_driver_test.la
463
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
464
endif
465
libvirt_driver_test_la_CFLAGS = \
466
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
467
if WITH_DRIVER_MODULES
468
libvirt_driver_test_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
469
endif
470
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
471 472 473
endif

if WITH_REMOTE
474 475 476
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_remote.la
else
477
noinst_LTLIBRARIES += libvirt_driver_remote.la
478
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
479
endif
480 481
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
482
		$(SASL_CFLAGS)					\
483 484 485
		-I@top_srcdir@/src/conf				\
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
486
libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) $(SASL_LIBS)
487 488 489
if WITH_DRIVER_MODULES
libvirt_driver_remote_la_LDFLAGS += -module -avoid-version
endif
490
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
491 492 493 494 495 496

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

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

551 552 553
endif

remote/remote_protocol.c: remote/remote_protocol.h
554 555 556
endif

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

576 577 578 579 580
if WITH_PHYP
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_phyp.la
else
noinst_LTLIBRARIES += libvirt_driver_phyp.la
581
libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
582
endif
583
libvirt_driver_phyp_la_LIBADD = $(LIBSSH2_LIBS)
584 585 586 587
if WITH_DRIVER_MODULES
libvirt_driver_phyp_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_phyp_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
endif
588
libvirt_driver_phyp_la_CFLAGS = $(LIBSSH2_CFLAGS) \
589
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
590 591 592
libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
endif

593
if WITH_OPENVZ
594 595 596
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_openvz.la
else
597
noinst_LTLIBRARIES += libvirt_driver_openvz.la
598
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
599
endif
600
libvirt_driver_openvz_la_CFLAGS = \
601
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
602
if WITH_DRIVER_MODULES
603
libvirt_driver_openvz_la_LIBADD = ../gnulib/lib/libgnu.la
604
libvirt_driver_openvz_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
605
endif
606
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
607 608
endif

609 610 611 612 613
if WITH_VBOX
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_vbox.la
else
noinst_LTLIBRARIES += libvirt_driver_vbox.la
614
libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
615
endif
616
libvirt_driver_vbox_la_CFLAGS = \
617
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
618
libvirt_driver_vbox_la_LIBADD = $(DLOPEN_LIBS)
619
if WITH_DRIVER_MODULES
620
libvirt_driver_vbox_la_LIBADD += ../gnulib/lib/libgnu.la
621
libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
622 623 624 625
endif
libvirt_driver_vbox_la_SOURCES = $(VBOX_DRIVER_SOURCES)
endif

626 627 628 629 630
if WITH_XENAPI
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xenapi.la
else
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
631
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
632 633
endif
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(LIBCURL_CFLAGS) \
634 635
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
636
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(LIBCURL_LIBS)
637
if WITH_DRIVER_MODULES
638
libvirt_driver_xenapi_la_LIBADD += ../gnulib/lib/libgnu.la
639 640 641 642 643
libvirt_driver_xenapi_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
endif

644
if WITH_QEMU
645 646 647
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
else
648
noinst_LTLIBRARIES += libvirt_driver_qemu.la
649
# Stateful, so linked to daemon instead
650
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
651
endif
652
libvirt_driver_qemu_la_CFLAGS = $(NUMACTL_CFLAGS) \
653 654
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_qemu_la_LDFLAGS = $(AM_LDFLAGS)
655
libvirt_driver_qemu_la_LIBADD = $(NUMACTL_LIBS)
656
if WITH_DRIVER_MODULES
657
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
658 659
libvirt_driver_qemu_la_LDFLAGS += -module -avoid-version
endif
660
libvirt_driver_qemu_la_SOURCES = $(QEMU_DRIVER_SOURCES)
661

A
Amy Griffis 已提交
662
conf_DATA += qemu/qemu.conf
663

664 665
augeas_DATA += qemu/libvirtd_qemu.aug
augeastest_DATA += qemu/test_libvirtd_qemu.aug
666

667
endif
668 669
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
		qemu/test_libvirtd_qemu.aug qemu/THREADS.txt
670

671 672

if WITH_LXC
673 674 675
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
else
676
noinst_LTLIBRARIES += libvirt_driver_lxc.la
677
# Stateful, so linked to daemon instead
678
#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
679
endif
680
libvirt_driver_lxc_la_CFLAGS = \
681
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
682
if WITH_DRIVER_MODULES
683
libvirt_driver_lxc_la_LIBADD = ../gnulib/lib/libgnu.la
684
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
685
endif
686
libvirt_driver_lxc_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
687 688 689

conf_DATA += lxc/lxc.conf

690 691 692
augeas_DATA += lxc/libvirtd_lxc.aug
augeastest_DATA += lxc/test_libvirtd_lxc.aug

693
endif
694
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug
695

696
if WITH_UML
697 698 699
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
else
700 701
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
702
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
703
endif
704
libvirt_driver_uml_la_CFLAGS = $(NUMACTL_CFLAGS) \
705 706
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_uml_la_LDFLAGS = $(AM_LDFLAGS)
707
libvirt_driver_uml_la_LIBADD = $(NUMACTL_LIBS)
708
if WITH_DRIVER_MODULES
709
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
710 711
libvirt_driver_uml_la_LDFLAGS += -module -avoid-version
endif
712 713
libvirt_driver_uml_la_SOURCES = $(UML_DRIVER_SOURCES)
endif
714

D
Daniel Veillard 已提交
715 716 717 718 719 720
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
721
#libvirt_la_BUILT_LIBADD  += libvirt_driver_one.la
D
Daniel Veillard 已提交
722
endif
723
libvirt_driver_one_la_CFLAGS = $(XMLRPC_CFLAGS) \
724 725
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_one_la_LDFLAGS = $(AM_LDFLAGS)
726
libvirt_driver_one_la_LIBADD = $(XMLRPC_LIBS)
D
Daniel Veillard 已提交
727 728
#libvirt_driver_one_la_CFLAGS  = "-DWITH_ONE"
if WITH_DRIVER_MODULES
729
libvirt_driver_one_la_LIBADD += ../gnulib/lib/libgnu.la
D
Daniel Veillard 已提交
730 731 732 733 734 735
libvirt_driver_one_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_one_la_SOURCES = $(ONE_DRIVER_SOURCES)
endif


736
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
737

738 739
$(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 已提交
740

741 742 743 744 745
if WITH_ESX
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_esx.la
else
noinst_LTLIBRARIES += libvirt_driver_esx.la
746
libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
747
endif
748
libvirt_driver_esx_la_CFLAGS = $(LIBCURL_CFLAGS) \
749 750
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
751
libvirt_driver_esx_la_LIBADD = $(LIBCURL_LIBS)
752
if WITH_DRIVER_MODULES
753
libvirt_driver_esx_la_LIBADD += ../gnulib/lib/libgnu.la
754 755 756
libvirt_driver_esx_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
757
libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
758 759
endif

760
if WITH_NETWORK
761 762 763
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
else
764
noinst_LTLIBRARIES += libvirt_driver_network.la
765
# Stateful, so linked to daemon instead
766
#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
767
endif
768
libvirt_driver_network_la_CFLAGS = \
769
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
770
if WITH_DRIVER_MODULES
771
libvirt_driver_network_la_LIBADD = ../gnulib/lib/libgnu.la
772
libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
773
endif
774
libvirt_driver_network_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
775
endif
776 777 778 779
EXTRA_DIST += network/default.xml



780

D
Daniel Veillard 已提交
781
if WITH_NETCF
782 783 784 785
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_interface.la
else
noinst_LTLIBRARIES += libvirt_driver_interface.la
786
libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la
787
endif
788
libvirt_driver_interface_la_CFLAGS = $(NETCF_CFLAGS) \
789 790
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS)
791
libvirt_driver_interface_la_LIBADD = $(NETCF_LIBS)
792
if WITH_DRIVER_MODULES
793
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
794 795 796
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
D
Daniel Veillard 已提交
797 798
endif

D
Daniel P. Berrange 已提交
799
if WITH_SECRETS
800 801 802 803
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_secret.la
else
noinst_LTLIBRARIES += libvirt_driver_secret.la
804
# Stateful, so linked to daemon instead
805
#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
806
endif
807
libvirt_driver_secret_la_CFLAGS = \
808
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
809
if WITH_DRIVER_MODULES
810
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
811
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
812 813
endif
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
D
Daniel P. Berrange 已提交
814
endif
815

816 817
# Needed to keep automake quiet about conditionals
libvirt_driver_storage_la_SOURCES =
818
libvirt_driver_storage_la_CFLAGS = \
819 820
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_storage_la_LDFLAGS = $(AM_LDFLAGS)
821
libvirt_driver_storage_la_LIBADD =
822
if WITH_STORAGE_DIR
823 824 825
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
else
826
noinst_LTLIBRARIES += libvirt_driver_storage.la
827
# Stateful, so linked to daemon instead
828
#libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la
829 830
endif
if WITH_DRIVER_MODULES
831
libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
832
libvirt_driver_storage_la_LDFLAGS += -module -avoid-version
833
endif
834 835
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
836 837
endif

838
if WITH_STORAGE_LVM
839
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
840 841
endif

842
if WITH_STORAGE_ISCSI
843
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
844 845
endif

846 847 848 849
if WITH_STORAGE_SCSI
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
endif

D
Dave Allan 已提交
850 851 852
if WITH_STORAGE_MPATH
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_MPATH_SOURCES)
libvirt_driver_storage_la_CFLAGS += $(DEVMAPPER_CFLAGS)
853
libvirt_driver_storage_la_LIBADD += $(DEVMAPPER_LIBS)
D
Dave Allan 已提交
854 855
endif

856
if WITH_STORAGE_DISK
857
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
858
endif
859

860 861 862 863 864 865 866
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
867
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
868 869 870
endif
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

871
libvirt_driver_nodedev_la_CFLAGS = \
872 873
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
874
libvirt_driver_nodedev_la_LIBADD =
875 876 877
if HAVE_HAL
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
878
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
879
endif
880 881
if HAVE_UDEV
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
882
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
883
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
884
endif
885 886

if WITH_DRIVER_MODULES
887
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
888 889 890 891 892
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
endif
endif


893 894 895 896
if WITH_NWFILTER
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nwfilter.la
else
897
libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
898 899
noinst_LTLIBRARIES += libvirt_driver_nwfilter.la
endif
900
libvirt_driver_nwfilter_la_CFLAGS = $(LIBPCAP_CFLAGS) \
901 902
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_nwfilter_la_LDFLAGS = $(LD_AMFLAGS)
903
libvirt_driver_nwfilter_la_LIBADD = $(LIBPCAP_LIBS)
904
if WITH_DRIVER_MODULES
905
libvirt_driver_nwfilter_la_LIBADD += ../gnulib/lib/libgnu.la
906
libvirt_driver_nwfilter_la_LDFLAGS += -module -avoid-version
907 908 909 910 911
endif
libvirt_driver_nwfilter_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
endif


912 913
libvirt_driver_security_la_SOURCES = $(SECURITY_DRIVER_SOURCES)
noinst_LTLIBRARIES += libvirt_driver_security.la
914
libvirt_la_BUILT_LIBADD += libvirt_driver_security.la
915
libvirt_driver_security_la_CFLAGS = \
916 917
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_security_la_LDFLAGS = $(AM_LDFLAGS)
918
libvirt_driver_security_la_LIBADD =
919 920
if WITH_SECDRIVER_SELINUX
libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
J
Jim Fehlig 已提交
921
libvirt_driver_security_la_CFLAGS += $(SELINUX_CFLAGS)
922
libvirt_driver_security_la_LIBADD += $(SELINUX_LIBS)
923
endif
J
Jamie Strandboge 已提交
924 925 926
if WITH_SECDRIVER_APPARMOR
libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
libvirt_driver_security_la_CFLAGS += $(APPARMOR_CFLAGS)
927
libvirt_driver_security_la_LIBADD += $(APPARMOR_LIBS)
J
Jamie Strandboge 已提交
928
endif
929

930 931 932 933 934 935 936
# Add all conditional sources just in case...
EXTRA_DIST +=							\
		$(TEST_DRIVER_SOURCES)				\
		$(REMOTE_DRIVER_SOURCES)			\
		$(XEN_DRIVER_SOURCES)				\
		$(QEMU_DRIVER_SOURCES)				\
		$(LXC_DRIVER_SOURCES)				\
937
		$(UML_DRIVER_SOURCES)				\
D
Daniel Veillard 已提交
938
		$(ONE_DRIVER_SOURCES)				\
939
		$(OPENVZ_DRIVER_SOURCES)			\
940
		$(PHYP_DRIVER_SOURCES)				\
941
		$(VBOX_DRIVER_SOURCES)				\
942
		$(XENAPI_DRIVER_SOURCES)			\
943
		$(ESX_DRIVER_SOURCES)				\
944
		$(ESX_DRIVER_EXTRA_DIST)			\
945
		$(NETWORK_DRIVER_SOURCES)			\
946
		$(INTERFACE_DRIVER_SOURCES)			\
947 948 949 950
		$(STORAGE_DRIVER_SOURCES)			\
		$(STORAGE_DRIVER_FS_SOURCES)			\
		$(STORAGE_DRIVER_LVM_SOURCES)			\
		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
951
		$(STORAGE_DRIVER_SCSI_SOURCES)			\
D
Dave Allan 已提交
952
		$(STORAGE_DRIVER_MPATH_SOURCES)			\
953 954 955
		$(STORAGE_DRIVER_DISK_SOURCES)			\
		$(NODE_DEVICE_DRIVER_SOURCES)			\
		$(NODE_DEVICE_DRIVER_HAL_SOURCES)		\
956
		$(NODE_DEVICE_DRIVER_UDEV_SOURCES)		\
957
		$(NWFILTER_DRIVER_SOURCES)			\
958
		$(SECURITY_DRIVER_SELINUX_SOURCES)		\
J
Jamie Strandboge 已提交
959
		$(SECURITY_DRIVER_APPARMOR_SOURCES)		\
D
Daniel P. Berrange 已提交
960
		$(SECRET_DRIVER_SOURCES)			\
961
		$(VBOX_DRIVER_EXTRA_DIST)
962

963 964 965 966
check-local: augeas-check

.PHONY: augeas-check
augeas-check:
967
if WITH_QEMU
968
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
969 970 971 972 973
	    '$(AUGPARSE)' -I $(srcdir)/qemu \
	    $(srcdir)/qemu/test_libvirtd_qemu.aug; \
	fi
endif
if WITH_LXC
974
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
975 976 977 978 979
	    '$(AUGPARSE)' -I $(srcdir)/lxc \
	    $(srcdir)/lxc/test_libvirtd_lxc.aug; \
	fi
endif

980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998
#
# 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.
#

999
if WITH_DRIVER_MODULES
1000
USED_SYM_FILES += libvirt_driver_modules.syms
1001
endif
1002 1003

if WITH_BRIDGE
1004
USED_SYM_FILES += libvirt_bridge.syms
1005
endif
1006 1007

if WITH_LINUX
1008
USED_SYM_FILES += libvirt_linux.syms
1009
endif
1010

1011
if WITH_MACVTAP
1012
USED_SYM_FILES += libvirt_macvtap.syms
1013
endif
1014

1015 1016 1017 1018
if WITH_LIBVIRTD
USED_SYM_FILES += libvirt_daemon.syms
endif

1019 1020 1021 1022
if WITH_NWFILTER
USED_SYM_FILES += libvirt_nwfilter.syms
endif

1023 1024 1025 1026 1027
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
  libvirt_driver_modules.syms	\
  libvirt_bridge.syms		\
1028
  libvirt_linux.syms		\
1029
  libvirt_macvtap.syms		\
1030 1031
  libvirt_daemon.syms		\
  libvirt_nwfilter.syms
1032

1033
BUILT_SOURCES += libvirt.syms libvirt.def libvirt_qemu.def
1034

1035
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES)
1036 1037 1038 1039 1040 1041
	$(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 && \
1042
	for file in $(USED_SYM_FILES); do \
1043
	    cat $(srcdir)/$$file >>$@-tmp; \
1044 1045 1046
	done && \
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
1047
	mv $@-tmp libvirt.syms
1048

1049 1050 1051
libvirt.def: libvirt.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1052
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1053 1054 1055
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt.def

1056 1057 1058
libvirt_qemu.def: $(srcdir)/libvirt_qemu.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1059
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1060 1061 1062
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt_qemu.def

1063 1064
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
1065
libvirt_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
1066
                     -version-info $(LIBVIRT_VERSION_INFO) \
1067
                    $(AM_LDFLAGS) \
1068
		    $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS)
1069
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
1070
libvirt_la_LIBADD += $(LIBXML_LIBS) \
1071
		    $(DRIVER_MODULE_LIBS) \
1072
		    $(CYGWIN_EXTRA_LIBADD)
1073
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
1074 1075 1076 1077 1078 1079
# 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)
1080

1081 1082 1083
# 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.
1084
noinst_LTLIBRARIES += libvirt_test.la
1085

1086
# Remove version script from convenience library
1087 1088
test_LDFLAGS =						\
  $$(echo '$(libvirt_la_LDFLAGS)'			\
1089
     |sed 's!$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE)!!'	\
1090
     |sed 's!-version-info $(LIBVIRT_VERSION_INFO)!!')
1091 1092 1093 1094

# 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)
1095 1096
libvirt_test_la_LDFLAGS = $(test_LDFLAGS) $(AM_LDFLAGS)
libvirt_test_la_CFLAGS = $(AM_CFLAGS)
1097

C
Chris Lalancette 已提交
1098 1099 1100
libvirt_qemu_la_SOURCES = libvirt-qemu.c
libvirt_qemu_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
                          -version-info $(LIBVIRT_VERSION_INFO) \
1101 1102 1103
                          $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS) \
			  $(AM_LDFLAGS)
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
1104
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
E
Eric Blake 已提交
1105
EXTRA_DIST += $(LIBVIRT_QEMU_SYMBOL_FILE)
1106

1107 1108
libexec_PROGRAMS =

1109
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
1110
if WITH_LIBVIRTD
1111
libexec_PROGRAMS += libvirt_parthelper
1112

1113
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
1114
libvirt_parthelper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
1115 1116 1117 1118 1119 1120
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		$(DEVMAPPER_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la

1121
libvirt_parthelper_CFLAGS = $(LIBPARTED_CFLAGS) $(AM_CFLAGS)
R
Richard W.M. Jones 已提交
1122
endif
1123
endif
1124 1125
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

1126

1127 1128 1129 1130 1131 1132
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
1133
		$(UTIL_SOURCES)					\
1134 1135
		$(NODE_INFO_SOURCES)				\
		$(ENCRYPTION_CONF_SOURCES)			\
1136
		$(DOMAIN_CONF_SOURCES)				\
1137 1138
		$(CPU_CONF_SOURCES)				\
		$(NWFILTER_PARAM_CONF_SOURCES)
1139
libvirt_lxc_LDFLAGS = $(WARN_CFLAGS) $(AM_LDFLAGS)
1140 1141
libvirt_lxc_LDADD = $(CAPNG_LIBS) $(YAJL_LIBS) \
		$(LIBXML_LIBS) $(NUMACTL_LIBS) $(LIB_PTHREAD) \
1142
		$(LIBNL_LIBS) $(AUDIT_LIBS) ../gnulib/lib/libgnu.la
1143 1144 1145 1146
libvirt_lxc_CFLAGS =				\
		$(LIBPARTED_CFLAGS)		\
		$(NUMACTL_CFLAGS)		\
		$(CAPNG_CFLAGS)			\
1147
		$(YAJL_CFLAGS)			\
1148
		$(AUDIT_CFLAGS)			\
1149 1150
		-I@top_srcdir@/src/conf		\
		$(AM_CFLAGS)
1151 1152 1153 1154
endif
endif
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
1155 1156 1157 1158 1159 1160
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1161
virt_aa_helper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
J
Jamie Strandboge 已提交
1162
virt_aa_helper_LDADD =						\
1163
		$(LIBXML_LIBS)					\
C
Chris Lalancette 已提交
1164 1165 1166
		libvirt_conf.la					\
		libvirt_util.la					\
		../gnulib/lib/libgnu.la
J
Jamie Strandboge 已提交
1167 1168
virt_aa_helper_CFLAGS =						\
		-I@top_srcdir@/src/conf				\
1169 1170
		-I@top_srcdir@/src/security			\
		$(AM_CFLAGS)
J
Jamie Strandboge 已提交
1171 1172 1173 1174
endif
endif
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1175
install-data-local:
1176 1177 1178 1179 1180 1181
	$(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"
1182
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
1183
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194
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"
1195
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
1196
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
1197 1198 1199 1200
	$(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 已提交
1201 1202 1203 1204 1205 1206
	  { 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; }
1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220
	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" ||:
1221
endif
1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238
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 已提交
1239

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