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

3
## Copyright (C) 2005-2013 Red Hat, Inc.
E
Eric Blake 已提交
4 5 6 7 8 9 10 11 12 13 14 15 16 17
##
## This library is free software; you can redistribute it and/or
## modify it under the terms of the GNU Lesser General Public
## License as published by the Free Software Foundation; either
## version 2.1 of the License, or (at your option) any later version.
##
## This library is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
## Lesser General Public License for more details.
##
## You should have received a copy of the GNU Lesser General Public
## License along with this library.  If not, see
## <http://www.gnu.org/licenses/>.
18

19 20
# No libraries with the exception of LIBXML should be listed
# here. List them against the individual XXX_la_CFLAGS targets
21
# that actually use them. Also keep GETTEXT_CPPFLAGS at the end.
22 23
INCLUDES =	-I../gnulib/lib					\
		-I$(top_srcdir)/gnulib/lib			\
24
		-I$(top_srcdir)					\
25
		-I../include					\
26 27
		-I$(top_srcdir)/include				\
		-I$(top_srcdir)/src/util			\
28 29
		-DIN_LIBVIRT					\
		$(GETTEXT_CPPFLAGS)
E
Eric Blake 已提交
30

31
AM_CFLAGS =	$(LIBXML_CFLAGS)				\
32
		$(WARN_CFLAGS)					\
E
Eric Blake 已提交
33 34 35
		$(LOCK_CHECKING_CFLAGS)				\
		$(WIN32_EXTRA_CFLAGS)				\
		$(COVERAGE_CFLAGS)
36
AM_LDFLAGS =	$(DRIVER_MODULE_LDFLAGS)			\
G
Guido Günther 已提交
37 38
		$(COVERAGE_LDFLAGS)				\
		$(RELRO_LDFLAGS)				\
39
		$(NO_INDIRECT_LDFLAGS)				\
G
Guido Günther 已提交
40
		$(NULL)
41

L
Lai Jiangshan 已提交
42
EXTRA_DIST = $(conf_DATA) util/keymaps.csv
43

44
BUILT_SOURCES =
45 46 47
CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES =
48
nodist_conf_DATA =
49

E
Eric Blake 已提交
50 51
THREAD_LIBS = $(LIB_PTHREAD) $(LTLIBMULTITHREAD)

J
Jim Fehlig 已提交
52
SECDRIVER_CFLAGS =
53 54
SECDRIVER_LIBS =
if WITH_SECDRIVER_SELINUX
J
Jim Fehlig 已提交
55
SECDRIVER_CFLAGS += $(SELINUX_CFLAGS)
56
SECDRIVER_LIBS += $(SELINUX_LIBS)
57
endif WITH_SECDRIVER_SELINUX
58
if WITH_SECDRIVER_APPARMOR
J
Jim Fehlig 已提交
59
SECDRIVER_CFLAGS += $(APPARMOR_CFLAGS)
60
SECDRIVER_LIBS += $(APPARMOR_LIBS)
61
endif WITH_SECDRIVER_APPARMOR
62

63 64
if WITH_NETWORK
UUID=$(shell uuidgen 2>/dev/null)
65
endif WITH_NETWORK
66

67
lib_LTLIBRARIES = libvirt.la libvirt-qemu.la libvirt-lxc.la
68

69
moddir = $(libdir)/libvirt/connection-driver
70 71
mod_LTLIBRARIES =

A
Amy Griffis 已提交
72
confdir = $(sysconfdir)/libvirt
73
conf_DATA = libvirt.conf
74

75 76 77 78 79 80
augeasdir = $(datadir)/augeas/lenses
augeas_DATA =

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

81 82
# These files are not related to driver APIs. Simply generic
# helper APIs for various purposes
83
UTIL_SOURCES =							\
84
		util/viralloc.c util/viralloc.h			\
85
		util/virarch.h util/virarch.c			\
86
		util/viratomic.h util/viratomic.c		\
87
		util/viraudit.c util/viraudit.h			\
88
		util/virauth.c util/virauth.h			\
89
		util/virauthconfig.c util/virauthconfig.h	\
90
		util/virbitmap.c util/virbitmap.h		\
91
		util/virbuffer.c util/virbuffer.h		\
92
		util/vircgroup.c util/vircgroup.h util/vircgrouppriv.h	\
93
		util/virclosecallbacks.c util/virclosecallbacks.h		\
94
		util/vircommand.c util/vircommand.h		\
95
		util/virconf.c util/virconf.h			\
L
Laine Stump 已提交
96
		util/virdbus.c util/virdbus.h util/virdbuspriv.h	\
97
		util/virdnsmasq.c util/virdnsmasq.h		\
98
		util/virebtables.c util/virebtables.h		\
E
Eric Blake 已提交
99
		util/virendian.h				\
100
		util/virerror.c util/virerror.h			\
101
		util/virevent.c util/virevent.h			\
102
		util/vireventpoll.c util/vireventpoll.h		\
E
Eric Blake 已提交
103
		util/virfile.c util/virfile.h			\
104 105
		util/virhash.c util/virhash.h			\
		util/virhashcode.c util/virhashcode.h		\
106
		util/virhook.c util/virhook.h			\
107
		util/viridentity.c util/viridentity.h		\
108
		util/virinitctl.c util/virinitctl.h		\
109
		util/viriptables.c util/viriptables.h		\
110
		util/virjson.c util/virjson.h			\
L
Lai Jiangshan 已提交
111
		util/virkeycode.c util/virkeycode.h		\
112
		util/virkeyfile.c util/virkeyfile.h		\
113
		util/virkeymaps.h				\
114
		util/virlockspace.c util/virlockspace.h		\
115
		util/virlog.c util/virlog.h			\
116
		util/virmacaddr.h util/virmacaddr.c		\
117
		util/virnetdev.h util/virnetdev.c		\
118
		util/virnetdevbandwidth.h util/virnetdevbandwidth.c \
119
		util/virnetdevbridge.h util/virnetdevbridge.c	\
120
		util/virnetdevmacvlan.c util/virnetdevmacvlan.h	\
A
Ansis Atteka 已提交
121
		util/virnetdevopenvswitch.h util/virnetdevopenvswitch.c \
122
		util/virnetdevtap.h util/virnetdevtap.c		\
123 124
		util/virnetdevveth.h util/virnetdevveth.c	\
		util/virnetdevvlan.h util/virnetdevvlan.c	\
125
		util/virnetdevvportprofile.h util/virnetdevvportprofile.c \
126
		util/virnetlink.c util/virnetlink.h		\
127
		util/virnodesuspend.c util/virnodesuspend.h	\
128
		util/virnuma.c util/virnuma.h			\
129 130 131
		util/virobject.c util/virobject.h		\
		util/virpci.c util/virpci.h			\
		util/virpidfile.c util/virpidfile.h		\
D
Daniel P. Berrange 已提交
132
		util/virportallocator.c util/virportallocator.h \
133
		util/virprocess.c util/virprocess.h		\
134
		util/virrandom.h util/virrandom.c		\
135
		util/virscsi.c util/virscsi.h			\
136 137 138 139 140 141
		util/virsexpr.c util/virsexpr.h			\
		util/virsocketaddr.h util/virsocketaddr.c	\
		util/virstatslinux.c util/virstatslinux.h	\
		util/virstoragefile.c util/virstoragefile.h	\
		util/virstring.h util/virstring.c		\
		util/virsysinfo.c util/virsysinfo.h		\
142
		util/virsystemd.c util/virsystemd.h		\
143 144 145 146 147
		util/virthread.c util/virthread.h		\
		util/virthreadpthread.h				\
		util/virthreadwin32.h				\
		util/virthreadpool.c util/virthreadpool.h	\
		util/virtime.h util/virtime.c			\
148
		util/virtpm.h util/virtpm.c			\
149
		util/virtypedparam.c util/virtypedparam.h	\
150
		util/virusb.c util/virusb.h			\
151 152
		util/viruri.h util/viruri.c			\
		util/virutil.c util/virutil.h			\
153
		util/viruuid.c util/viruuid.h			\
154
		util/virxml.c util/virxml.h			\
155
		$(NULL)
L
Lai Jiangshan 已提交
156

157

L
Lai Jiangshan 已提交
158 159 160
EXTRA_DIST += $(srcdir)/util/virkeymaps.h $(srcdir)/util/keymaps.csv \
		$(srcdir)/util/virkeycode-mapgen.py

E
Eric Blake 已提交
161
BUILT_SOURCES += util/virkeymaps.h
162

E
Eric Blake 已提交
163
util/virkeymaps.h: $(srcdir)/util/keymaps.csv	\
L
Lai Jiangshan 已提交
164
		$(srcdir)/util/virkeycode-mapgen.py
165
	$(AM_V_GEN)$(PYTHON) $(srcdir)/util/virkeycode-mapgen.py \
E
Eric Blake 已提交
166
	  <$(srcdir)/util/keymaps.csv >$(srcdir)/util/virkeymaps.h
L
Lai Jiangshan 已提交
167

168
EXTRA_DIST += util/virthreadpthread.c util/virthreadwin32.c
169

170
# Internal generic driver infrastructure
171
NODE_INFO_SOURCES = nodeinfo.h nodeinfo.c
O
Osier Yang 已提交
172 173 174 175 176 177 178 179 180 181 182
DATATYPES_SOURCES = datatypes.h datatypes.c
DRIVER_SOURCES =							\
		driver.c driver.h					\
		internal.h						\
		$(DATATYPES_SOURCES)					\
		fdstream.c fdstream.h					\
		$(NODE_INFO_SOURCES)					\
		libvirt.c libvirt_internal.h				\
		locking/lock_manager.c locking/lock_manager.h		\
		locking/lock_driver.h					\
		locking/lock_driver_nop.h locking/lock_driver_nop.c	\
183
		locking/domain_lock.h locking/domain_lock.c
184

185 186 187
LOCK_DRIVER_SANLOCK_SOURCES = \
		locking/lock_driver_sanlock.c

188 189
LOCK_DRIVER_SANLOCK_HELPER_SOURCES = \
		locking/sanlock_helper.c
190

191
LOCK_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
192 193
		locking/lock_protocol.h \
		locking/lock_protocol.c \
194 195
		$(NULL)

196 197 198
LOCK_PROTOCOL = $(srcdir)/locking/lock_protocol.x
EXTRA_DIST += $(LOCK_PROTOCOL) \
	$(LOCK_PROTOCOL_GENERATED)
199 200 201
BUILT_SOURCES += $(LOCK_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(LOCK_PROTOCOL_GENERATED)

202
LOCK_DAEMON_GENERATED = \
203
		locking/lock_daemon_dispatch_stubs.h
204 205 206
		$(NULL)

BUILT_SOURCES += $(LOCK_DAEMON_GENERATED)
207
EXTRA_DIST += $(LOCK_DAEMON_GENERATED)
208 209
MAINTAINERCLEANFILES += $(LOCK_DAEMON_GENERATED)

210 211 212 213
LOCK_DRIVER_LOCKD_SOURCES = \
		locking/lock_driver_lockd.c \
		$(NULL)

214 215 216 217 218
LOCK_DAEMON_SOURCES = \
		locking/lock_daemon.h \
		locking/lock_daemon.c \
		locking/lock_daemon_config.h \
		locking/lock_daemon_config.c \
219 220
		locking/lock_daemon_dispatch.c \
		locking/lock_daemon_dispatch.h \
221 222
		$(NULL)

E
Eric Blake 已提交
223
locking/lock_daemon_dispatch_stubs.h: $(LOCK_PROTOCOL) \
224
		$(srcdir)/rpc/gendispatch.pl Makefile.am
225 226
	$(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl --mode=server \
	    virLockSpaceProtocol VIR_LOCK_SPACE_PROTOCOL \
E
Eric Blake 已提交
227
	    $(LOCK_PROTOCOL) > $(srcdir)/locking/lock_daemon_dispatch_stubs.h
228 229


230 231
NETDEV_CONF_SOURCES =						\
		conf/netdev_bandwidth_conf.h conf/netdev_bandwidth_conf.c \
232 233
		conf/netdev_vport_profile_conf.h conf/netdev_vport_profile_conf.c \
		conf/netdev_vlan_conf.h conf/netdev_vlan_conf.c
234

235
# XML configuration format handling sources
236 237
# Domain driver generic impl APIs
DOMAIN_CONF_SOURCES =						\
238
		conf/capabilities.c conf/capabilities.h		\
239
		conf/domain_conf.c conf/domain_conf.h		\
240
		conf/domain_audit.c conf/domain_audit.h		\
241 242
		conf/domain_nwfilter.c conf/domain_nwfilter.h	\
		conf/snapshot_conf.c conf/snapshot_conf.h
243 244 245

DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
246 247

# Network driver generic impl APIs
248
NETWORK_CONF_SOURCES =						\
249
		conf/network_conf.c conf/network_conf.h
250

251 252
# Network filter driver generic impl APIs
NWFILTER_PARAM_CONF_SOURCES =					\
253
		conf/nwfilter_params.c conf/nwfilter_params.h	\
254 255
		conf/nwfilter_ipaddrmap.c			\
		conf/nwfilter_ipaddrmap.h			\
256
		conf/nwfilter_conf.h
257

258
NWFILTER_CONF_SOURCES =						\
259 260 261
		$(NWFILTER_PARAM_CONF_SOURCES)			\
		conf/nwfilter_conf.c conf/nwfilter_conf.h

262
# Storage driver generic impl APIs
263 264
STORAGE_CONF_SOURCES =                                         \
		conf/storage_conf.h conf/storage_conf.c
265

266
# Interface driver generic impl APIs
267 268
INTERFACE_CONF_SOURCES =                                       \
		conf/interface_conf.c conf/interface_conf.h
269

270
# Secret driver generic impl APIs
271 272 273 274 275 276 277 278 279 280
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

281 282
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h
283

284 285
# Safe character device handling helper APIs
CHRDEV_CONF_SOURCES =						\
286
		conf/virchrdev.c conf/virchrdev.h
287

288 289 290 291
# Device Helper APIs
DEVICE_CONF_SOURCES =                                           \
		conf/device_conf.c conf/device_conf.h

292
CONF_SOURCES =							\
293
		$(NETDEV_CONF_SOURCES)				\
294 295 296
		$(DOMAIN_CONF_SOURCES)				\
		$(DOMAIN_EVENT_SOURCES)				\
		$(NETWORK_CONF_SOURCES)				\
297
		$(NWFILTER_CONF_SOURCES)			\
298 299 300 301
		$(NODE_DEVICE_CONF_SOURCES)			\
		$(STORAGE_CONF_SOURCES)				\
		$(ENCRYPTION_CONF_SOURCES)			\
		$(INTERFACE_CONF_SOURCES)			\
302
		$(SECRET_CONF_SOURCES)				\
303
		$(CPU_CONF_SOURCES)				\
304
		$(CHRDEV_CONF_SOURCES)				\
305
		$(DEVICE_CONF_SOURCES)
306

307
# The remote RPC driver, covering domains, storage, networks, etc
308
REMOTE_DRIVER_GENERATED = \
E
Eric Blake 已提交
309 310 311 312 313 314 315 316 317 318
		remote/remote_protocol.c		\
		remote/remote_protocol.h		\
		remote/remote_client_bodies.h		\
		remote/lxc_protocol.c			\
		remote/lxc_protocol.h			\
		remote/lxc_client_bodies.h		\
		remote/qemu_protocol.c			\
		remote/qemu_protocol.h			\
		remote/qemu_client_bodies.h		\
		$(NULL)
E
Eric Blake 已提交
319 320

REMOTE_PROTOCOL = $(srcdir)/remote/remote_protocol.x
321
LXC_PROTOCOL = $(srcdir)/remote/lxc_protocol.x
E
Eric Blake 已提交
322
QEMU_PROTOCOL = $(srcdir)/remote/qemu_protocol.x
323
REMOTE_DRIVER_PROTOCOL = $(REMOTE_PROTOCOL) $(QEMU_PROTOCOL) $(LXC_PROTOCOL)
324

E
Eric Blake 已提交
325
remote/remote_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
326
		$(REMOTE_PROTOCOL) Makefile.am
327
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
328 329
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/remote/remote_client_bodies.h
330

E
Eric Blake 已提交
331
remote/lxc_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
332
		$(LXC_PROTOCOL) Makefile.am
333
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
334 335
	  lxc LXC $(LXC_PROTOCOL) \
	  > $(srcdir)/remote/lxc_client_bodies.h
336

E
Eric Blake 已提交
337
remote/qemu_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
338
		$(QEMU_PROTOCOL) Makefile.am
339
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
340 341
	  qemu QEMU $(QEMU_PROTOCOL) \
	  > $(srcdir)/remote/qemu_client_bodies.h
342 343 344 345 346

REMOTE_DRIVER_SOURCES =						\
		gnutls_1_0_compat.h				\
		remote/remote_driver.c remote/remote_driver.h	\
		$(REMOTE_DRIVER_GENERATED)
347

348
EXTRA_DIST +=  $(REMOTE_DRIVER_PROTOCOL) \
349
		$(REMOTE_DRIVER_GENERATED)
350

351 352 353 354 355 356 357 358 359 360
# 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
361 362 363 364

# With pdwtags 1.8, --verbose output includes separators like these:
# /* 93 */
# /* <0> (null):0 */
365 366
# with the second line omitted for intrinsic types.
# Whereas with pdwtags 1.3, they look like this:
367
# /* <2d2> /usr/include/libio.h:180 */
368 369
# The alternation of the following regexps matches both cases.
r1 = /\* \d+ \*/
370
r2 = /\* <[[:xdigit:]]+> \S+:\d+ \*/
E
Eric Blake 已提交
371
struct_prefix = (remote_|qemu_|lxc_|keepalive|vir(Net|LockSpace|LXCMonitor))
372

373
# Depending on configure options, libtool creates one or both of
E
Eric Blake 已提交
374 375
# remote/{,.libs/}libvirt_driver_remote_la-remote_protocol.o.  We want
# the newest of the two, in case configure options changed and a stale
376
# file is left around from an earlier build.
377
PDWTAGS = \
378
	$(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then		\
E
Eric Blake 已提交
379 380
	  o=`ls -t $(<:.lo=.$(OBJEXT))					\
	     $(subst /,/.libs/,$(<:.lo=.$(OBJEXT)))			\
381 382 383
	    2>/dev/null | sed -n 1p`;					\
	  test -f "$$o" || { echo ".o for $< not found" >&2; exit 1; };	\
	  pdwtags --verbose $$o > $(@F)-t1 2> $(@F)-t2;			\
E
Eric Blake 已提交
384
	  if test ! -s $(@F)-t1 && test -s $(@F)-t2; then		\
385 386 387
	    rm -rf $(@F)-t?;						\
	    echo 'WARNING: pdwtags appears broken; skipping the $@ test' >&2;\
	  else								\
388
	    $(PERL) -0777 -n						\
389
		-e 'foreach my $$p (split m!\n*(?:$(r1)|$(r2))\n!) {'	\
390 391
		-e '  if ($$p =~ /^(struct|enum) $(struct_prefix)/ ||'	\
		-e '      $$p =~ /^enum {/) {'				\
392 393 394
		-e '    $$p =~ s!\t*/\*.*?\*/!!sg;'			\
		-e '    $$p =~ s!\s+\n!\n!sg;'				\
		-e '    $$p =~ s!\s+$$!!;'				\
395
		-e '    $$p =~ s!\t!        !g;'			\
396 397 398 399
		-e '    print "$$p\n";'					\
		-e '    $$n++;'						\
		-e '  }'						\
		-e '}'							\
400 401 402
		-e 'BEGIN {'						\
		-e '  print "/* -*- c -*- */\n";'			\
		-e '}'							\
403
		-e 'END {'						\
404
		-e '  if ($$n < 1) {'					\
405 406 407 408 409 410
		-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 '}'							\
411 412
		< $(@F)-t1 > $(@F)-t3;					\
	    case $$? in 8) rm -f $(@F)-t?; exit 0;; 0) ;; *) exit 1;; esac;\
413
	    diff -u $(@)s $(@F)-t3; st=$$?; rm -f $(@F)-t?; exit $$st;	\
414
	  fi;								\
415
	else								\
416 417
	  echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2;	\
	  echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
418
	fi
419

420
# .libs/libvirt.so is built by libtool as a side-effect of the Makefile
421 422
# rule for libvirt.la.  However, checking symbols relies on Linux ELF layout
if WITH_LINUX
423 424 425
check-symfile: libvirt.syms libvirt.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \
	  .libs/libvirt.so
426
else ! WITH_LINUX
427
check-symfile:
428
endif ! WITH_LINUX
429
check-symsorting:
430
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl \
431
		$(srcdir) $(SYM_FILES)
J
Jiri Denemark 已提交
432
EXTRA_DIST += check-symfile.pl check-symsorting.pl
433

E
Eric Blake 已提交
434
# Keep this list synced with RPC_PROBE_FILES
435 436
PROTOCOL_STRUCTS = \
	$(srcdir)/remote_protocol-structs \
437
	$(srcdir)/lxc_protocol-structs \
438
	$(srcdir)/qemu_protocol-structs \
J
Jiri Denemark 已提交
439
	$(srcdir)/virnetprotocol-structs \
E
Eric Blake 已提交
440 441 442 443 444
	$(srcdir)/virkeepaliveprotocol-structs \
	$(srcdir)/lxc_monitor_protocol-structs \
	$(srcdir)/lock_protocol-structs \
	$(NULL)

445
if WITH_REMOTE
446 447
check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)

448 449
# The .o file that pdwtags parses is created as a side effect of running
# libtool; but from make's perspective we depend on the .lo file.
450 451 452
$(srcdir)/remote_protocol-struct \
	$(srcdir)/qemu_protocol-struct \
	$(srcdir)/lxc_protocol-struct: \
E
Eric Blake 已提交
453
		$(srcdir)/%-struct: remote/libvirt_driver_remote_la-%.lo
454
	$(PDWTAGS)
455
$(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \
E
Eric Blake 已提交
456
		$(srcdir)/%-struct: rpc/libvirt_net_rpc_la-%.lo
457
	$(PDWTAGS)
E
Eric Blake 已提交
458
$(srcdir)/lxc_monitor_protocol-struct: \
E
Eric Blake 已提交
459
		$(srcdir)/%-struct: lxc/libvirt_driver_lxc_impl_la-%.lo
E
Eric Blake 已提交
460 461
	$(PDWTAGS)
$(srcdir)/lock_protocol-struct: \
E
Eric Blake 已提交
462
		$(srcdir)/%-struct: locking/lockd_la-%.lo
E
Eric Blake 已提交
463 464
	$(PDWTAGS)

465
else !WITH_REMOTE
466 467 468
# The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be
# re-generated when configured --without-remote.
check-protocol:
469
endif !WITH_REMOTE
J
Jiri Denemark 已提交
470
EXTRA_DIST += $(PROTOCOL_STRUCTS)
471 472 473 474 475 476 477 478 479 480

check-drivername:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-drivername.pl \
		$(srcdir)/driver.h \
		$(srcdir)/libvirt_public.syms \
		$(srcdir)/libvirt_qemu.syms \
		$(srcdir)/libvirt_lxc.syms

EXTRA_DIST += check-drivername.pl

481
DRIVER_SOURCE_FILES = \
482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501
	$(ESX_DRIVER_SOURCES) \
	$(HYPERV_DRIVER_SORUCES) \
	$(INTERFACE_DRIVER_SOURCES) \
	$(LIBXL_DRIVER_SOURCES) \
	$(LXC_DRIVER_SOURCES) \
	$(NETWORK_DRIVER_SOURCES) \
	$(NODE_DEVICE_DRIVER_SOURCES) \
	$(NODE_DEVICE_DRIVER_HAL_SOURCES) \
	$(NODE_DEVICE_DRIVER_UDEV_SOURCES) \
	$(NWFILTER_DRIVER_SOURCES) \
	$(OPENVZ_DRIVER_SOURCES) \
	$(PARALLELS_DRIVER_SOURCES) \
	$(PHYP_DRIVER_SOURCES) \
	$(QEMU_DRIVER_SOURCES) \
	$(REMOTE_DRIVER_SOURCES) \
	$(SECRET_DRIVER_SOURCES) \
	$(STORAGE_DRIVER_SOURCES) \
	$(TEST_DRIVER_SOURCES) \
	$(UML_DRIVER_SOURCES) \
	$(VBOX_DRIVER_SOURCES) \
502
	vbox/vbox_tmpl.c \
503 504 505
	$(VMWARE_DRIVER_SOURCES) \
	$(XEN_DRIVER_SOURCES) \
	$(XENAPI_DRIVER_SOURCES) \
506 507
	$(NULL)

508 509 510 511 512 513 514 515 516 517 518 519 520 521
STATEFUL_DRIVER_SOURCE_FILES = \
	$(INTERFACE_DRIVER_SOURCES) \
	$(LIBXL_DRIVER_SOURCES) \
	$(LXC_DRIVER_SOURCES) \
	$(NETWORK_DRIVER_SOURCES) \
	$(NODE_DEVICE_DRIVER_SOURCES) \
	$(NWFILTER_DRIVER_SOURCES) \
	$(QEMU_DRIVER_SOURCES) \
	$(SECRET_DRIVER_SOURCES) \
	$(STORAGE_DRIVER_SOURCES) \
	$(UML_DRIVER_SOURCES) \
	$(XEN_DRIVER_SOURCES) \
	$(NULL)

522 523 524

check-driverimpls:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-driverimpls.pl \
525
		$(filter /%,$(DRIVER_SOURCE_FILES)) \
E
Eric Blake 已提交
526 527 528
		$(filter $(srcdir)/%,$(DRIVER_SOURCE_FILES)) \
		$(addprefix $(srcdir)/,$(filter-out $(srcdir)/%, \
			$(filter-out /%,$(DRIVER_SOURCE_FILES))))
529

530 531
check-aclrules:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclrules.pl \
E
Eric Blake 已提交
532
		$(REMOTE_PROTOCOL) \
533
		$(addprefix $(srcdir)/,$(filter-out /%,$(STATEFUL_DRIVER_SOURCE_FILES)))
534

535 536 537 538 539
check-aclperms:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclperms.pl \
		$(srcdir)/access/viraccessperm.h \
		$(srcdir)/access/viraccessperm.c

G
Guido Günther 已提交
540
EXTRA_DIST += check-driverimpls.pl check-aclrules.pl check-aclperms.pl
541

542
check-local: check-protocol check-symfile check-symsorting \
543 544
	check-drivername check-driverimpls check-aclrules \
	check-aclperms
545
.PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
546

547 548
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES =						\
549
		test/test_driver.c test/test_driver.h
550 551 552

# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
553 554 555 556 557 558
		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
559
if WITH_XEN_INOTIFY
560
XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
561
endif WITH_XEN_INOTIFY
562

563
LXC_MONITOR_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
564 565
	lxc/lxc_monitor_protocol.h \
	lxc/lxc_monitor_protocol.c \
566 567 568
	$(NULL)

LXC_MONITOR_GENERATED = \
E
Eric Blake 已提交
569
	lxc/lxc_monitor_dispatch.h \
570 571 572
	$(NULL)

LXC_CONTROLLER_GENERATED = \
E
Eric Blake 已提交
573
	lxc/lxc_controller_dispatch.h \
574 575 576
	$(NULL)

LXC_GENERATED = \
577
	$(LXC_MONITOR_PROTOCOL_GENERATED) \
578 579 580 581
	$(LXC_MONITOR_GENERATED) \
	$(LXC_CONTROLLER_GENERATED) \
	$(NULL)

582
LXC_MONITOR_PROTOCOL = $(srcdir)/lxc/lxc_monitor_protocol.x
583

E
Eric Blake 已提交
584
lxc/lxc_monitor_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
585
		$(LXC_MONITOR_PROTOCOL) Makefile.am
586
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
587 588
	  virLXCMonitor VIR_LXC_MONITOR $(LXC_MONITOR_PROTOCOL) > \
	  $(srcdir)/lxc/lxc_monitor_dispatch.h
589

E
Eric Blake 已提交
590
lxc/lxc_controller_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
591
		$(REMOTE_PROTOCOL) Makefile.am
592
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=server \
E
Eric Blake 已提交
593 594
	  virLXCMonitor VIR_LXC_MONITOR $(LXC_MONITOR_PROTOCOL) > \
	  $(srcdir)/lxc/lxc_controller_dispatch.h
595 596

EXTRA_DIST += \
597
	$(LXC_MONITOR_PROTOCOL) \
598 599 600 601 602
	$(LXC_GENERATED) \
	$(NULL)

BUILT_SOURCES += $(LXC_GENERATED)

603 604
CLEANFILES += $(LXC_GENERATED)

605
LXC_DRIVER_SOURCES =						\
606
		$(LXC_MONITOR_PROTOCOL_GENERATED)		\
607
		$(LXC_MONITOR_GENERATED)			\
608 609
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
610
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
611
		lxc/lxc_domain.c lxc/lxc_domain.h		\
612
		lxc/lxc_hostdev.c lxc/lxc_hostdev.h		\
613
		lxc/lxc_monitor.c lxc/lxc_monitor.h		\
614
		lxc/lxc_process.c lxc/lxc_process.h		\
G
Gao feng 已提交
615
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
616
		lxc/lxc_driver.c lxc/lxc_driver.h
617

618
LXC_CONTROLLER_SOURCES =					\
619
		$(LXC_MONITOR_PROTOCOL_GENERATED)		\
620
		$(LXC_CONTROLLER_GENERATED)			\
621 622
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
623
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
624
		lxc/lxc_domain.c lxc/lxc_domain.h		\
G
Gao feng 已提交
625
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
626
		lxc/lxc_controller.c
627

J
Jamie Strandboge 已提交
628
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES =			\
E
Eric Blake 已提交
629
		$(DATATYPES_SOURCES)				\
J
Jamie Strandboge 已提交
630 631
		security/virt-aa-helper.c

632 633 634
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

635
OPENVZ_DRIVER_SOURCES =						\
636
		openvz/openvz_conf.c openvz/openvz_conf.h	\
637 638
		openvz/openvz_driver.c openvz/openvz_driver.h   \
		openvz/openvz_util.c openvz/openvz_util.h
639

E
Eric Blake 已提交
640
VMWARE_DRIVER_SOURCES =						\
641
		vmware/vmware_driver.c vmware/vmware_driver.h	\
642 643
		vmware/vmware_conf.c vmware/vmware_conf.h

644
VBOX_DRIVER_SOURCES =						\
E
Eric Blake 已提交
645 646 647 648 649 650
	vbox/vbox_glue.c vbox/vbox_glue.h			\
	vbox/vbox_driver.c vbox/vbox_driver.h			\
	vbox/vbox_V2_2.c vbox/vbox_CAPI_v2_2.h			\
	vbox/vbox_V3_0.c vbox/vbox_CAPI_v3_0.h			\
	vbox/vbox_V3_1.c vbox/vbox_CAPI_v3_1.h			\
	vbox/vbox_V3_2.c vbox/vbox_CAPI_v3_2.h			\
651
	vbox/vbox_V4_0.c vbox/vbox_CAPI_v4_0.h			\
652 653
	vbox/vbox_V4_1.c vbox/vbox_CAPI_v4_1.h			\
	vbox/vbox_V4_2.c vbox/vbox_CAPI_v4_2.h
654

E
Eric Blake 已提交
655
VBOX_DRIVER_EXTRA_DIST =					\
656 657 658
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
659

O
Osier Yang 已提交
660 661 662 663 664 665 666 667
QEMU_DRIVER_SOURCES =							\
		qemu/qemu_agent.c qemu/qemu_agent.h			\
		qemu/qemu_capabilities.c qemu/qemu_capabilities.h	\
		qemu/qemu_command.c qemu/qemu_command.h			\
		qemu/qemu_domain.c qemu/qemu_domain.h			\
		qemu/qemu_cgroup.c qemu/qemu_cgroup.h			\
		qemu/qemu_hostdev.c qemu/qemu_hostdev.h			\
		qemu/qemu_hotplug.c qemu/qemu_hotplug.h			\
668
		qemu/qemu_hotplugpriv.h					\
O
Osier Yang 已提交
669 670
		qemu/qemu_conf.c qemu/qemu_conf.h			\
		qemu/qemu_process.c qemu/qemu_process.h			\
671
		qemu/qemu_processpriv.h					\
O
Osier Yang 已提交
672 673 674 675 676 677 678 679
		qemu/qemu_migration.c qemu/qemu_migration.h		\
		qemu/qemu_monitor.c qemu/qemu_monitor.h			\
		qemu/qemu_monitor_text.c				\
		qemu/qemu_monitor_text.h				\
		qemu/qemu_monitor_json.c				\
		qemu/qemu_monitor_json.h				\
		qemu/qemu_driver.c qemu/qemu_driver.h			\
		qemu/qemu_bridge_filter.c				\
680
		qemu/qemu_bridge_filter.h
R
Richard W.M. Jones 已提交
681

O
Osier Yang 已提交
682
XENAPI_DRIVER_SOURCES =						\
683
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
O
Osier Yang 已提交
684
		xenapi/xenapi_driver_private.h			\
685 686
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

J
Jim Fehlig 已提交
687 688
LIBXL_DRIVER_SOURCES =						\
		libxl/libxl_conf.c libxl/libxl_conf.h		\
J
Jim Fehlig 已提交
689
		libxl/libxl_domain.c libxl/libxl_domain.h       \
J
Jim Fehlig 已提交
690 691
		libxl/libxl_driver.c libxl/libxl_driver.h

692
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
693 694
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
695

O
Osier Yang 已提交
696 697 698 699 700 701
ESX_DRIVER_SOURCES =							\
		esx/esx_private.h					\
		esx/esx_driver.c esx/esx_driver.h			\
		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	\
702
		esx/esx_storage_backend_vmfs.c esx/esx_storage_backend_vmfs.h	\
703
		esx/esx_storage_backend_iscsi.c esx/esx_storage_backend_iscsi.h	\
O
Osier Yang 已提交
704
		esx/esx_device_monitor.c esx/esx_device_monitor.h	\
705
		esx/esx_secret_driver.c esx/esx_secret_driver.h		\
O
Osier Yang 已提交
706 707 708 709
		esx/esx_nwfilter_driver.c esx/esx_nwfilter_driver.h	\
		esx/esx_util.c esx/esx_util.h				\
		esx/esx_vi.c esx/esx_vi.h				\
		esx/esx_vi_methods.c esx/esx_vi_methods.h		\
710
		esx/esx_vi_types.c esx/esx_vi_types.h
711

712
ESX_DRIVER_GENERATED =							\
713 714
		esx/esx_vi_methods.generated.c				\
		esx/esx_vi_methods.generated.h				\
715
		esx/esx_vi_methods.generated.macro			\
716 717 718 719 720
		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			\
721 722 723
		esx/esx_vi_types.generated.typefromstring		\
		esx/esx_vi.generated.c					\
		esx/esx_vi.generated.h
724

O
Osier Yang 已提交
725
ESX_DRIVER_EXTRA_DIST =							\
726 727 728 729 730
		esx/README						\
		esx/esx_vi_generator.input				\
		esx/esx_vi_generator.py					\
		$(ESX_DRIVER_GENERATED)

O
Osier Yang 已提交
731
HYPERV_DRIVER_SOURCES =									\
M
Matthias Bolte 已提交
732 733 734 735 736 737 738
		hyperv/hyperv_private.h							\
		hyperv/hyperv_driver.c hyperv/hyperv_driver.h				\
		hyperv/hyperv_interface_driver.c hyperv/hyperv_interface_driver.h	\
		hyperv/hyperv_network_driver.c hyperv/hyperv_network_driver.h		\
		hyperv/hyperv_storage_driver.c hyperv/hyperv_storage_driver.h		\
		hyperv/hyperv_device_monitor.c hyperv/hyperv_device_monitor.h		\
		hyperv/hyperv_secret_driver.c hyperv/hyperv_secret_driver.h		\
739
		hyperv/hyperv_nwfilter_driver.c hyperv/hyperv_nwfilter_driver.h		\
740
		hyperv/hyperv_util.c hyperv/hyperv_util.h				\
741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756
		hyperv/hyperv_wmi.c hyperv/hyperv_wmi.h					\
		hyperv/hyperv_wmi_classes.c hyperv/hyperv_wmi_classes.h			\
		hyperv/openwsman.h

HYPERV_DRIVER_GENERATED =							\
		hyperv/hyperv_wmi.generated.c					\
		hyperv/hyperv_wmi.generated.h					\
		hyperv/hyperv_wmi_classes.generated.c				\
		hyperv/hyperv_wmi_classes.generated.h				\
		hyperv/hyperv_wmi_classes.generated.typedef

HYPERV_DRIVER_EXTRA_DIST =							\
		hyperv/hyperv_wmi_generator.input				\
		hyperv/hyperv_wmi_generator.py					\
		$(HYPERV_DRIVER_GENERATED)

D
Dmitry Guryanov 已提交
757 758
PARALLELS_DRIVER_SOURCES =					\
		parallels/parallels_driver.h			\
759
		parallels/parallels_driver.c			\
760 761
		parallels/parallels_utils.c			\
		parallels/parallels_utils.h			\
D
Dmitry Guryanov 已提交
762 763
		parallels/parallels_storage.c		\
		parallels/parallels_network.c
D
Dmitry Guryanov 已提交
764

765
NETWORK_DRIVER_SOURCES =					\
766 767 768 769 770
		network/bridge_driver.h network/bridge_driver.c \
		network/bridge_driver_platform.h 		\
		network/bridge_driver_platform.c		\
		$(NULL)
EXTRA_DIST += network/bridge_driver_linux.c network/bridge_driver_nop.c
771

772 773 774 775
INTERFACE_DRIVER_SOURCES =

if WITH_INTERFACE
INTERFACE_DRIVER_SOURCES +=					\
776 777
		interface/interface_driver.h        \
		interface/interface_driver.c
778 779 780 781

if WITH_NETCF
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_netcf.c
782
endif WITH_NETCF
783
if WITH_UDEV
784 785
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_udev.c
786 787
endif WITH_UDEV
endif WITH_INTERFACE
788

789
SECRET_DRIVER_SOURCES =						\
790
		secret/secret_driver.h secret/secret_driver.c
791

792
# Storage backend specific impls
O
Osier Yang 已提交
793 794
STORAGE_DRIVER_SOURCES =						\
		storage/storage_driver.h storage/storage_driver.c	\
795
		storage/storage_backend.h storage/storage_backend.c
796 797

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

800
STORAGE_DRIVER_LVM_SOURCES =					\
O
Osier Yang 已提交
801
		storage/storage_backend_logical.h		\
802
		storage/storage_backend_logical.c
803 804

STORAGE_DRIVER_ISCSI_SOURCES =					\
805
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
806

807
STORAGE_DRIVER_SCSI_SOURCES =					\
808
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
809

D
Dave Allan 已提交
810
STORAGE_DRIVER_MPATH_SOURCES =					\
811
		storage/storage_backend_mpath.h storage/storage_backend_mpath.c
D
Dave Allan 已提交
812

813
STORAGE_DRIVER_DISK_SOURCES =					\
814
		storage/storage_backend_disk.h storage/storage_backend_disk.c
815

816 817 818
STORAGE_DRIVER_RBD_SOURCES =					\
		storage/storage_backend_rbd.h storage/storage_backend_rbd.c

819 820 821
STORAGE_DRIVER_SHEEPDOG_SOURCES =				\
		storage/storage_backend_sheepdog.h storage/storage_backend_sheepdog.c

822
STORAGE_HELPER_DISK_SOURCES =					\
823
		storage/parthelper.c
824

825 826 827
UTIL_IO_HELPER_SOURCES =					\
		util/iohelper.c

828
# Network filters
O
Osier Yang 已提交
829
NWFILTER_DRIVER_SOURCES =						\
830
		nwfilter/nwfilter_driver.h nwfilter/nwfilter_driver.c	\
831 832
		nwfilter/nwfilter_gentech_driver.c			\
		nwfilter/nwfilter_gentech_driver.h			\
S
Stefan Berger 已提交
833 834
		nwfilter/nwfilter_dhcpsnoop.c				\
		nwfilter/nwfilter_dhcpsnoop.h				\
835
		nwfilter/nwfilter_ebiptables_driver.c			\
836 837 838
		nwfilter/nwfilter_ebiptables_driver.h			\
		nwfilter/nwfilter_learnipaddr.c				\
		nwfilter/nwfilter_learnipaddr.h
839

840

841
# Security framework and drivers for various models
O
Osier Yang 已提交
842 843 844 845 846
SECURITY_DRIVER_SOURCES =						\
		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		\
847
		security/security_manager.h security/security_manager.c
848

849
SECURITY_DRIVER_SELINUX_SOURCES =				\
850
		security/security_selinux.h security/security_selinux.c
851

J
Jamie Strandboge 已提交
852 853 854
SECURITY_DRIVER_APPARMOR_SOURCES =				\
		security/security_apparmor.h security/security_apparmor.c

855
ACCESS_DRIVER_GENERATED = \
E
Eric Blake 已提交
856 857 858 859 860 861 862
		access/viraccessapicheck.h \
		access/viraccessapicheck.c \
		access/viraccessapicheckqemu.h \
		access/viraccessapicheckqemu.c \
		access/viraccessapichecklxc.h \
		access/viraccessapichecklxc.c \
		$(NULL)
863

864
ACCESS_DRIVER_SYM_FILES = \
865 866 867
		libvirt_access.syms \
		libvirt_access_qemu.syms \
		libvirt_access_lxc.syms
868

869 870 871 872 873
ACCESS_DRIVER_API_FILES = \
		libvirt_access.xml \
		libvirt_access_qemu.xml \
		libvirt_access_lxc.xml

874 875 876 877 878 879 880
ACCESS_DRIVER_SOURCES = \
		access/viraccessperm.h access/viraccessperm.c \
		access/viraccessmanager.h access/viraccessmanager.c \
		access/viraccessdriver.h \
		access/viraccessdrivernop.h access/viraccessdrivernop.c \
		access/viraccessdriverstack.h access/viraccessdriverstack.c

881 882 883 884
ACCESS_DRIVER_POLKIT_SOURCES = \
		access/viraccessdriverpolkit.h access/viraccessdriverpolkit.c

ACCESS_DRIVER_POLKIT_POLICY = \
885
		$(srcdir)/access/org.libvirt.api.policy
886 887


888
NODE_DEVICE_DRIVER_SOURCES =					\
O
Osier Yang 已提交
889 890
		node_device/node_device_driver.c		\
		node_device/node_device_driver.h		\
891
		node_device/node_device_linux_sysfs.c
892 893

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
894
		node_device/node_device_hal.c			\
895
		node_device/node_device_hal.h
896

897
NODE_DEVICE_DRIVER_UDEV_SOURCES =				\
D
Daniel Veillard 已提交
898 899
		node_device/node_device_udev.c			\
		node_device/node_device_udev.h
900

J
Jiri Denemark 已提交
901 902 903 904
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	\
T
Thang Pham 已提交
905
		cpu/cpu_s390.h cpu/cpu_s390.c			\
C
Chuck Short 已提交
906
		cpu/cpu_arm.h cpu/cpu_arm.c			\
907
		cpu/cpu_aarch64.h cpu/cpu_aarch64.c		\
P
Prerna Saxena 已提交
908
		cpu/cpu_map.h cpu/cpu_map.c cpu/cpu_powerpc.h	\
909
		cpu/cpu_powerpc.c cpu/cpu_ppc_data.h
910

911 912 913
VMX_SOURCES =							\
		vmx/vmx.c vmx/vmx.h

914 915
XENXS_SOURCES =							\
		xenxs/xenxs_private.h				\
916 917
		xenxs/xen_sxpr.c xenxs/xen_sxpr.h		\
		xenxs/xen_xm.c xenxs/xen_xm.h
918

J
Jiri Denemark 已提交
919 920
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
921
EXTRA_DIST +=	$(pkgdata_DATA)
922

923 924 925 926 927 928
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

929
noinst_LTLIBRARIES = libvirt_util.la
930 931
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
libvirt_la_BUILT_LIBADD = libvirt_util.la
932 933
libvirt_util_la_SOURCES =					\
		$(UTIL_SOURCES)
934
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
935
		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS) \
936 937
		$(DBUS_CFLAGS) $(LDEXP_LIBM) $(NUMACTL_CFLAGS)	\
		-I$(top_srcdir)/src/conf
938
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
939
		$(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
940
		$(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS) \
941
		$(SECDRIVER_LIBS) $(NUMACTL_LIBS)
942

943 944

noinst_LTLIBRARIES += libvirt_conf.la
945
libvirt_la_BUILT_LIBADD += libvirt_conf.la
946
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
947 948
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
949

J
Jiri Denemark 已提交
950
noinst_LTLIBRARIES += libvirt_cpu.la
951
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
952
libvirt_cpu_la_CFLAGS = \
953
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
954 955
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

956 957 958 959
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
960
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
961
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
962
endif WITH_VMX
963

964
if WITH_XENXS
965 966 967
noinst_LTLIBRARIES += libvirt_xenxs.la
libvirt_la_BUILT_LIBADD += libvirt_xenxs.la
libvirt_xenxs_la_CFLAGS = \
968
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
969
libvirt_xenxs_la_SOURCES = $(XENXS_SOURCES)
970
endif WITH_XENXS
971

972

973
noinst_LTLIBRARIES += libvirt_driver.la
974
libvirt_la_BUILT_LIBADD += libvirt_driver.la
975
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
976

977
libvirt_driver_la_CFLAGS = \
978
		$(GNUTLS_CFLAGS) $(CURL_CFLAGS) \
979
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
980
libvirt_driver_la_LIBADD = \
981
		$(GNUTLS_LIBS) $(CURL_LIBS) $(DLOPEN_LIBS)
982

983 984
# All .syms files should be placed in exactly one of these three lists,
# depending on whether they are stored in git and/or used in the build.
985
SYM_FILES = $(USED_SYM_FILES)
986
USED_SYM_FILES = $(srcdir)/libvirt_private.syms
987 988 989 990
GENERATED_SYM_FILES = \
	$(ACCESS_DRIVER_SYM_FILES) \
	libvirt.syms libvirt.def libvirt_qemu.def libvirt_lxc.def \
	$(NULL)
991

992
if WITH_TEST
993
noinst_LTLIBRARIES += libvirt_driver_test.la
994
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
995
libvirt_driver_test_la_CFLAGS = \
996
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
997
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
998
endif WITH_TEST
999 1000

if WITH_REMOTE
1001
noinst_LTLIBRARIES += libvirt_driver_remote.la
1002
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
1003 1004
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
E
Eric Blake 已提交
1005
		$(XDR_CFLAGS)					\
1006 1007
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/rpc				\
1008 1009
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
1010 1011 1012 1013
libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) \
                libvirt-net-rpc-client.la \
                libvirt-net-rpc-server.la \
                libvirt-net-rpc.la
1014
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
1015

E
Eric Blake 已提交
1016
BUILT_SOURCES += $(REMOTE_DRIVER_GENERATED)
C
Chris Lalancette 已提交
1017

1018 1019
endif WITH_REMOTE

1020
%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
1021
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
1022
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
1023

1024
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
1025
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
1026
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
1027

1028
if WITH_XEN
E
Eric Blake 已提交
1029 1030 1031
noinst_LTLIBRARIES += libvirt_driver_xen_impl.la
libvirt_driver_xen_la_SOURCES =
libvirt_driver_xen_la_LIBADD = libvirt_driver_xen_impl.la
1032 1033
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
E
Eric Blake 已提交
1034
libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
1035
libvirt_driver_xen_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1036
else ! WITH_DRIVER_MODULES
1037
noinst_LTLIBRARIES += libvirt_driver_xen.la
1038 1039
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
1040
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1041 1042

libvirt_driver_xen_impl_la_CFLAGS =					\
1043
		$(XEN_CFLAGS)					\
1044
		-I$(top_srcdir)/src/access			\
1045 1046
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/xenxs			\
1047
		$(AM_CFLAGS)
E
Eric Blake 已提交
1048 1049 1050
libvirt_driver_xen_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_xen_impl_la_LIBADD = $(XEN_LIBS)
libvirt_driver_xen_impl_la_SOURCES = $(XEN_DRIVER_SOURCES)
1051
endif WITH_XEN
1052

1053 1054
if WITH_PHYP
noinst_LTLIBRARIES += libvirt_driver_phyp.la
1055
libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
1056 1057
libvirt_driver_phyp_la_LIBADD = $(SSH2_LIBS)
libvirt_driver_phyp_la_CFLAGS = $(SSH2_CFLAGS) \
1058
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1059
libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
1060
endif WITH_PHYP
1061

1062
if WITH_OPENVZ
1063
noinst_LTLIBRARIES += libvirt_driver_openvz.la
1064
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
1065
libvirt_driver_openvz_la_CFLAGS = \
1066
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1067
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
1068
endif WITH_OPENVZ
1069

1070 1071 1072 1073
if WITH_VMWARE
noinst_LTLIBRARIES += libvirt_driver_vmware.la
libvirt_la_BUILT_LIBADD += libvirt_driver_vmware.la
libvirt_driver_vmware_la_CFLAGS = \
1074
		-I$(top_srcdir)/src/conf -I$(top_srcdir)/src/vmx $(AM_CFLAGS)
1075
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
1076
endif WITH_VMWARE
1077

1078
if WITH_VBOX
1079 1080 1081 1082 1083 1084
noinst_LTLIBRARIES += libvirt_driver_vbox_impl.la
libvirt_driver_vbox_la_SOURCES =
libvirt_driver_vbox_la_LIBADD = libvirt_driver_vbox_impl.la
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_vbox.la
libvirt_driver_vbox_la_LIBADD += ../gnulib/lib/libgnu.la
1085
libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1086
else ! WITH_DRIVER_MODULES
1087
noinst_LTLIBRARIES += libvirt_driver_vbox.la
1088 1089 1090
# GPLv2-only license requries that it be linked into
# libvirtd and *not* libvirt.so
#libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
1091
endif ! WITH_DRIVER_MODULES
1092 1093 1094 1095 1096 1097 1098

libvirt_driver_vbox_impl_la_CFLAGS =				\
		-I$(top_srcdir)/src/conf			\
		$(AM_CFLAGS)
libvirt_driver_vbox_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_vbox_impl_la_LIBADD =  $(DLOPEN_LIBS) $(MSCOM_LIBS)
libvirt_driver_vbox_impl_la_SOURCES = $(VBOX_DRIVER_SOURCES)
1099
endif WITH_VBOX
1100

1101 1102
if WITH_XENAPI
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
1103
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
1104
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(CURL_CFLAGS) \
1105
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1106
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
1107
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(CURL_LIBS)
1108
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
1109
endif WITH_XENAPI
1110

J
Jim Fehlig 已提交
1111
if WITH_LIBXL
E
Eric Blake 已提交
1112 1113 1114
noinst_LTLIBRARIES += libvirt_driver_libxl_impl.la
libvirt_driver_libxl_la_SOURCES =
libvirt_driver_libxl_la_LIBADD = libvirt_driver_libxl_impl.la
J
Jim Fehlig 已提交
1115 1116
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_libxl.la
E
Eric Blake 已提交
1117
libvirt_driver_libxl_la_LIBADD += ../gnulib/lib/libgnu.la
1118
libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1119
else ! WITH_DRIVER_MODULES
J
Jim Fehlig 已提交
1120 1121 1122
noinst_LTLIBRARIES += libvirt_driver_libxl.la
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_libxl.la
1123
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1124

1125 1126 1127 1128 1129
libvirt_driver_libxl_impl_la_CFLAGS = 		\
		$(LIBXL_CFLAGS)			\
		-I$(top_srcdir)/src/access	\
		-I$(top_srcdir)/src/conf	\
		-I$(top_srcdir)/src/xenxs	\
1130
		$(AM_CFLAGS)
E
Eric Blake 已提交
1131 1132 1133
libvirt_driver_libxl_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_libxl_impl_la_LIBADD = $(LIBXL_LIBS) libvirt_xenxs.la
libvirt_driver_libxl_impl_la_SOURCES = $(LIBXL_DRIVER_SOURCES)
1134
endif WITH_LIBXL
J
Jim Fehlig 已提交
1135

1136
if WITH_QEMU
E
Eric Blake 已提交
1137 1138 1139
noinst_LTLIBRARIES += libvirt_driver_qemu_impl.la
libvirt_driver_qemu_la_SOURCES =
libvirt_driver_qemu_la_LIBADD = libvirt_driver_qemu_impl.la
1140 1141
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
E
Eric Blake 已提交
1142
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
1143
libvirt_driver_qemu_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1144
else ! WITH_DRIVER_MODULES
1145
noinst_LTLIBRARIES += libvirt_driver_qemu.la
1146
# Stateful, so linked to daemon instead
1147
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
1148
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1149

1150 1151 1152 1153 1154 1155
libvirt_driver_qemu_impl_la_CFLAGS = \
		$(GNUTLS_CFLAGS) \
		$(LIBNL_CFLAGS) \
		-I$(top_srcdir)/src/access \
		-I$(top_srcdir)/src/conf \
		$(AM_CFLAGS)
E
Eric Blake 已提交
1156
libvirt_driver_qemu_impl_la_LDFLAGS = $(AM_LDFLAGS)
1157
libvirt_driver_qemu_impl_la_LIBADD = $(CAPNG_LIBS) \
1158
                                $(GNUTLS_LIBS) \
1159 1160 1161
				$(LIBNL_LIBS) \
				$(LIBXML_LIBS) \
				$(NULL)
E
Eric Blake 已提交
1162
libvirt_driver_qemu_impl_la_SOURCES = $(QEMU_DRIVER_SOURCES)
1163

A
Amy Griffis 已提交
1164
conf_DATA += qemu/qemu.conf
1165

1166
augeas_DATA += qemu/libvirtd_qemu.aug
1167 1168
augeastest_DATA += test_libvirtd_qemu.aug
CLEANFILES += test_libvirtd_qemu.aug
1169

1170
endif WITH_QEMU
1171
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
1172
		qemu/test_libvirtd_qemu.aug.in qemu/THREADS.txt
1173

1174 1175

if WITH_LXC
E
Eric Blake 已提交
1176 1177 1178
noinst_LTLIBRARIES += libvirt_driver_lxc_impl.la
libvirt_driver_lxc_la_SOURCES =
libvirt_driver_lxc_la_LIBADD = libvirt_driver_lxc_impl.la
1179 1180
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
E
Eric Blake 已提交
1181 1182
libvirt_driver_lxc_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1183
else ! WITH_DRIVER_MODULES
1184
noinst_LTLIBRARIES += libvirt_driver_lxc.la
1185
# Stateful, so linked to daemon instead
1186
#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
1187
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1188 1189

libvirt_driver_lxc_impl_la_CFLAGS = \
S
Serge Hallyn 已提交
1190
		$(LIBNL_CFLAGS) \
G
Gao feng 已提交
1191
		$(FUSE_CFLAGS) \
1192 1193 1194
		-I$(top_srcdir)/src/access \
		-I$(top_srcdir)/src/conf \
		$(AM_CFLAGS)
G
Gao feng 已提交
1195
libvirt_driver_lxc_impl_la_LIBADD = $(CAPNG_LIBS) $(LIBNL_LIBS) $(FUSE_LIBS)
1196
if WITH_BLKID
E
Eric Blake 已提交
1197 1198
libvirt_driver_lxc_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_lxc_impl_la_LIBADD += $(BLKID_LIBS)
1199
endif WITH_BLKID
1200
libvirt_driver_lxc_impl_la_LIBADD += $(SECDRIVER_LIBS)
E
Eric Blake 已提交
1201
libvirt_driver_lxc_impl_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
1202 1203 1204

conf_DATA += lxc/lxc.conf

1205
augeas_DATA += lxc/libvirtd_lxc.aug
1206 1207
augeastest_DATA += test_libvirtd_lxc.aug
CLEANFILES += test_libvirtd_lxc.aug
1208

1209
endif WITH_LXC
1210
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug.in
1211

1212
if WITH_UML
E
Eric Blake 已提交
1213 1214 1215
noinst_LTLIBRARIES += libvirt_driver_uml_impl.la
libvirt_driver_uml_la_SOURCES =
libvirt_driver_uml_la_LIBADD = libvirt_driver_uml_impl.la
1216 1217
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
E
Eric Blake 已提交
1218
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
1219
libvirt_driver_uml_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1220
else ! WITH_DRIVER_MODULES
1221 1222
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
1223
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
1224
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1225

1226
libvirt_driver_uml_impl_la_CFLAGS = \
1227 1228 1229
		-I$(top_srcdir)/src/access \
		-I$(top_srcdir)/src/conf \
		$(AM_CFLAGS)
E
Eric Blake 已提交
1230
libvirt_driver_uml_impl_la_LDFLAGS = $(AM_LDFLAGS)
1231
# libvirt_driver_uml_impl_la_LIBADD =
E
Eric Blake 已提交
1232
libvirt_driver_uml_impl_la_SOURCES = $(UML_DRIVER_SOURCES)
1233
endif WITH_UML
1234

D
Daniel Veillard 已提交
1235

1236
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
1237

1238 1239
ESX_GENERATED_STAMP = .esx_vi_generator.stamp

E
Eric Blake 已提交
1240 1241
EXTRA_DIST += $(ESX_GENERATED_STAMP)

1242 1243 1244
$(ESX_DRIVER_GENERATED): $(ESX_GENERATED_STAMP)

$(ESX_GENERATED_STAMP): $(srcdir)/esx/esx_vi_generator.input \
1245
                         $(srcdir)/esx/esx_vi_generator.py
1246 1247 1248 1249 1250
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/esx/esx_vi_generator.py \
	  && touch $@

MAINTAINERCLEANFILES += $(ESX_DRIVER_GENERATED) $(ESX_GENERATED_STAMP)

D
Daniel Veillard 已提交
1251

1252 1253
if WITH_ESX
noinst_LTLIBRARIES += libvirt_driver_esx.la
1254
libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
1255
libvirt_driver_esx_la_CFLAGS = $(CURL_CFLAGS) \
1256
		-I$(top_srcdir)/src/conf -I$(top_srcdir)/src/vmx $(AM_CFLAGS)
1257
libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
1258
libvirt_driver_esx_la_LIBADD = $(CURL_LIBS)
1259
libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
1260
libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
1261
endif WITH_ESX
1262

M
Matthias Bolte 已提交
1263

1264 1265
BUILT_SOURCES += $(HYPERV_DRIVER_GENERATED)

1266 1267
HYPERV_GENERATED_STAMP = .hyperv_wmi_generator.stamp

E
Eric Blake 已提交
1268 1269
EXTRA_DIST += $(HYPERV_GENERATED_STAMP)

1270 1271 1272
$(HYPERV_DRIVER_GENERATED): $(HYPERV_GENERATED_STAMP)

$(HYPERV_GENERATED_STAMP): $(srcdir)/hyperv/hyperv_wmi_generator.input \
1273
                            $(srcdir)/hyperv/hyperv_wmi_generator.py
1274 1275
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) \
	  $(srcdir)/hyperv/hyperv_wmi_generator.py \
1276 1277 1278
	  && touch $@

MAINTAINERCLEANFILES += $(HYPERV_DRIVER_GENERATED) $(HYPERV_GENERATED_STAMP)
1279

M
Matthias Bolte 已提交
1280 1281 1282 1283
if WITH_HYPERV
noinst_LTLIBRARIES += libvirt_driver_hyperv.la
libvirt_la_BUILT_LIBADD += libvirt_driver_hyperv.la
libvirt_driver_hyperv_la_CFLAGS = $(OPENWSMAN_CFLAGS) \
1284
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
1285 1286 1287
libvirt_driver_hyperv_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_hyperv_la_LIBADD = $(OPENWSMAN_LIBS)
libvirt_driver_hyperv_la_SOURCES = $(HYPERV_DRIVER_SOURCES)
1288
endif WITH_HYPERV
M
Matthias Bolte 已提交
1289

D
Dmitry Guryanov 已提交
1290 1291 1292 1293 1294 1295
if WITH_PARALLELS
noinst_LTLIBRARIES += libvirt_driver_parallels.la
libvirt_la_BUILT_LIBADD += libvirt_driver_parallels.la
libvirt_driver_parallels_la_CFLAGS = \
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
libvirt_driver_parallels_la_SOURCES = $(PARALLELS_DRIVER_SOURCES)
1296
endif WITH_PARALLELS
D
Dmitry Guryanov 已提交
1297

1298
if WITH_NETWORK
E
Eric Blake 已提交
1299 1300 1301
noinst_LTLIBRARIES += libvirt_driver_network_impl.la
libvirt_driver_network_la_SOURCES =
libvirt_driver_network_la_LIBADD = libvirt_driver_network_impl.la
1302 1303
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
1304 1305 1306 1307
libvirt_driver_network_la_LIBADD += ../gnulib/lib/libgnu.la \
	$(LIBNL_LIBS) \
	$(DBUS_LIBS) \
	$(NULL)
E
Eric Blake 已提交
1308
libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1309
else ! WITH_DRIVER_MODULES
1310
noinst_LTLIBRARIES += libvirt_driver_network.la
1311
# Stateful, so linked to daemon instead
1312
#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
1313
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1314 1315

libvirt_driver_network_impl_la_CFLAGS = \
1316 1317 1318 1319 1320
		$(LIBNL_CFLAGS) \
		$(DBUS_CFLAGS) \
		-I$(top_srcdir)/src/access \
		-I$(top_srcdir)/src/conf \
		$(AM_CFLAGS)
E
Eric Blake 已提交
1321
libvirt_driver_network_impl_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
1322
libvirt_driver_network_impl_la_LIBADD  = $(DBUS_LIBS)
1323
endif WITH_NETWORK
1324 1325 1326
EXTRA_DIST += network/default.xml


1327
if WITH_INTERFACE
1328 1329
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_interface.la
1330
else ! WITH_DRIVER_MODULES
1331
noinst_LTLIBRARIES += libvirt_driver_interface.la
1332 1333
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la
1334
endif ! WITH_DRIVER_MODULES
1335 1336 1337 1338
libvirt_driver_interface_la_CFLAGS = \
		-I$(top_srcdir)/src/access \
		-I$(top_srcdir)/src/conf \
		$(AM_CFLAGS)
1339
libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS)
1340 1341 1342 1343
libvirt_driver_interface_la_LIBADD =
if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
1344
else ! WITH_NETCF
1345
if WITH_UDEV
1346 1347
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
1348 1349
endif WITH_UDEV
endif ! WITH_NETCF
1350
if WITH_DRIVER_MODULES
1351
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
1352
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
1353
endif WITH_DRIVER_MODULES
1354
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
1355
endif WITH_INTERFACE
D
Daniel Veillard 已提交
1356

D
Daniel P. Berrange 已提交
1357
if WITH_SECRETS
1358 1359
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_secret.la
1360
else ! WITH_DRIVER_MODULES
1361
noinst_LTLIBRARIES += libvirt_driver_secret.la
1362
# Stateful, so linked to daemon instead
1363
#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
1364
endif ! WITH_DRIVER_MODULES
1365
libvirt_driver_secret_la_CFLAGS = \
1366 1367 1368
		-I$(top_srcdir)/src/access \
		-I$(top_srcdir)/src/conf \
		$(AM_CFLAGS)
1369
if WITH_DRIVER_MODULES
1370
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
1371
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1372
endif WITH_DRIVER_MODULES
1373
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
1374
endif WITH_SECRETS
1375

1376
# Needed to keep automake quiet about conditionals
1377 1378
libvirt_driver_storage_impl_la_SOURCES =
libvirt_driver_storage_impl_la_CFLAGS = \
1379 1380 1381
		-I$(top_srcdir)/src/access \
		-I$(top_srcdir)/src/conf \
		$(AM_CFLAGS)
1382 1383
libvirt_driver_storage_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_storage_impl_la_LIBADD =
1384
libvirt_driver_storage_impl_la_LIBADD += $(SECDRIVER_LIBS)
1385
if WITH_BLKID
1386 1387
libvirt_driver_storage_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_storage_impl_la_LIBADD += $(BLKID_LIBS)
1388
endif WITH_BLKID
1389
if WITH_STORAGE
1390 1391 1392
noinst_LTLIBRARIES += libvirt_driver_storage_impl.la
libvirt_driver_storage_la_SOURCES =
libvirt_driver_storage_la_LIBADD = libvirt_driver_storage_impl.la
1393 1394
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
1395
libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
1396
libvirt_driver_storage_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1397
else ! WITH_DRIVER_MODULES
1398
noinst_LTLIBRARIES += libvirt_driver_storage.la
1399
# Stateful, so linked to daemon instead
1400
#libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la
1401
endif ! WITH_DRIVER_MODULES
1402 1403
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
1404
endif WITH_STORAGE
1405

1406
if WITH_STORAGE_LVM
1407
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
1408
endif WITH_STORAGE_LVM
1409

1410
if WITH_STORAGE_ISCSI
1411
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
1412
endif WITH_STORAGE_ISCSI
1413

1414
if WITH_STORAGE_SCSI
1415
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
1416
endif WITH_STORAGE_SCSI
1417

D
Dave Allan 已提交
1418
if WITH_STORAGE_MPATH
1419 1420 1421
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_MPATH_SOURCES)
libvirt_driver_storage_impl_la_CFLAGS += $(DEVMAPPER_CFLAGS)
libvirt_driver_storage_impl_la_LIBADD += $(DEVMAPPER_LIBS)
1422
endif WITH_STORAGE_MPATH
D
Dave Allan 已提交
1423

1424
if WITH_STORAGE_DISK
1425
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
1426
endif WITH_STORAGE_DISK
1427

1428
if WITH_STORAGE_RBD
1429 1430
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_RBD_SOURCES)
libvirt_driver_storage_impl_la_LIBADD += $(LIBRBD_LIBS)
1431
endif WITH_STORAGE_RBD
1432

1433
if WITH_STORAGE_SHEEPDOG
1434
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SHEEPDOG_SOURCES)
1435
endif WITH_STORAGE_SHEEPDOG
1436

1437 1438 1439 1440
if WITH_NODE_DEVICES
# Needed to keep automake quiet about conditionals
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nodedev.la
1441
else ! WITH_DRIVER_MODULES
1442 1443
noinst_LTLIBRARIES += libvirt_driver_nodedev.la
# Stateful, so linked to daemon instead
1444
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
1445
endif ! WITH_DRIVER_MODULES
1446 1447
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

1448
libvirt_driver_nodedev_la_CFLAGS = \
1449 1450 1451
		-I$(top_srcdir)/src/access \
		-I$(top_srcdir)/src/conf \
		$(AM_CFLAGS)
1452
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
1453
libvirt_driver_nodedev_la_LIBADD =
1454

D
Doug Goldstein 已提交
1455
if WITH_LIBVIRTD
1456
if WITH_HAL
1457 1458
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
1459
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
1460
endif WITH_HAL
1461
if WITH_UDEV
1462
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
1463
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
1464
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
1465 1466
endif WITH_UDEV
endif WITH_LIBVIRTD
1467 1468

if WITH_DRIVER_MODULES
1469
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
1470
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
1471 1472
endif WITH_DRIVER_MODULES
endif WITH_NODE_DEVICES
1473 1474


1475 1476 1477
if WITH_NWFILTER
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nwfilter.la
1478
else ! WITH_DRIVER_MODULES
1479
noinst_LTLIBRARIES += libvirt_driver_nwfilter.la
1480 1481
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
1482
endif ! WITH_DRIVER_MODULES
1483 1484 1485 1486 1487 1488 1489
libvirt_driver_nwfilter_la_CFLAGS = \
		$(LIBPCAP_CFLAGS) \
		$(LIBNL_CFLAGS) \
		$(DBUS_CFLAGS) \
		-I$(top_srcdir)/src/access \
		-I$(top_srcdir)/src/conf \
		$(AM_CFLAGS)
G
Guido Günther 已提交
1490
libvirt_driver_nwfilter_la_LDFLAGS = $(AM_LDFLAGS)
1491
libvirt_driver_nwfilter_la_LIBADD = $(LIBPCAP_LIBS) $(LIBNL_LIBS) $(DBUS_LIBS)
1492
if WITH_DRIVER_MODULES
1493
libvirt_driver_nwfilter_la_LIBADD += ../gnulib/lib/libgnu.la
1494
libvirt_driver_nwfilter_la_LDFLAGS += -module -avoid-version
1495
endif WITH_DRIVER_MODULES
1496
libvirt_driver_nwfilter_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
1497
endif WITH_NWFILTER
1498 1499


1500 1501 1502 1503
libvirt_security_manager_la_SOURCES = $(SECURITY_DRIVER_SOURCES)
noinst_LTLIBRARIES += libvirt_security_manager.la
libvirt_la_BUILT_LIBADD += libvirt_security_manager.la
libvirt_security_manager_la_CFLAGS = \
1504
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
1505
libvirt_security_manager_la_LDFLAGS = $(AM_LDFLAGS)
1506
libvirt_security_manager_la_LIBADD = $(SECDRIVER_LIBS)
1507
if WITH_SECDRIVER_SELINUX
1508 1509
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
libvirt_security_manager_la_CFLAGS += $(SELINUX_CFLAGS)
1510
endif WITH_SECDRIVER_SELINUX
J
Jamie Strandboge 已提交
1511
if WITH_SECDRIVER_APPARMOR
1512 1513
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
libvirt_security_manager_la_CFLAGS += $(APPARMOR_CFLAGS)
1514
endif WITH_SECDRIVER_APPARMOR
1515

1516 1517
libvirt_driver_access_la_SOURCES = \
	$(ACCESS_DRIVER_SOURCES) $(ACCESS_DRIVER_GENERATED)
1518 1519 1520 1521 1522 1523 1524
noinst_LTLIBRARIES += libvirt_driver_access.la
libvirt_la_BUILT_LIBADD += libvirt_driver_access.la
libvirt_driver_access_la_CFLAGS = \
		-I$(top_srcdir)/src/conf $(AM_CFLAGS)
libvirt_driver_access_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_access_la_LIBADD =

1525 1526
EXTRA_DIST += access/genpolkit.pl

1527 1528 1529 1530
$(ACCESS_DRIVER_POLKIT_POLICY): $(srcdir)/access/viraccessperm.h \
    $(srcdir)/access/genpolkit.pl Makefile.am
	$(AM_V_GEN)$(PERL) $(srcdir)/access/genpolkit.pl < $< > $@ || rm -f $@

1531 1532 1533 1534
if WITH_POLKIT1
libvirt_driver_access_la_SOURCES += $(ACCESS_DRIVER_POLKIT_SOURCES)

polkitactiondir = $(datadir)/polkit-1/actions
1535
if WITH_LIBVIRTD
1536
polkitaction_DATA = $(ACCESS_DRIVER_POLKIT_POLICY)
1537
endif WITH_LIBVIRTD
1538 1539 1540

CLEANFILES += $(ACCESS_DRIVER_POLKIT_POLICY)
BUILT_SOURCES += $(ACCESS_DRIVER_POLKIT_POLICY)
1541
else ! WITH_POLKIT1
1542
EXTRA_DIST += $(ACCESS_DRIVER_POLKIT_SOURCES)
1543
endif ! WITH_POLKIT1
1544

1545

1546 1547
BUILT_SOURCES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
CLEANFILES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561

libvirt_access.syms: $(srcdir)/rpc/gendispatch.pl \
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclsym \
	  remote REMOTE $(REMOTE_PROTOCOL) > $@
libvirt_access_qemu.syms: $(srcdir)/rpc/gendispatch.pl \
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclsym \
	  qemu QEMU $(QEMU_PROTOCOL) > $@
libvirt_access_lxc.syms: $(srcdir)/rpc/gendispatch.pl \
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclsym \
	  lxc LXC $(LXC_PROTOCOL) > $@

1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574
libvirt_access.xml: $(srcdir)/rpc/gendispatch.pl \
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclapi \
	  remote REMOTE $(REMOTE_PROTOCOL) > $@
libvirt_access_qemu.xml: $(srcdir)/rpc/gendispatch.pl \
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclapi \
	  qemu QEMU $(QEMU_PROTOCOL) > $@
libvirt_access_lxc.xml: $(srcdir)/rpc/gendispatch.pl \
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclapi \
	  lxc LXC $(LXC_PROTOCOL) > $@

E
Eric Blake 已提交
1575
access/viraccessapicheck.h: $(srcdir)/rpc/gendispatch.pl \
1576 1577
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1578 1579 1580
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheck.h
access/viraccessapicheck.c: $(srcdir)/rpc/gendispatch.pl \
1581 1582
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1583 1584
	  remote REMOTE $(REMOTE_PROTOCOL) access/viraccessapicheck.h \
	  > $(srcdir)/access/viraccessapicheck.c
1585

E
Eric Blake 已提交
1586
access/viraccessapicheckqemu.h: $(srcdir)/rpc/gendispatch.pl \
1587 1588
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1589 1590 1591
	  qemu QEMU $(QEMU_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheckqemu.h
access/viraccessapicheckqemu.c: $(srcdir)/rpc/gendispatch.pl \
1592 1593
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1594 1595
	  qemu QEMU $(QEMU_PROTOCOL) access/viraccessapicheckqemu.h \
	  > $(srcdir)/access/viraccessapicheckqemu.c
1596

E
Eric Blake 已提交
1597
access/viraccessapichecklxc.h: $(srcdir)/rpc/gendispatch.pl \
1598 1599
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1600 1601 1602
	  lxc LXC $(LXC_PROTOCOL) \
	  > $(srcdir)/access/viraccessapichecklxc.h
access/viraccessapichecklxc.c: $(srcdir)/rpc/gendispatch.pl \
1603 1604
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1605 1606
	  lxc LXC $(LXC_PROTOCOL) access/viraccessapichecklxc.h \
	  > $(srcdir)/access/viraccessapichecklxc.c
1607

1608 1609 1610 1611 1612 1613 1614
# Add all conditional sources just in case...
EXTRA_DIST +=							\
		$(TEST_DRIVER_SOURCES)				\
		$(REMOTE_DRIVER_SOURCES)			\
		$(XEN_DRIVER_SOURCES)				\
		$(QEMU_DRIVER_SOURCES)				\
		$(LXC_DRIVER_SOURCES)				\
1615
		$(UML_DRIVER_SOURCES)				\
1616
		$(OPENVZ_DRIVER_SOURCES)			\
1617
		$(PHYP_DRIVER_SOURCES)				\
1618
		$(VBOX_DRIVER_SOURCES)				\
1619
		$(XENAPI_DRIVER_SOURCES)			\
O
Osier Yang 已提交
1620
		$(LIBXL_DRIVER_SOURCES)				\
1621
		$(ESX_DRIVER_SOURCES)				\
1622
		$(ESX_DRIVER_EXTRA_DIST)			\
M
Matthias Bolte 已提交
1623
		$(HYPERV_DRIVER_SOURCES)			\
1624
		$(HYPERV_DRIVER_EXTRA_DIST)			\
O
Osier Yang 已提交
1625
		$(PARALLELS_DRIVER_SOURCES)			\
1626
		$(NETWORK_DRIVER_SOURCES)			\
1627
		$(INTERFACE_DRIVER_SOURCES)			\
1628 1629 1630 1631
		$(STORAGE_DRIVER_SOURCES)			\
		$(STORAGE_DRIVER_FS_SOURCES)			\
		$(STORAGE_DRIVER_LVM_SOURCES)			\
		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
1632
		$(STORAGE_DRIVER_SCSI_SOURCES)			\
D
Dave Allan 已提交
1633
		$(STORAGE_DRIVER_MPATH_SOURCES)			\
1634
		$(STORAGE_DRIVER_DISK_SOURCES)			\
1635
		$(STORAGE_DRIVER_RBD_SOURCES)			\
1636
		$(STORAGE_DRIVER_SHEEPDOG_SOURCES)		\
1637 1638
		$(NODE_DEVICE_DRIVER_SOURCES)			\
		$(NODE_DEVICE_DRIVER_HAL_SOURCES)		\
1639
		$(NODE_DEVICE_DRIVER_UDEV_SOURCES)		\
1640
		$(NWFILTER_DRIVER_SOURCES)			\
1641
		$(SECURITY_DRIVER_SELINUX_SOURCES)		\
J
Jamie Strandboge 已提交
1642
		$(SECURITY_DRIVER_APPARMOR_SOURCES)		\
D
Daniel P. Berrange 已提交
1643
		$(SECRET_DRIVER_SOURCES)			\
1644
		$(VBOX_DRIVER_EXTRA_DIST)			\
1645
		$(VMWARE_DRIVER_SOURCES)			\
1646 1647
		$(XENXS_SOURCES)				\
		$(ACCESS_DRIVER_POLKIT_POLICY)
1648

1649 1650
check-local: check-augeas

1651 1652 1653 1654 1655 1656
.PHONY: check-augeas \
	check-augeas-qemu \
	check-augeas-lxc \
	check-augeas-sanlock \
	check-augeas-lockd \
	$(NULL)
1657

1658
check-augeas: check-augeas-qemu check-augeas-lxc check-augeas-sanlock \
1659
	check-augeas-lockd check-augeas-virtlockd
1660

1661
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1662
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1663

1664
if WITH_QEMU
1665 1666
test_libvirtd_qemu.aug: qemu/test_libvirtd_qemu.aug.in \
		$(srcdir)/qemu/qemu.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1667
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/qemu/qemu.conf $< $@
1668

1669
check-augeas-qemu: test_libvirtd_qemu.aug
1670
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1671
	    '$(AUGPARSE)' -I $(srcdir)/qemu test_libvirtd_qemu.aug; \
1672
	fi
1673
else ! WITH_QEMU
1674
check-augeas-qemu:
1675
endif ! WITH_QEMU
1676

1677
if WITH_LXC
1678 1679
test_libvirtd_lxc.aug: lxc/test_libvirtd_lxc.aug.in \
		$(srcdir)/lxc/lxc.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1680
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/lxc/lxc.conf $< $@
1681

1682
check-augeas-lxc: test_libvirtd_lxc.aug
1683
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1684
	    '$(AUGPARSE)' -I $(srcdir)/lxc test_libvirtd_lxc.aug; \
1685
	fi
1686
else ! WITH_LXC
1687
check-augeas-lxc:
1688
endif ! WITH_LXC
1689

1690
if WITH_SANLOCK
1691 1692
test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
		locking/qemu-sanlock.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1693
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
1694

1695
check-augeas-sanlock: test_libvirt_sanlock.aug
1696
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1697
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_sanlock.aug; \
1698
	fi
1699
else ! WITH_SANLOCK
1700
check-augeas-sanlock:
1701
endif ! WITH_SANLOCK
1702

1703 1704 1705 1706
test_libvirt_lockd.aug: locking/test_libvirt_lockd.aug.in \
		locking/qemu-lockd.conf $(AUG_GENTEST)
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-lockd.conf $< $@

1707 1708
test_virtlockd.aug: locking/test_virtlockd.aug.in \
		locking/virtlockd.conf $(AUG_GENTEST)
1709
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/locking/virtlockd.conf $< $@
1710

1711 1712 1713 1714 1715
check-augeas-lockd: test_libvirt_lockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_lockd.aug; \
	fi

1716 1717 1718 1719 1720
check-augeas-virtlockd: test_virtlockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_virtlockd.aug; \
	fi

1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739
#
# 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.
#

1740
if WITH_DRIVER_MODULES
1741
USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
1742
else ! WITH_DRIVER_MODULES
1743
SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
1744
endif ! WITH_DRIVER_MODULES
1745

1746
if WITH_LINUX
1747
USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
1748
else ! WITH_LINUX
1749
SYM_FILES += $(srcdir)/libvirt_linux.syms
1750
endif ! WITH_LINUX
1751

1752
if WITH_ESX
1753
USED_SYM_FILES += $(srcdir)/libvirt_esx.syms
1754
else ! WITH_ESX
1755
SYM_FILES += $(srcdir)/libvirt_esx.syms
1756
endif ! WITH_ESX
1757

1758
if WITH_LIBVIRTD
1759
USED_SYM_FILES += $(srcdir)/libvirt_daemon.syms
1760
else ! WITH_LIBVIRTD
1761
SYM_FILES += $(srcdir)/libvirt_daemon.syms
1762
endif ! WITH_LIBVIRTD
1763

E
Eric Blake 已提交
1764 1765 1766 1767 1768 1769
if WITH_REMOTE
USED_SYM_FILES += $(srcdir)/libvirt_remote.syms
else ! WITH_REMOTE
SYM_FILES += $(srcdir)/libvirt_remote.syms
endif ! WITH_REMOTE

1770
if WITH_OPENVZ
1771
USED_SYM_FILES += $(srcdir)/libvirt_openvz.syms
1772
else ! WITH_OPENVZ
1773
SYM_FILES += $(srcdir)/libvirt_openvz.syms
1774
endif ! WITH_OPENVZ
1775

1776
if WITH_VMX
1777
USED_SYM_FILES += $(srcdir)/libvirt_vmx.syms
1778
else ! WITH_VMX
1779
SYM_FILES += $(srcdir)/libvirt_vmx.syms
1780
endif ! WITH_VMX
1781

1782 1783 1784 1785 1786 1787
if WITH_VMWARE
USED_SYM_FILES += $(srcdir)/libvirt_vmware.syms
else ! WITH_VMWARE
SYM_FILES += $(srcdir)/libvirt_vmware.syms
endif ! WITH_VMWARE

1788
if WITH_XENXS
1789
USED_SYM_FILES += $(srcdir)/libvirt_xenxs.syms
1790
else ! WITH_XENXS
1791
SYM_FILES += $(srcdir)/libvirt_xenxs.syms
1792
endif ! WITH_XENXS
1793

1794
if WITH_SASL
1795
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
1796
else ! WITH_SASL
1797
SYM_FILES += $(srcdir)/libvirt_sasl.syms
1798
endif ! WITH_SASL
E
Eric Blake 已提交
1799

1800 1801
if WITH_GNUTLS
USED_SYM_FILES += $(srcdir)/libvirt_gnutls.syms
1802
else ! WITH_GNUTLS
1803
SYM_FILES += $(srcdir)/libvirt_gnutls.syms
1804
endif ! WITH_GNUTLS
1805

1806
if WITH_SSH2
1807
USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
1808
else ! WITH_SSH2
1809
SYM_FILES += $(srcdir)/libvirt_libssh2.syms
1810
endif ! WITH_SSH2
1811

1812
if WITH_ATOMIC_OPS_PTHREAD
1813
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
1814
else ! WITH_ATOMIC_OPS_PTHREAD
1815
SYM_FILES += $(srcdir)/libvirt_atomic.syms
1816
endif ! WITH_ATOMIC_OPS_PTHREAD
1817

1818
EXTRA_DIST += \
1819 1820 1821 1822 1823
	libvirt_public.syms		\
	libvirt_lxc.syms		\
	libvirt_qemu.syms		\
	$(SYM_FILES)			\
	$(NULL)
1824

1825
BUILT_SOURCES += $(GENERATED_SYM_FILES)
1826

1827 1828
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(ACCESS_DRIVER_SYM_FILES) \
1829
		$(top_builddir)/config.status
1830 1831 1832 1833 1834 1835
	$(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 && \
1836
	cat $(USED_SYM_FILES) $(ACCESS_DRIVER_SYM_FILES) >>$@-tmp && \
1837 1838
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
1839
	mv $@-tmp libvirt.syms
1840

1841 1842 1843
libvirt.def: libvirt.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
1844 1845
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d'	\
	    -e 's/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1846 1847 1848
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt.def

1849 1850 1851
libvirt_qemu.def: $(srcdir)/libvirt_qemu.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
1852 1853
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d'	\
	    -e 's/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1854 1855 1856
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt_qemu.def

1857 1858 1859
libvirt_lxc.def: $(srcdir)/libvirt_lxc.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
1860 1861
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d'	\
	    -e 's/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1862 1863 1864
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt_lxc.def

1865 1866
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
D
Daniel P. Berrange 已提交
1867 1868 1869 1870 1871 1872 1873 1874
libvirt_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(LIBVIRT_NODELETE) \
		$(AM_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
1875
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
1876
libvirt_la_LIBADD += \
1877
		    $(DRIVER_MODULE_LIBS) \
1878
		    $(CYGWIN_EXTRA_LIBADD)
1879
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
1880 1881 1882 1883 1884 1885
# 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)
1886

1887
if WITH_DTRACE_PROBES
1888
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
1889
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
1890
nodist_libvirt_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1891
if WITH_REMOTE
E
Eric Blake 已提交
1892
nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1893
endif WITH_REMOTE
1894 1895
if WITH_DRIVER_MODULES
DTRACE2SYSTEMTAP_FLAGS = --with-modules
1896
endif WITH_DRIVER_MODULES
1897

1898 1899 1900
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

if WITH_QEMU
1901
libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
1902
nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
1903
BUILT_SOURCES += libvirt_qemu_probes.h
1904
endif WITH_QEMU
1905 1906

tapsetdir = $(datadir)/systemtap/tapset
1907
tapset_DATA = libvirt_probes.stp libvirt_qemu_probes.stp libvirt_functions.stp
1908

1909
%_probes.h: %_probes.d
1910 1911
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

E
Eric Blake 已提交
1912
.PRECIOUS: %_probes.o
1913
%_probes.o: %_probes.d
1914 1915
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

1916 1917 1918 1919 1920 1921 1922 1923 1924
%_probes.lo: %_probes.o
	$(AM_V_GEN)printf %s\\n \
	  '# $@ - a libtool object file' \
	  '# Generated by libtool (GNU libtool) 2.4' \
	  '# Actually generated by Makefile.am, in order to shut up libtool' \
	  "pic_object='$<'" \
	  "non_pic_object='$<'" \
	> $@

E
Eric Blake 已提交
1925
# Keep this list synced with PROTOCOL_STRUCTS
J
Jiri Denemark 已提交
1926 1927 1928
RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x \
		  $(srcdir)/rpc/virkeepaliveprotocol.x \
		  $(srcdir)/remote/remote_protocol.x \
1929
		  $(srcdir)/remote/lxc_protocol.x \
1930 1931 1932
		  $(srcdir)/remote/qemu_protocol.x \
		  $(srcdir)/lxc/lxc_monitor_protocol.x \
		  $(srcdir)/locking/lock_protocol.x
1933 1934

libvirt_functions.stp: $(RPC_PROBE_FILES) $(srcdir)/rpc/gensystemtap.pl
1935
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gensystemtap.pl $(RPC_PROBE_FILES) > $@
1936

1937 1938
%_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl \
		$(top_builddir)/config.status
1939
	$(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
1940
	  $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
1941

1942
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
1943
              libvirt_qemu_probes.h libvirt_qemu_probes.o \
1944
              libvirt_qemu_probes.lo\
1945 1946
              libvirt_functions.stp libvirt_probes.stp \
              libvirt_qemu_probes.stp
1947
endif WITH_DTRACE_PROBES
1948

1949
EXTRA_DIST += libvirt_probes.d libvirt_qemu_probes.d
1950

C
Chris Lalancette 已提交
1951
libvirt_qemu_la_SOURCES = libvirt-qemu.c
D
Daniel P. Berrange 已提交
1952 1953 1954 1955 1956 1957 1958
libvirt_qemu_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
1959
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
1960
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
1961

1962
libvirt_lxc_la_SOURCES = libvirt-lxc.c
D
Daniel P. Berrange 已提交
1963 1964 1965 1966 1967 1968 1969
libvirt_lxc_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_LXC_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
1970 1971 1972
libvirt_lxc_la_CFLAGS = $(AM_CFLAGS)
libvirt_lxc_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)

1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984
# Since virt-login-shell will be setuid, we must do everything
# we can to avoid linking to other libraries. Many of them do
# unsafe things in functions marked __atttribute__((constructor)).
# This library is built to include the bare minimum required to
# have a RPC client for local UNIX socket access only. We use
# the ../config-post.h header to disable all external deps that
# we don't want
if WITH_LXC
noinst_LTLIBRARIES += libvirt-setuid-rpc-client.la

libvirt_setuid_rpc_client_la_SOURCES = 		\
		util/viralloc.c			\
1985 1986
		util/viratomic.c		\
		util/viratomic.h		\
1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034
		util/virbitmap.c		\
		util/virbuffer.c		\
		util/vircommand.c		\
		util/virconf.c			\
		util/virerror.c			\
		util/virevent.c			\
		util/vireventpoll.c		\
		util/virfile.c			\
		util/virhash.c			\
		util/virhashcode.c		\
		util/virjson.c			\
		util/virlog.c			\
		util/virobject.c		\
		util/virpidfile.c		\
		util/virprocess.c		\
		util/virrandom.c		\
		util/virsocketaddr.c		\
		util/virstoragefile.c		\
		util/virstring.c		\
		util/virtime.c			\
		util/virthread.c		\
		util/virtypedparam.c		\
		util/viruri.c			\
		util/virutil.c			\
		util/viruuid.c			\
		conf/domain_event.c		\
		rpc/virnetsocket.c		\
		rpc/virnetsocket.h		\
		rpc/virnetmessage.h		\
		rpc/virnetmessage.c		\
		rpc/virkeepalive.c		\
		rpc/virkeepalive.h		\
		rpc/virnetclient.c		\
		rpc/virnetclientprogram.c	\
		rpc/virnetclientstream.c	\
		rpc/virnetprotocol.c		\
		remote/remote_driver.c		\
		remote/remote_protocol.c	\
		remote/qemu_protocol.c		\
		remote/lxc_protocol.c		\
		datatypes.c			\
		libvirt.c			\
		libvirt-lxc.c			\
		$(NULL)

libvirt_setuid_rpc_client_la_LDFLAGS =		\
		$(AM_LDFLAGS)			\
		$(LIBXML_LIBS)			\
J
Jim Fehlig 已提交
2035
		$(SECDRIVER_LIBS)		\
2036 2037 2038 2039 2040 2041
		$(NULL)
libvirt_setuid_rpc_client_la_CFLAGS =		\
		-DLIBVIRT_SETUID_RPC_CLIENT	\
		-I$(top_srcdir)/src/conf	\
		-I$(top_srcdir)/src/rpc		\
		$(AM_CFLAGS)			\
J
Jim Fehlig 已提交
2042
		$(SECDRIVER_CFLAGS)		\
2043 2044 2045
		$(NULL)
endif WITH_LXC

2046 2047 2048
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES =

2049
if WITH_LIBVIRTD
2050 2051 2052 2053 2054
lockdriver_LTLIBRARIES += lockd.la
lockd_la_SOURCES = \
		$(LOCK_DRIVER_LOCKD_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
		$(NULL)
E
Eric Blake 已提交
2055 2056 2057
lockd_la_CFLAGS = -I$(top_srcdir)/src/conf \
		$(XDR_CFLAGS) \
		$(AM_CFLAGS)
2058
lockd_la_LDFLAGS = -module -avoid-version
2059 2060 2061 2062
lockd_la_LIBADD = ../gnulib/lib/libgnu.la \
	libvirt-net-rpc.la \
	libvirt-net-rpc-client.la \
	$(NULL)
J
Jiri Denemark 已提交
2063 2064 2065
augeas_DATA += locking/libvirt_lockd.aug
augeastest_DATA += test_libvirt_lockd.aug
CLEANFILES += test_libvirt_lockd.aug
2066 2067
if WITH_DTRACE_PROBES
lockd_la_LIBADD += libvirt_probes.lo
2068
endif WITH_DTRACE_PROBES
2069
if WITH_QEMU
2070
nodist_conf_DATA += locking/qemu-lockd.conf
2071 2072
BUILT_SOURCES += locking/qemu-lockd.conf
DISTCLEANFILES += locking/qemu-lockd.conf
2073
endif WITH_QEMU
2074 2075 2076 2077 2078 2079

locking/%-lockd.conf: $(srcdir)/locking/lockd.conf
	$(AM_V_GEN)$(MKDIR_P) locking ; \
	cp $< $@


2080 2081
sbin_PROGRAMS = virtlockd

2082 2083 2084
virtlockd_SOURCES = \
		$(LOCK_DAEMON_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
2085
		$(LOCK_DAEMON_GENERATED) \
2086
		$(NULL)
2087 2088
virtlockd_CFLAGS = \
		$(AM_CFLAGS) \
D
Daniel P. Berrange 已提交
2089
		$(PIE_CFLAGS) \
2090
		$(XDR_CFLAGS) \
2091 2092 2093
		$(NULL)
virtlockd_LDFLAGS = \
		$(AM_LDFLAGS) \
D
Daniel P. Berrange 已提交
2094
		$(PIE_LDFLAGS) \
2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
virtlockd_LDADD = \
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
		libvirt_util.la \
		../gnulib/lib/libgnu.la \
		$(CYGWIN_EXTRA_LIBADD) \
		$(NULL)
if WITH_DTRACE_PROBES
virtlockd_LDADD += libvirt_probes.lo
2107
endif WITH_DTRACE_PROBES
2108

2109
else ! WITH_LIBVIRTD
2110 2111
EXTRA_DIST += $(LOCK_DAEMON_SOURCES) \
              $(LOCK_DRIVER_LOCKD_SOURCES)
2112
endif ! WITH_LIBVIRTD
2113

J
Jiri Denemark 已提交
2114 2115 2116 2117
EXTRA_DIST += locking/virtlockd.sysconf \
	locking/lockd.conf \
	locking/libvirt_lockd.aug \
	locking/test_libvirt_lockd.aug.in
2118 2119

install-sysconfig:
E
Eric Blake 已提交
2120
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
2121 2122 2123 2124 2125
	$(INSTALL_DATA) $(srcdir)/locking/virtlockd.sysconf \
	  $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd

uninstall-sysconfig:
	rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
E
Eric Blake 已提交
2126
	rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
2127 2128 2129 2130 2131 2132

EXTRA_DIST += locking/virtlockd.init.in

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_RED_HAT
install-init:: virtlockd.init install-sysconfig
E
Eric Blake 已提交
2133
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d
2134 2135 2136 2137
	$(INSTALL_SCRIPT) virtlockd.init \
	  $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd

uninstall-init:: uninstall-sysconfig
E
Eric Blake 已提交
2138 2139
	rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd
	rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || :
2140 2141

BUILT_SOURCES += virtlockd.init
E
Eric Blake 已提交
2142
DISTCLEANFILES += virtlockd.init
2143
else ! LIBVIRT_INIT_SCRIPT_RED_HAT
2144 2145
install-init::
uninstall-init::
2146 2147
endif ! LIBVIRT_INIT_SCRIPT_RED_HAT
else ! WITH_LIBVIRTD
2148 2149
install-init::
uninstall-init::
2150
endif ! WITH_LIBVIRTD
2151 2152

virtlockd.init: locking/virtlockd.init.in $(top_builddir)/config.status
2153 2154 2155 2156 2157 2158
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g'		\
	    < $< > $@-t &&					\
	    chmod a+x $@-t &&					\
2159 2160
	    mv $@-t $@

2161 2162
POD2MAN = pod2man -c "Virtualization Support" \
			-r "$(PACKAGE)-$(VERSION)" -s 8
2163

2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174
$(srcdir)/virtlockd.8.in: locking/virtlockd.pod.in $(top_srcdir)/configure.ac
	$(AM_V_GEN)$(POD2MAN) --name VIRTLOCKD $< $@ \
	    && if grep 'POD ERROR' $@ ; then rm $@; exit 1; fi

virtlockd.8: $(srcdir)/virtlockd.8.in
	$(AM_V_GEN)sed \
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
	mv $@-t $@

2175
if WITH_LIBVIRTD
2176 2177
man8_MANS = virtlockd.8

2178 2179 2180 2181
conf_DATA += locking/virtlockd.conf

augeas_DATA += locking/virtlockd.aug
augeastest_DATA += test_virtlockd.aug
2182
endif WITH_LIBVIRTD
2183

2184
CLEANFILES += test_virtlockd.aug virtlockd.8
2185 2186 2187 2188 2189 2190 2191
MAINTAINERCLEANFILES += $(srcdir)/virtlockd.8.in

EXTRA_DIST += \
        locking/virtlockd.service.in \
        locking/virtlockd.socket.in \
        locking/virtlockd.pod.in \
        virtlockd.8.in \
2192 2193 2194
        locking/virtlockd.aug \
        locking/virtlockd.conf \
        locking/test_virtlockd.aug.in \
2195
        $(NULL)
2196

2197 2198 2199 2200 2201 2202 2203

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_SYSTEMD

SYSTEMD_UNIT_DIR = /lib/systemd/system

BUILT_SOURCES += virtlockd.service virtlockd.socket
E
Eric Blake 已提交
2204
DISTCLEANFILES += virtlockd.service virtlockd.socket
2205

E
Eric Blake 已提交
2206 2207
install-systemd: virtlockd.service virtlockd.socket install-sysconfig
	$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
2208
	$(INSTALL_DATA) virtlockd.service \
2209
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2210
	$(INSTALL_DATA) virtlockd.socket \
2211 2212 2213
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/

uninstall-systemd: uninstall-sysconfig
E
Eric Blake 已提交
2214 2215 2216
	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket
	rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
2217
else ! LIBVIRT_INIT_SCRIPT_SYSTEMD
2218 2219
install-systemd:
uninstall-systemd:
2220 2221
endif ! LIBVIRT_INIT_SCRIPT_SYSTEMD
else ! WITH_LIBVIRTD
2222 2223
install-systemd:
uninstall-systemd:
2224
endif ! WITH_LIBVIRTD
2225 2226

virtlockd.service: locking/virtlockd.service.in $(top_builddir)/config.status
2227 2228 2229
	$(AM_V_GEN)sed						\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    < $< > $@-t &&					\
2230 2231 2232
	    mv $@-t $@

virtlockd.socket: locking/virtlockd.socket.in $(top_builddir)/config.status
2233 2234 2235
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    < $< > $@-t &&					\
2236 2237 2238
	    mv $@-t $@


2239
if WITH_SANLOCK
2240
lockdriver_LTLIBRARIES += sanlock.la
2241
sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
2242
sanlock_la_CFLAGS = -I$(top_srcdir)/src/conf $(AM_CFLAGS)
2243
sanlock_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
2244
sanlock_la_LIBADD = -lsanlock_client \
2245 2246 2247
		../gnulib/lib/libgnu.la

augeas_DATA += locking/libvirt_sanlock.aug
2248 2249
augeastest_DATA += test_libvirt_sanlock.aug
CLEANFILES += test_libvirt_sanlock.aug
2250

E
Eric Blake 已提交
2251
locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
2252
	$(AM_V_GEN)$(MKDIR_P) locking ; \
2253 2254 2255
	cp $< $@

if WITH_QEMU
2256
nodist_conf_DATA += locking/qemu-sanlock.conf
2257
BUILT_SOURCES += locking/qemu-sanlock.conf
E
Eric Blake 已提交
2258
DISTCLEANFILES += locking/qemu-sanlock.conf
2259 2260
endif WITH_QEMU
else ! WITH_SANLOCK
2261
EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
2262
endif ! WITH_SANLOCK
2263 2264
EXTRA_DIST += locking/sanlock.conf \
	locking/libvirt_sanlock.aug \
2265
	locking/test_libvirt_sanlock.aug.in
2266

2267 2268 2269 2270
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
2271

2272
EXTRA_DIST += \
E
Eric Blake 已提交
2273 2274 2275 2276
	dtrace2systemtap.pl \
	rpc/gendispatch.pl \
	rpc/genprotocol.pl \
	rpc/gensystemtap.pl \
J
Jiri Denemark 已提交
2277 2278
	rpc/virnetprotocol.x \
	rpc/virkeepaliveprotocol.x
2279

E
Eric Blake 已提交
2280
VIR_NET_RPC_GENERATED = \
2281 2282 2283 2284
	rpc/virnetprotocol.h \
	rpc/virnetprotocol.c \
	rpc/virkeepaliveprotocol.h \
	rpc/virkeepaliveprotocol.c
2285

2286
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
2287

2288
libvirt_net_rpc_la_SOURCES = \
2289
	rpc/virnetmessage.h rpc/virnetmessage.c \
2290
	rpc/virnetsocket.h rpc/virnetsocket.c \
2291 2292
	rpc/virkeepalive.h rpc/virkeepalive.c \
	$(VIR_NET_RPC_GENERATED)
2293
if WITH_SSH2
2294 2295
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
2296
else ! WITH_SSH2
2297 2298
EXTRA_DIST += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
2299
endif ! WITH_SSH2
2300
if WITH_GNUTLS
2301 2302
libvirt_net_rpc_la_SOURCES += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
2303
else ! WITH_GNUTLS
2304 2305
EXTRA_DIST += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
2306
endif ! WITH_GNUTLS
2307
if WITH_SASL
2308 2309
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2310
else ! WITH_SASL
2311 2312
EXTRA_DIST += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2313
endif ! WITH_SASL
2314
libvirt_net_rpc_la_CFLAGS = \
2315
			$(GNUTLS_CFLAGS) \
2316
			$(SASL_CFLAGS) \
2317
			$(SSH2_CFLAGS) \
2318
			$(XDR_CFLAGS) \
2319 2320
			$(AM_CFLAGS)
libvirt_net_rpc_la_LDFLAGS = \
2321
			$(GNUTLS_LIBS) \
2322
			$(SASL_LIBS) \
2323
			$(SSH2_LIBS)\
J
Jim Fehlig 已提交
2324
			$(SECDRIVER_LIBS) \
2325 2326 2327 2328 2329 2330
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

2331 2332 2333 2334
libvirt_net_rpc_server_la_SOURCES = \
	rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
	rpc/virnetserverservice.h rpc/virnetserverservice.c \
	rpc/virnetserverclient.h rpc/virnetserverclient.c \
2335
	rpc/virnetservermdns.h rpc/virnetservermdns.c \
2336 2337
	rpc/virnetserver.h rpc/virnetserver.c
libvirt_net_rpc_server_la_CFLAGS = \
2338
			$(AVAHI_CFLAGS) \
2339
			$(DBUS_CFLAGS) \
E
Eric Blake 已提交
2340
			$(XDR_CFLAGS) \
J
Jim Fehlig 已提交
2341 2342
			$(AM_CFLAGS) \
			$(POLKIT_CFLAGS)
2343 2344
libvirt_net_rpc_server_la_LDFLAGS = \
			$(AM_LDFLAGS) \
2345
			$(AVAHI_LIBS) \
2346
			$(DBUS_LIBS) \
J
Jim Fehlig 已提交
2347
			$(POLKIT_LIBS) \
2348 2349 2350 2351 2352
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_server_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

2353 2354 2355 2356 2357
libvirt_net_rpc_client_la_SOURCES = \
	rpc/virnetclientprogram.h rpc/virnetclientprogram.c \
	rpc/virnetclientstream.h rpc/virnetclientstream.c \
	rpc/virnetclient.h rpc/virnetclient.c
libvirt_net_rpc_client_la_CFLAGS = \
E
Eric Blake 已提交
2358 2359
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
2360 2361 2362 2363 2364 2365
libvirt_net_rpc_client_la_LDFLAGS = \
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
2366

2367 2368
libexec_PROGRAMS =

2369
if WITH_LIBVIRTD
2370 2371
libexec_PROGRAMS += libvirt_iohelper
libvirt_iohelper_SOURCES = $(UTIL_IO_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
2372 2373 2374 2375
libvirt_iohelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2376 2377 2378
libvirt_iohelper_LDADD =		\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
2379 2380
if WITH_DTRACE_PROBES
libvirt_iohelper_LDADD += libvirt_probes.lo
2381
endif WITH_DTRACE_PROBES
2382

D
Daniel P. Berrange 已提交
2383 2384 2385 2386
libvirt_iohelper_CFLAGS = \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2387
endif WITH_LIBVIRTD
2388

2389
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
2390
if WITH_LIBVIRTD
2391
libexec_PROGRAMS += libvirt_parthelper
2392

2393
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
D
Daniel P. Berrange 已提交
2394 2395 2396 2397
libvirt_parthelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2398 2399 2400 2401
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
2402 2403
if WITH_DTRACE_PROBES
libvirt_parthelper_LDADD += libvirt_probes.lo
2404
endif WITH_DTRACE_PROBES
2405

D
Daniel P. Berrange 已提交
2406 2407 2408 2409 2410
libvirt_parthelper_CFLAGS = \
		$(LIBPARTED_CFLAGS) \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2411 2412
endif WITH_LIBVIRTD
endif WITH_STORAGE_DISK
2413 2414
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

2415

2416
if WITH_SANLOCK
2417 2418 2419
libexec_PROGRAMS += libvirt_sanlock_helper

libvirt_sanlock_helper_SOURCES = $(LOCK_DRIVER_SANLOCK_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
2420 2421 2422 2423 2424 2425 2426 2427 2428
libvirt_sanlock_helper_CFLAGS = \
		-I$(top_srcdir)/src/conf \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
libvirt_sanlock_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2429
libvirt_sanlock_helper_LDADD = libvirt.la
2430
endif WITH_SANLOCK
2431

2432 2433 2434 2435 2436 2437
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
O
Osier Yang 已提交
2438 2439
		$(NODE_INFO_SOURCES)				\
		$(DATATYPES_SOURCES)
D
Daniel P. Berrange 已提交
2440 2441 2442 2443
libvirt_lxc_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2444
libvirt_lxc_LDADD =			\
G
Gao feng 已提交
2445
		$(FUSE_LIBS) \
2446 2447
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
2448
		libvirt_security_manager.la \
2449 2450
		libvirt_conf.la \
		libvirt_util.la \
2451
		../gnulib/lib/libgnu.la
2452
if WITH_DTRACE_PROBES
2453
libvirt_lxc_LDADD += libvirt_probes.lo
2454
endif WITH_DTRACE_PROBES
2455
libvirt_lxc_LDADD += $(SECDRIVER_LIBS)
2456
libvirt_lxc_CFLAGS =				\
2457
		-I$(top_srcdir)/src/conf	\
2458
		$(AM_CFLAGS)                    \
D
Daniel P. Berrange 已提交
2459
		$(PIE_CFLAGS)			\
G
Gao feng 已提交
2460
		$(LIBNL_CFLAGS)			\
D
Daniel P. Berrange 已提交
2461
		$(FUSE_CFLAGS)			\
2462
		$(DBUS_CFLAGS)			\
D
Daniel P. Berrange 已提交
2463
		$(NULL)
2464
if WITH_BLKID
2465 2466
libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
libvirt_lxc_LDADD += $(BLKID_LIBS)
2467
endif WITH_BLKID
J
Jim Fehlig 已提交
2468
libvirt_lxc_CFLAGS += $(SECDRIVER_CFLAGS)
2469 2470
endif WITH_LIBVIRTD
endif WITH_LXC
2471 2472
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
2473 2474 2475 2476 2477 2478
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

D
Daniel P. Berrange 已提交
2479 2480 2481 2482
virt_aa_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
J
Jamie Strandboge 已提交
2483
virt_aa_helper_LDADD =						\
C
Chris Lalancette 已提交
2484 2485 2486
		libvirt_conf.la					\
		libvirt_util.la					\
		../gnulib/lib/libgnu.la
2487
if WITH_DTRACE_PROBES
2488
virt_aa_helper_LDADD += libvirt_probes.lo
2489
endif WITH_DTRACE_PROBES
J
Jamie Strandboge 已提交
2490
virt_aa_helper_CFLAGS =						\
2491 2492
		-I$(top_srcdir)/src/conf			\
		-I$(top_srcdir)/src/security			\
D
Daniel P. Berrange 已提交
2493 2494 2495
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2496 2497
endif WITH_LIBVIRTD
endif WITH_SECDRIVER_APPARMOR
J
Jamie Strandboge 已提交
2498 2499
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

2500
install-data-local: install-init install-systemd
2501 2502
if WITH_LIBVIRTD
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd"
2503
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files"
2504
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lockd"
2505
endif WITH_LIBVIRTD
2506 2507
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
2508
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems"
2509
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
2510
if WITH_SANLOCK
2511
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock"
2512
endif WITH_SANLOCK
2513 2514
if WITH_QEMU
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu"
2515
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu/channel/target"
2516
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/qemu"
2517
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
2518
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
2519
endif WITH_QEMU
2520 2521 2522
if WITH_LXC
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
2523
endif WITH_LXC
J
Jim Fehlig 已提交
2524 2525 2526
if WITH_LIBXL
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/libxl"
J
Jim Fehlig 已提交
2527
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/libxl"
2528
endif WITH_LIBXL
2529 2530 2531
if WITH_UML
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/uml"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/uml"
2532
endif WITH_UML
2533 2534
if WITH_XEN
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/xen"
2535
endif WITH_XEN
2536 2537
if WITH_NETWORK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/network"
2538
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
2539
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
2540
	$(MKDIR_P) "$(DESTDIR)$(confdir)/qemu/networks/autostart"
2541
	$(INSTALL_DATA) $(srcdir)/network/default.xml \
2542
	  $(DESTDIR)$(confdir)/qemu/networks/default.xml
2543
	test -z "$(UUID)" || \
E
Eric Blake 已提交
2544
	  { sed -e "s,</name>,</name>\n  <uuid>$(UUID)</uuid>," \
2545 2546 2547 2548 2549 2550
	      $(DESTDIR)$(confdir)/qemu/networks/default.xml > \
	      $(DESTDIR)$(confdir)/qemu/networks/default.xml.t && \
	    cp $(DESTDIR)$(confdir)/qemu/networks/default.xml.t \
	      $(DESTDIR)$(confdir)/qemu/networks/default.xml && \
	    rm $(DESTDIR)$(confdir)/qemu/networks/default.xml.t; }
	test -e $(DESTDIR)$(confdir)/qemu/networks/autostart/default.xml || \
E
Eric Blake 已提交
2551
	   ln -s ../default.xml \
2552
	    $(DESTDIR)$(confdir)/qemu/networks/autostart/default.xml
2553
endif WITH_NETWORK
2554

2555
uninstall-local:: uninstall-init uninstall-systemd
2556
if WITH_LIBVIRTD
2557
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files" ||:
2558 2559
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lockd" ||:
2560
endif WITH_LIBVIRTD
2561 2562
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
2563
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
2564
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
2565
if WITH_SANLOCK
2566
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
2567
endif WITH_SANLOCK
2568 2569 2570 2571 2572
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" ||:
2573
endif WITH_QEMU
2574 2575 2576
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
2577
endif WITH_LXC
J
Jim Fehlig 已提交
2578 2579 2580
if WITH_LIBXL
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/libxl" ||:
J
Jim Fehlig 已提交
2581
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/libxl" ||:
2582
endif WITH_LIBXL
2583 2584 2585
if WITH_UML
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/uml" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/uml" ||:
2586
endif WITH_UML
2587 2588
if WITH_XEN
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/xen" ||:
2589
endif WITH_XEN
2590
if WITH_NETWORK
2591 2592 2593 2594
	rm -f $(DESTDIR)$(confdir)/qemu/networks/autostart/default.xml
	rm -f $(DESTDIR)$(confdir)/qemu/networks/default.xml
	rmdir "$(DESTDIR)$(confdir)/qemu/networks/autostart" || :
	rmdir "$(DESTDIR)$(confdir)/qemu/networks" || :
2595 2596
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/network" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/network" ||:
2597
endif WITH_NETWORK
2598
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
R
Richard W.M. Jones 已提交
2599

2600 2601
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
2602
MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED)