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

3
## Copyright (C) 2005-2018 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
# old automake does not provide abs_{src,build}dir variables
abs_builddir = $(shell pwd)
21
abs_topbuilddir = $(shell cd .. && pwd)
22
abs_srcdir = $(shell cd $(srcdir) && pwd)
M
Michal Privoznik 已提交
23
abs_topsrcdir = $(shell cd $(top_srcdir) && pwd)
24

25 26
# No libraries with the exception of LIBXML should be listed
# here. List them against the individual XXX_la_CFLAGS targets
27
# that actually use them. Also keep GETTEXT_CPPFLAGS at the end.
28 29 30 31 32 33 34 35 36 37
INCLUDES =	-I../gnulib/lib \
		-I$(top_srcdir)/gnulib/lib \
		-I$(top_srcdir) \
		-I../include \
		-I$(top_srcdir)/include \
		-I$(srcdir)/util \
		-I./util \
		-DIN_LIBVIRT \
		-Dabs_topbuilddir="\"$(abs_topbuilddir)\"" \
		-Dabs_topsrcdir="\"$(abs_topsrcdir)\"" \
38
		$(GETTEXT_CPPFLAGS)
E
Eric Blake 已提交
39

40 41
WARN_CFLAGS += $(STRICT_FRAME_LIMIT_CFLAGS)

42 43 44 45
AM_CFLAGS =	$(LIBXML_CFLAGS) \
		$(WARN_CFLAGS) \
		$(LOCK_CHECKING_CFLAGS) \
		$(WIN32_EXTRA_CFLAGS) \
E
Eric Blake 已提交
46
		$(COVERAGE_CFLAGS)
47 48 49 50 51 52
AM_LDFLAGS =	$(DRIVER_MODULES_LDFLAGS) \
		$(COVERAGE_LDFLAGS) \
		$(RELRO_LDFLAGS) \
		$(NO_INDIRECT_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
G
Guido Günther 已提交
53
		$(NULL)
54
AM_LDFLAGS_MOD = -module -avoid-version $(AM_LDFLAGS)
55
AM_LDFLAGS_MOD_NOUNDEF = $(AM_LDFLAGS_MOD) $(NO_UNDEFINED_LDFLAGS)
56

57 58
POD2MAN = pod2man -c "Virtualization Support" -r "$(PACKAGE)-$(VERSION)"

59
EXTRA_DIST = $(conf_DATA)
60

61
BUILT_SOURCES =
62 63 64
CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES =
65
nodist_conf_DATA =
66 67 68 69 70
DRIVER_SOURCE_FILES =
STATEFUL_DRIVER_SOURCE_FILES =
noinst_LTLIBRARIES =
mod_LTLIBRARIES =
INSTALL_DATA_DIRS =
71
libvirt_la_BUILT_LIBADD =
72 73 74
SYM_FILES =
USED_SYM_FILES =
GENERATED_SYM_FILES =
75 76 77 78 79 80 81
augeas_DATA =
augeastest_DATA =
conf_DATA =
AUGEAS_DIRS =
if WITH_DTRACE_PROBES
tapset_DATA =
endif WITH_DTRACE_PROBES
82 83
libexec_PROGRAMS =
RPC_PROBE_FILES =
84 85 86 87 88 89 90 91 92
LOGROTATE_FILES_IN =
PODFILES =
MANINFILES =
SYSTEMD_UNIT_FILES_IN =
SYSVINIT_FILES_IN =
UPSTART_FILES =
SYSCONF_FILES =
sbin_PROGRAMS =
man8_MANS =
93

94
include conf/Makefile.inc.am
95
include cpu/Makefile.inc.am
96
include security/Makefile.inc.am
97
include uml/Makefile.inc.am
98
include phyp/Makefile.inc.am
99
include test/Makefile.inc.am
100
include esx/Makefile.inc.am
101
include hyperv/Makefile.inc.am
102
include vmware/Makefile.inc.am
103
include vbox/Makefile.inc.am
104
include openvz/Makefile.inc.am
105
include qemu/Makefile.inc.am
106
include bhyve/Makefile.inc.am
107
include xenconfig/Makefile.inc.am
108
include libxl/Makefile.inc.am
109
include xen/Makefile.inc.am
110
include xenapi/Makefile.inc.am
111
include vz/Makefile.inc.am
112
include lxc/Makefile.inc.am
113
include interface/Makefile.inc.am
114
include network/Makefile.inc.am
115
include nwfilter/Makefile.inc.am
116
include node_device/Makefile.inc.am
117
include secret/Makefile.inc.am
118
include storage/Makefile.inc.am
119
include remote/Makefile.inc.am
120

121

E
Eric Blake 已提交
122 123
THREAD_LIBS = $(LIB_PTHREAD) $(LTLIBMULTITHREAD)

J
Jim Fehlig 已提交
124
SECDRIVER_CFLAGS =
125 126
SECDRIVER_LIBS =
if WITH_SECDRIVER_SELINUX
J
Jim Fehlig 已提交
127
SECDRIVER_CFLAGS += $(SELINUX_CFLAGS)
128
SECDRIVER_LIBS += $(SELINUX_LIBS)
129
endif WITH_SECDRIVER_SELINUX
130
if WITH_SECDRIVER_APPARMOR
J
Jim Fehlig 已提交
131
SECDRIVER_CFLAGS += $(APPARMOR_CFLAGS)
132
SECDRIVER_LIBS += $(APPARMOR_LIBS)
133
endif WITH_SECDRIVER_APPARMOR
134

135

136
lib_LTLIBRARIES = libvirt.la libvirt-qemu.la libvirt-lxc.la
137

138
moddir = $(libdir)/libvirt/connection-driver
139

A
Amy Griffis 已提交
140
confdir = $(sysconfdir)/libvirt
141
conf_DATA += libvirt.conf libvirt-admin.conf
142

143 144 145 146
augeasdir = $(datadir)/augeas/lenses

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

147 148
# These files are not related to driver APIs. Simply generic
# helper APIs for various purposes
149 150 151 152 153 154 155 156 157 158 159 160
UTIL_SOURCES = \
		util/viralloc.c util/viralloc.h \
		util/virarch.h util/virarch.c \
		util/viratomic.h util/viratomic.c \
		util/viraudit.c util/viraudit.h \
		util/virauth.c util/virauth.h \
		util/virauthconfig.c util/virauthconfig.h \
		util/virbitmap.c util/virbitmap.h \
		util/virbuffer.c util/virbuffer.h \
		util/virperf.c util/virperf.h \
		util/vircgroup.c util/vircgroup.h util/vircgrouppriv.h \
		util/virclosecallbacks.c util/virclosecallbacks.h \
161
		util/vircommand.c util/vircommand.h util/vircommandpriv.h \
162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
		util/virconf.c util/virconf.h \
		util/vircrypto.c util/vircrypto.h \
		util/virdbus.c util/virdbus.h util/virdbuspriv.h \
		util/virdnsmasq.c util/virdnsmasq.h \
		util/virebtables.c util/virebtables.h \
		util/virendian.h \
		util/virerror.c util/virerror.h \
		util/virevent.c util/virevent.h \
		util/vireventpoll.c util/vireventpoll.h \
		util/virfcp.c util/virfcp.h \
		util/virfdstream.c util/virfdstream.h \
		util/virfile.c util/virfile.h \
		util/virfirewall.c util/virfirewall.h \
		util/virfirewallpriv.h \
		util/virfirmware.c util/virfirmware.h \
		util/virgettext.c util/virgettext.h \
		util/virgic.c util/virgic.h \
		util/virhash.c util/virhash.h \
		util/virhashcode.c util/virhashcode.h \
		util/virhook.c util/virhook.h \
182
		util/virhostcpu.c util/virhostcpu.h util/virhostcpupriv.h \
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197
		util/virhostdev.c util/virhostdev.h \
		util/virhostmem.c util/virhostmem.h \
		util/viridentity.c util/viridentity.h \
		util/virinitctl.c util/virinitctl.h \
		util/viriptables.c util/viriptables.h \
		util/viriscsi.c util/viriscsi.h \
		util/virjson.c util/virjson.h \
		util/virkeycode.c util/virkeycode.h \
		util/virkeyfile.c util/virkeyfile.h \
		util/virlease.c util/virlease.h \
		util/virlockspace.c util/virlockspace.h \
		util/virlog.c util/virlog.h \
		util/virmacaddr.h util/virmacaddr.c \
		util/virmacmap.h util/virmacmap.c \
		util/virnetdev.h util/virnetdev.c \
198
		util/virnetdevbandwidth.h util/virnetdevbandwidth.c \
199 200 201
		util/virnetdevbridge.h util/virnetdevbridge.c \
		util/virnetdevip.h util/virnetdevip.c \
		util/virnetdevmacvlan.c util/virnetdevmacvlan.h \
202
		util/virnetdevmidonet.h util/virnetdevmidonet.c \
A
Ansis Atteka 已提交
203
		util/virnetdevopenvswitch.h util/virnetdevopenvswitch.c \
204 205 206
		util/virnetdevtap.h util/virnetdevtap.c \
		util/virnetdevveth.h util/virnetdevveth.c \
		util/virnetdevvlan.h util/virnetdevvlan.c \
207
		util/virnetdevvportprofile.h util/virnetdevvportprofile.c \
208 209 210 211 212 213 214 215
		util/virnetlink.c util/virnetlink.h \
		util/virnodesuspend.c util/virnodesuspend.h \
		util/virkmod.c util/virkmod.h \
		util/virnuma.c util/virnuma.h \
		util/virobject.c util/virobject.h \
		util/virpci.c util/virpci.h \
		util/virpidfile.c util/virpidfile.h \
		util/virpolkit.c util/virpolkit.h \
D
Daniel P. Berrange 已提交
216
		util/virportallocator.c util/virportallocator.h \
217 218 219 220
		util/virprobe.h \
		util/virprocess.c util/virprocess.h \
		util/virqemu.c util/virqemu.h \
		util/virrandom.h util/virrandom.c \
221
		util/virresctrl.h util/virresctrl.c util/virresctrlpriv.h \
222 223 224 225 226 227 228 229
		util/virrotatingfile.h util/virrotatingfile.c \
		util/virscsi.c util/virscsi.h \
		util/virscsihost.c util/virscsihost.h \
		util/virscsivhost.c util/virscsivhost.h \
		util/virseclabel.c util/virseclabel.h \
		util/virsecret.c util/virsecret.h \
		util/virsexpr.c util/virsexpr.h \
		util/virsocketaddr.h util/virsocketaddr.c \
230
		util/virstorageencryption.c util/virstorageencryption.h \
231
		util/virstoragefile.c util/virstoragefile.h \
232
		util/virstoragefilebackend.c util/virstoragefilebackend.h \
233 234
		util/virstring.h util/virstring.c \
		util/virsysinfo.c util/virsysinfo.h util/virsysinfopriv.h \
235
		util/virsystemd.c util/virsystemd.h util/virsystemdpriv.h \
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250
		util/virthread.c util/virthread.h \
		util/virthreadjob.c util/virthreadjob.h \
		util/virthreadpool.c util/virthreadpool.h \
		util/virtime.h util/virtime.c \
		util/virtpm.h util/virtpm.c \
		util/virtypedparam.c util/virtypedparam.h \
		util/virusb.c util/virusb.h \
		util/viruri.h util/viruri.c \
		util/virutil.c util/virutil.h \
		util/viruuid.c util/viruuid.h \
		util/virvhba.c util/virvhba.h \
		util/virxdrdefs.h \
		util/virxml.c util/virxml.h \
		util/virmdev.c util/virmdev.h \
		util/virfilecache.c util/virfilecache.h \
251
		$(NULL)
L
Lai Jiangshan 已提交
252

253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277
EXTRA_DIST += \
	$(srcdir)/keycodemapdb/data/keymaps.csv \
	$(srcdir)/keycodemapdb/tools/keymap-gen \
	$(NULL)

util/virkeycodetable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \
			$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
	$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeycodetable_,,' \
					      -e 's,\.h,,'` && \
		$(MKDIR_P) util/ && \
		$(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
			--lang stdc --varname virKeyCodeTable_$$NAME code-table \
			$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > $@-tmp && \
		mv $@-tmp $@ || rm -f $@-tmp

util/virkeynametable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \
			$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
	$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeynametable_,,' \
					      -e 's,\.h,,'` && \
		$(MKDIR_P) util/ && \
		$(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
			--lang stdc --varname virKeyNameTable_$$NAME name-table \
			$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > $@-tmp && \
		mv $@-tmp $@ || rm -f $@-tmp

278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307
util/virkeycode-%.pod: $(srcdir)/keycodemapdb/data/keymaps.csv \
			$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
	$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeycode-,,' \
					      -e 's,\.pod,,'` && \
		$(MKDIR_P) util/ && \
		$(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
		--lang pod --varname "Key code values for $$NAME" code-docs \
		$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > \
			$@-tmp && mv $@-tmp $@ || rm $@-tmp

util/virkeyname-%.pod: $(srcdir)/keycodemapdb/data/keymaps.csv \
			$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
	$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeyname-,,' \
					      -e 's,\.pod,,'` && \
		$(MKDIR_P) util/ && \
		$(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
		--lang pod --varname "Key name values for $$NAME" name-docs \
		$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > \
			$@-tmp && mv $@-tmp $@ || rm $@-tmp

util/virkey%.7: util/virkey%.pod
	$(AM_V_GEN)$(POD2MAN) --section=7 $< $@-t1 && \
	if grep 'POD ERROR' $@-t1; then rm $@-t1; exit 1; fi && \
	sed \
		-e 's|SYSCONFDIR|\@sysconfdir\@|g' \
		-e 's|LOCALSTATEDIR|\@localstatedir\@|g' \
		< $@-t1 > $@-t2 && \
	rm -f $@-t1 && \
	mv $@-t2 $@

308
KEYCODES = linux osx atset1 atset2 atset3 xtkbd usb win32 rfb
309 310 311 312 313 314 315
KEYNAMES = linux osx win32

KEYTABLES = \
	$(KEYCODES:%=util/virkeycodetable_%.h) \
	$(KEYNAMES:%=util/virkeynametable_%.h) \
	$(NULL)

316 317 318 319 320 321
KEYPODS = $(KEYCODES:%=util/virkeycode-%.pod) \
	  $(KEYNAMES:%=util/virkeyname-%.pod)
KEYMANS = $(KEYPODS:%.pod=%.7)

man7_MANS = $(KEYMANS)

322 323 324
UTIL_SOURCES += $(KEYTABLES)
BUILT_SOURCES += $(KEYTABLES)
MAINTAINERCLEANFILES += $(KEYTABLES)
325
CLEANFILES += $(KEYMANS) $(KEYPODS)
L
Lai Jiangshan 已提交
326

327
# Internal generic driver infrastructure
O
Osier Yang 已提交
328
DATATYPES_SOURCES = datatypes.h datatypes.c
329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357
DRIVER_SOURCES = \
		driver.c driver.h \
		driver-hypervisor.h \
		driver-interface.h \
		driver-network.h \
		driver-nodedev.h \
		driver-nwfilter.h \
		driver-secret.h \
		driver-state.h \
		driver-storage.h \
		driver-stream.h \
		internal.h \
		$(DATATYPES_SOURCES) \
		libvirt.c libvirt_internal.h \
		libvirt-domain.c \
		libvirt-domain-snapshot.c \
		libvirt-host.c \
		libvirt-interface.c \
		libvirt-network.c \
		libvirt-nodedev.c \
		libvirt-nwfilter.c \
		libvirt-secret.c \
		libvirt-storage.c \
		libvirt-stream.c \
		locking/lock_manager.c locking/lock_manager.h \
		locking/lock_driver.h \
		locking/lock_driver_nop.h locking/lock_driver_nop.c \
		locking/domain_lock.h locking/domain_lock.c \
		logging/log_manager.c logging/log_manager.h \
358
		$(NULL)
359

360 361 362
LOCK_DRIVER_SANLOCK_SOURCES = \
		locking/lock_driver_sanlock.c

363 364
LOCK_DRIVER_SANLOCK_HELPER_SOURCES = \
		locking/sanlock_helper.c
365

366
LOCK_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
367 368
		locking/lock_protocol.h \
		locking/lock_protocol.c \
369 370
		$(NULL)

371 372 373
LOCK_PROTOCOL = $(srcdir)/locking/lock_protocol.x
EXTRA_DIST += $(LOCK_PROTOCOL) \
	$(LOCK_PROTOCOL_GENERATED)
374 375 376
BUILT_SOURCES += $(LOCK_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(LOCK_PROTOCOL_GENERATED)

377
LOCK_DAEMON_GENERATED = \
378
		locking/lock_daemon_dispatch_stubs.h
379 380 381
		$(NULL)

BUILT_SOURCES += $(LOCK_DAEMON_GENERATED)
382
EXTRA_DIST += $(LOCK_DAEMON_GENERATED)
383 384
MAINTAINERCLEANFILES += $(LOCK_DAEMON_GENERATED)

385 386
LOCK_DRIVER_LOCKD_SOURCES = \
		locking/lock_driver_lockd.c \
387
		locking/lock_driver_lockd.h \
388 389
		$(NULL)

390 391 392 393 394
LOCK_DAEMON_SOURCES = \
		locking/lock_daemon.h \
		locking/lock_daemon.c \
		locking/lock_daemon_config.h \
		locking/lock_daemon_config.c \
395 396
		locking/lock_daemon_dispatch.c \
		locking/lock_daemon_dispatch.h \
397 398
		$(NULL)

E
Eric Blake 已提交
399
locking/lock_daemon_dispatch_stubs.h: $(LOCK_PROTOCOL) \
400
		$(srcdir)/rpc/gendispatch.pl Makefile.am
401 402
	$(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl --mode=server \
	    virLockSpaceProtocol VIR_LOCK_SPACE_PROTOCOL \
E
Eric Blake 已提交
403
	    $(LOCK_PROTOCOL) > $(srcdir)/locking/lock_daemon_dispatch_stubs.h
404 405


406 407 408 409 410
LOG_PROTOCOL_GENERATED = \
		logging/log_protocol.h \
		logging/log_protocol.c \
		$(NULL)

411 412
DRIVER_SOURCES += $(LOG_PROTOCOL_GENERATED)

413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433
LOG_PROTOCOL = $(srcdir)/logging/log_protocol.x
EXTRA_DIST += $(LOG_PROTOCOL) \
	$(LOG_PROTOCOL_GENERATED)
BUILT_SOURCES += $(LOG_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(LOG_PROTOCOL_GENERATED)

LOG_DAEMON_GENERATED = \
		logging/log_daemon_dispatch_stubs.h
		$(NULL)

BUILT_SOURCES += $(LOG_DAEMON_GENERATED)
EXTRA_DIST += $(LOG_DAEMON_GENERATED)
MAINTAINERCLEANFILES += $(LOG_DAEMON_GENERATED)

LOG_DAEMON_SOURCES = \
		logging/log_daemon.h \
		logging/log_daemon.c \
		logging/log_daemon_config.h \
		logging/log_daemon_config.c \
		logging/log_daemon_dispatch.c \
		logging/log_daemon_dispatch.h \
434 435
		logging/log_handler.c \
		logging/log_handler.h \
436 437 438 439 440 441 442 443 444
		$(NULL)

logging/log_daemon_dispatch_stubs.h: $(LOG_PROTOCOL) \
		$(srcdir)/rpc/gendispatch.pl Makefile.am
	$(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl --mode=server \
	    virLogManagerProtocol VIR_LOG_MANAGER_PROTOCOL \
	    $(LOG_PROTOCOL) > $(srcdir)/logging/log_daemon_dispatch_stubs.h


445

M
Martin Kletzander 已提交
446 447 448
ADMIN_PROTOCOL = $(srcdir)/admin/admin_protocol.x

ADMIN_PROTOCOL_GENERATED = \
449 450
		admin/admin_protocol.c \
		admin/admin_protocol.h \
451 452 453
		admin/admin_client.h \
		admin/admin_server_dispatch_stubs.h \
		$(NULL)
454 455 456 457 458 459

admin/admin_client.h: $(srcdir)/rpc/gendispatch.pl \
		$(ADMIN_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
	  admin ADMIN $(ADMIN_PROTOCOL) \
	  > $(srcdir)/admin/admin_client.h
M
Martin Kletzander 已提交
460

461 462 463 464 465 466
admin/admin_server_dispatch_stubs.h: $(srcdir)/rpc/gendispatch.pl \
		$(ADMIN_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=server \
	  admin ADMIN $(ADMIN_PROTOCOL) \
	  > $(srcdir)/admin/admin_server_dispatch_stubs.h

M
Martin Kletzander 已提交
467 468 469 470
EXTRA_DIST += $(ADMIN_PROTOCOL) $(ADMIN_PROTOCOL_GENERATED)
BUILT_SOURCES += $(ADMIN_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(ADMIN_PROTOCOL_GENERATED)

471 472 473 474 475 476 477 478 479 480
# 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
481 482 483 484

# With pdwtags 1.8, --verbose output includes separators like these:
# /* 93 */
# /* <0> (null):0 */
485 486
# with the second line omitted for intrinsic types.
# Whereas with pdwtags 1.3, they look like this:
487
# /* <2d2> /usr/include/libio.h:180 */
488 489
# The alternation of the following regexps matches both cases.
r1 = /\* \d+ \*/
490
r2 = /\* <[[:xdigit:]]+> \S+:\d+ \*/
M
Martin Kletzander 已提交
491 492 493
libs_prefix = remote_|qemu_|lxc_|admin_
other_prefix = keepalive|vir(Net|LockSpace|LXCMonitor)
struct_prefix = ($(libs_prefix)|$(other_prefix))
494

495
# Depending on configure options, libtool creates one or both of
E
Eric Blake 已提交
496 497
# remote/{,.libs/}libvirt_driver_remote_la-remote_protocol.o.  We want
# the newest of the two, in case configure options changed and a stale
498
# file is left around from an earlier build.
499 500 501
# The pdwtags output is completely different when building with clang
# which causes the comparison against expected output to fail, so skip
# if using clang as CC.
502
PDWTAGS = \
A
Andrea Bolognani 已提交
503
	$(AM_V_GEN)if $(CC) -v 2>&1 | grep -q clang; then \
504 505 506 507
	   echo 'WARNING: skipping pdwtags test with Clang' >&2; \
	   exit 0; \
	fi; \
	if (pdwtags --help) > /dev/null 2>&1; then \
508 509 510 511 512 513 514
	  o=`ls -t $(<:.lo=.$(OBJEXT)) \
	     $(subst /,/.libs/,$(<:.lo=.$(OBJEXT))) \
	    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; \
	  if test ! -s $(@F)-t1 && test -s $(@F)-t2; then \
	    rm -rf $(@F)-t?; \
515
	    echo 'WARNING: pdwtags appears broken; skipping the $@ test' >&2;\
516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533
	  else \
	    $(PERL) -0777 -n \
		-e 'foreach my $$p (split m!\n*(?:$(r1)|$(r2))\n!) {' \
		-e '  if ($$p =~ /^(struct|enum) $(struct_prefix)/ ||' \
		-e '      $$p =~ /^enum \{/) {' \
		-e '    $$p =~ s!\t*/\*.*?\*/!!sg;' \
		-e '    $$p =~ s!\s+\n!\n!sg;' \
		-e '    $$p =~ s!\s+$$!!;' \
		-e '    $$p =~ s!\t!        !g;' \
		-e '    print "$$p\n";' \
		-e '    $$n++;' \
		-e '  }' \
		-e '}' \
		-e 'BEGIN {' \
		-e '  print "/* -*- c -*- */\n";' \
		-e '}' \
		-e 'END {' \
		-e '  if ($$n < 1) {' \
534
		-e '    warn "WARNING: your pdwtags program is too old\n";' \
535
		-e '    warn "WARNING: skipping the $@ test\n";' \
536
		-e '    warn "WARNING: install dwarves-1.3 or newer\n";' \
537 538 539 540
		-e '    exit 8;' \
		-e '  }' \
		-e '}' \
		< $(@F)-t1 > $(@F)-t3; \
541
	    case $$? in 8) rm -f $(@F)-t?; exit 0;; 0) ;; *) exit 1;; esac;\
542 543 544 545
	    diff -u $(@)s $(@F)-t3; st=$$?; rm -f $(@F)-t?; exit $$st; \
	  fi; \
	else \
	  echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2; \
546
	  echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
547
	fi
548

549
# .libs/libvirt.so is built by libtool as a side-effect of the Makefile
550 551
# rule for libvirt.la.  However, checking symbols relies on Linux ELF layout
if WITH_LINUX
552 553 554
check-symfile: libvirt.syms libvirt.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \
	  .libs/libvirt.so
555 556 557
check-admin-symfile: libvirt_admin.syms libvirt-admin.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt_admin.syms \
	  .libs/libvirt-admin.so
558
else ! WITH_LINUX
559
check-symfile:
560
check-admin-symfile:
561
endif ! WITH_LINUX
562
check-symsorting:
563
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl \
564
		$(srcdir) $(SYM_FILES)
565 566 567
check-admin-symsorting:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl \
		$(srcdir) $(ADMIN_SYM_FILES)
J
Jiri Denemark 已提交
568
EXTRA_DIST += check-symfile.pl check-symsorting.pl
569

E
Eric Blake 已提交
570
# Keep this list synced with RPC_PROBE_FILES
571 572
PROTOCOL_STRUCTS = \
	$(srcdir)/remote_protocol-structs \
573
	$(srcdir)/lxc_protocol-structs \
574
	$(srcdir)/qemu_protocol-structs \
J
Jiri Denemark 已提交
575
	$(srcdir)/virnetprotocol-structs \
E
Eric Blake 已提交
576 577 578
	$(srcdir)/virkeepaliveprotocol-structs \
	$(srcdir)/lxc_monitor_protocol-structs \
	$(srcdir)/lock_protocol-structs \
M
Martin Kletzander 已提交
579
	$(srcdir)/admin_protocol-structs \
E
Eric Blake 已提交
580 581
	$(NULL)

582
if WITH_REMOTE
583 584
check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)

585 586
# 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.
587 588 589
$(srcdir)/remote_protocol-struct \
	$(srcdir)/qemu_protocol-struct \
	$(srcdir)/lxc_protocol-struct: \
E
Eric Blake 已提交
590
		$(srcdir)/%-struct: remote/libvirt_driver_remote_la-%.lo
591
	$(PDWTAGS)
592
$(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \
E
Eric Blake 已提交
593
		$(srcdir)/%-struct: rpc/libvirt_net_rpc_la-%.lo
594
	$(PDWTAGS)
E
Eric Blake 已提交
595
$(srcdir)/lxc_monitor_protocol-struct: \
E
Eric Blake 已提交
596
		$(srcdir)/%-struct: lxc/libvirt_driver_lxc_impl_la-%.lo
E
Eric Blake 已提交
597 598
	$(PDWTAGS)
$(srcdir)/lock_protocol-struct: \
E
Eric Blake 已提交
599
		$(srcdir)/%-struct: locking/lockd_la-%.lo
E
Eric Blake 已提交
600
	$(PDWTAGS)
M
Martin Kletzander 已提交
601 602 603
$(srcdir)/admin_protocol-struct: \
		$(srcdir)/%-struct: admin/libvirt_admin_la-%.lo
	$(PDWTAGS)
E
Eric Blake 已提交
604

605
else !WITH_REMOTE
606 607 608
# The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be
# re-generated when configured --without-remote.
check-protocol:
609
endif !WITH_REMOTE
J
Jiri Denemark 已提交
610
EXTRA_DIST += $(PROTOCOL_STRUCTS)
611 612 613 614 615

check-drivername:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-drivername.pl \
		$(srcdir)/driver.h \
		$(srcdir)/libvirt_public.syms \
616
		$(srcdir)/libvirt_admin_public.syms \
617 618 619 620 621
		$(srcdir)/libvirt_qemu.syms \
		$(srcdir)/libvirt_lxc.syms

EXTRA_DIST += check-drivername.pl

622 623
check-driverimpls:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-driverimpls.pl \
624
		$(filter /%,$(DRIVER_SOURCE_FILES)) \
E
Eric Blake 已提交
625 626 627
		$(filter $(srcdir)/%,$(DRIVER_SOURCE_FILES)) \
		$(addprefix $(srcdir)/,$(filter-out $(srcdir)/%, \
			$(filter-out /%,$(DRIVER_SOURCE_FILES))))
628

629 630
check-aclrules:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclrules.pl \
E
Eric Blake 已提交
631
		$(REMOTE_PROTOCOL) \
632
		$(addprefix $(srcdir)/,$(filter-out /%,$(STATEFUL_DRIVER_SOURCE_FILES)))
633

634 635 636 637 638
check-aclperms:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclperms.pl \
		$(srcdir)/access/viraccessperm.h \
		$(srcdir)/access/viraccessperm.c

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

641
check-local: check-protocol check-symfile check-symsorting \
642
	check-drivername check-driverimpls check-aclrules \
643
	check-aclperms check-admin-symfile check-admin-symsorting
644
.PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
645

646 647 648



649
UTIL_IO_HELPER_SOURCES = \
650 651
		util/iohelper.c

652

653
ACCESS_DRIVER_GENERATED = \
E
Eric Blake 已提交
654 655 656 657 658 659 660
		access/viraccessapicheck.h \
		access/viraccessapicheck.c \
		access/viraccessapicheckqemu.h \
		access/viraccessapicheckqemu.c \
		access/viraccessapichecklxc.h \
		access/viraccessapichecklxc.c \
		$(NULL)
661

662
ACCESS_DRIVER_SYM_FILES = \
663 664 665
		libvirt_access.syms \
		libvirt_access_qemu.syms \
		libvirt_access_lxc.syms
666

667 668 669 670 671
ACCESS_DRIVER_API_FILES = \
		libvirt_access.xml \
		libvirt_access_qemu.xml \
		libvirt_access_lxc.xml

672 673 674 675 676 677 678
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

679 680 681 682
ACCESS_DRIVER_POLKIT_SOURCES = \
		access/viraccessdriverpolkit.h access/viraccessdriverpolkit.c

ACCESS_DRIVER_POLKIT_POLICY = \
683
		$(srcdir)/access/org.libvirt.api.policy
684 685


686

687
VMX_SOURCES = \
688 689
		vmx/vmx.c vmx/vmx.h

690

J
Jiri Denemark 已提交
691 692
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
693
EXTRA_DIST +=	$(pkgdata_DATA)
694

695 696 697 698 699 700
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

701
noinst_LTLIBRARIES += libvirt_util.la
702
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
703
libvirt_la_BUILT_LIBADD += libvirt_util.la
704
libvirt_util_la_SOURCES = \
705
		$(UTIL_SOURCES)
706
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
707
		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS) \
708
		$(DBUS_CFLAGS) $(LDEXP_LIBM) $(NUMACTL_CFLAGS) \
709
		$(POLKIT_CFLAGS) $(GNUTLS_CFLAGS) $(ACL_CFLAGS)
710
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
711
		$(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
712
		$(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(WIN32_EXTRA_LIBS) $(LIBXML_LIBS) \
M
Michal Privoznik 已提交
713
		$(SECDRIVER_LIBS) $(NUMACTL_LIBS) $(ACL_LIBS) \
714
		$(POLKIT_LIBS) $(GNUTLS_LIBS)
715

716

717 718 719 720
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
721
		-I$(srcdir)/conf $(AM_CFLAGS)
722
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
723
endif WITH_VMX
724

725

726
noinst_LTLIBRARIES += libvirt_driver.la
727
libvirt_la_BUILT_LIBADD += libvirt_driver.la
728
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
729

730
libvirt_driver_la_CFLAGS = \
731
		$(GNUTLS_CFLAGS) $(CURL_CFLAGS) $(XDR_CFLAGS) \
732
		-I$(srcdir)/conf $(AM_CFLAGS)
733
libvirt_driver_la_LIBADD = \
734
		$(GNUTLS_LIBS) $(CURL_LIBS) $(DLOPEN_LIBS)
735

736 737
# 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.
738 739 740
SYM_FILES += $(USED_SYM_FILES)
USED_SYM_FILES += $(srcdir)/libvirt_private.syms
GENERATED_SYM_FILES += \
741 742
	$(ACCESS_DRIVER_SYM_FILES) \
	libvirt.syms libvirt.def libvirt_qemu.def libvirt_lxc.def \
743
	libvirt_admin.syms libvirt_admin.def \
744
	$(NULL)
745

C
Chris Lalancette 已提交
746

747

748
%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
749
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
750
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
751

752
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
753
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
754
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
755

756

757

758

759

760

761 762
libvirt_driver_access_la_SOURCES = \
	$(ACCESS_DRIVER_SOURCES) $(ACCESS_DRIVER_GENERATED)
763 764 765
noinst_LTLIBRARIES += libvirt_driver_access.la
libvirt_la_BUILT_LIBADD += libvirt_driver_access.la
libvirt_driver_access_la_CFLAGS = \
766
		-I$(srcdir)/conf $(AM_CFLAGS)
767 768 769
libvirt_driver_access_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_access_la_LIBADD =

770 771
EXTRA_DIST += access/genpolkit.pl

772 773 774 775
$(ACCESS_DRIVER_POLKIT_POLICY): $(srcdir)/access/viraccessperm.h \
    $(srcdir)/access/genpolkit.pl Makefile.am
	$(AM_V_GEN)$(PERL) $(srcdir)/access/genpolkit.pl < $< > $@ || rm -f $@

776 777 778 779
if WITH_POLKIT1
libvirt_driver_access_la_SOURCES += $(ACCESS_DRIVER_POLKIT_SOURCES)

polkitactiondir = $(datadir)/polkit-1/actions
780
if WITH_LIBVIRTD
781
polkitaction_DATA = $(ACCESS_DRIVER_POLKIT_POLICY)
782
endif WITH_LIBVIRTD
783 784 785

CLEANFILES += $(ACCESS_DRIVER_POLKIT_POLICY)
BUILT_SOURCES += $(ACCESS_DRIVER_POLKIT_POLICY)
786
else ! WITH_POLKIT1
787
EXTRA_DIST += $(ACCESS_DRIVER_POLKIT_SOURCES)
788
endif ! WITH_POLKIT1
789

790

791 792
BUILT_SOURCES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
CLEANFILES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
793 794 795 796 797 798 799 800 801 802 803 804 805 806

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) > $@

807 808 809 810 811 812 813 814 815 816 817 818 819
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 已提交
820
access/viraccessapicheck.h: $(srcdir)/rpc/gendispatch.pl \
821 822
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
823 824 825
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheck.h
access/viraccessapicheck.c: $(srcdir)/rpc/gendispatch.pl \
826 827
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
828 829
	  remote REMOTE $(REMOTE_PROTOCOL) access/viraccessapicheck.h \
	  > $(srcdir)/access/viraccessapicheck.c
830

E
Eric Blake 已提交
831
access/viraccessapicheckqemu.h: $(srcdir)/rpc/gendispatch.pl \
832 833
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
834 835 836
	  qemu QEMU $(QEMU_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheckqemu.h
access/viraccessapicheckqemu.c: $(srcdir)/rpc/gendispatch.pl \
837 838
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
839 840
	  qemu QEMU $(QEMU_PROTOCOL) access/viraccessapicheckqemu.h \
	  > $(srcdir)/access/viraccessapicheckqemu.c
841

E
Eric Blake 已提交
842
access/viraccessapichecklxc.h: $(srcdir)/rpc/gendispatch.pl \
843 844
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
845 846 847
	  lxc LXC $(LXC_PROTOCOL) \
	  > $(srcdir)/access/viraccessapichecklxc.h
access/viraccessapichecklxc.c: $(srcdir)/rpc/gendispatch.pl \
848 849
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
850 851
	  lxc LXC $(LXC_PROTOCOL) access/viraccessapichecklxc.h \
	  > $(srcdir)/access/viraccessapichecklxc.c
852

853
# Add all conditional sources just in case...
854
EXTRA_DIST += \
855
		$(ACCESS_DRIVER_POLKIT_POLICY)
856

857 858
check-local: check-augeas

859 860 861 862
.PHONY: check-augeas \
	check-augeas-sanlock \
	check-augeas-lockd \
	$(NULL)
863

864
check-augeas: $(AUGEAS_DIRS:%=check-augeas-%) \
865
	check-augeas-sanlock \
866
	check-augeas-lockd check-augeas-virtlockd \
867
	check-augeas-virtlogd
868

869
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
870
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
871

872

873
if WITH_SANLOCK
874 875
test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
		locking/qemu-sanlock.conf $(AUG_GENTEST)
E
Eric Blake 已提交
876
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
877

878
check-augeas-sanlock: test_libvirt_sanlock.aug
879
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
880
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_sanlock.aug; \
881
	fi
882
else ! WITH_SANLOCK
883
check-augeas-sanlock:
884
endif ! WITH_SANLOCK
885

886
if WITH_QEMU
887 888 889
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 $< $@
890 891 892
else ! WITH_QEMU
test_libvirt_lockd.aug:
endif ! WITH_QEMU
893

894 895
test_virtlockd.aug: locking/test_virtlockd.aug.in \
		locking/virtlockd.conf $(AUG_GENTEST)
896
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/locking/virtlockd.conf $< $@
897

898
if WITH_QEMU
899 900 901 902
check-augeas-lockd: test_libvirt_lockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_lockd.aug; \
	fi
903 904 905
else ! WITH_QEMU
check-augeas-lockd:
endif ! WITH_QEMU
906

907 908 909 910 911
check-augeas-virtlockd: test_virtlockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_virtlockd.aug; \
	fi

912

913 914 915 916 917 918 919 920 921
test_virtlogd.aug: logging/test_virtlogd.aug.in \
		logging/virtlogd.conf $(AUG_GENTEST)
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/logging/virtlogd.conf $< $@

check-augeas-virtlogd: test_virtlogd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/logging test_virtlogd.aug; \
	fi

922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940
#
# 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.
#

941
USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
942

943
if WITH_LINUX
944
USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
945
else ! WITH_LINUX
946
SYM_FILES += $(srcdir)/libvirt_linux.syms
947
endif ! WITH_LINUX
948

949
if WITH_VMX
950
USED_SYM_FILES += $(srcdir)/libvirt_vmx.syms
951
else ! WITH_VMX
952
SYM_FILES += $(srcdir)/libvirt_vmx.syms
953
endif ! WITH_VMX
954

955
if WITH_SASL
956
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
957
else ! WITH_SASL
958
SYM_FILES += $(srcdir)/libvirt_sasl.syms
959
endif ! WITH_SASL
E
Eric Blake 已提交
960

961 962
if WITH_GNUTLS
USED_SYM_FILES += $(srcdir)/libvirt_gnutls.syms
963
else ! WITH_GNUTLS
964
SYM_FILES += $(srcdir)/libvirt_gnutls.syms
965
endif ! WITH_GNUTLS
966

967
if WITH_SSH2
968
USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
969
else ! WITH_SSH2
970
SYM_FILES += $(srcdir)/libvirt_libssh2.syms
971
endif ! WITH_SSH2
972

973
if WITH_ATOMIC_OPS_PTHREAD
974
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
975
else ! WITH_ATOMIC_OPS_PTHREAD
976
SYM_FILES += $(srcdir)/libvirt_atomic.syms
977
endif ! WITH_ATOMIC_OPS_PTHREAD
978

979 980 981 982 983 984
if WITH_LIBSSH
USED_SYM_FILES += $(srcdir)/libvirt_libssh.syms
else ! WITH_LIBSSH
SYM_FILES += $(srcdir)/libvirt_libssh.syms
endif ! WITH_LIBSSH

985
EXTRA_DIST += \
986 987 988 989 990 991
	libvirt_public.syms \
	libvirt_lxc.syms \
	libvirt_qemu.syms \
	libvirt_admin_public.syms \
	$(SYM_FILES) \
	$(ADMIN_SYM_FILES) \
992
	$(NULL)
993

994
BUILT_SOURCES += $(GENERATED_SYM_FILES)
995

996 997
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(ACCESS_DRIVER_SYM_FILES) \
998
		$(top_builddir)/config.status
999 1000 1001 1002 1003 1004
	$(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 && \
1005
	cat $(USED_SYM_FILES) $(ACCESS_DRIVER_SYM_FILES) >>$@-tmp && \
1006 1007
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
1008
	mv $@-tmp libvirt.syms
1009

1010
%.def: %.syms
1011 1012
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
1013
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d' \
1014
	    -e 's/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1015
	chmod a-w $@-tmp && \
1016
	mv $@-tmp $@
1017

1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030
libvirt_admin.syms: libvirt_admin_public.syms $(ADMIN_SYM_FILES) \
		$(top_builddir)/config.status
	$(AM_V_GEN)rm -f $@-tmp $@ ; \
	printf '# WARNING: generated from the following:\n# $^\n\n' >$@-tmp && \
	cat $(srcdir)/libvirt_admin_public.syms >>$@-tmp && \
	printf '\n\n# Private symbols\n\n' >>$@-tmp && \
	printf 'LIBVIRT_ADMIN_PRIVATE_$(VERSION) {\n\n'  >>$@-tmp && \
	printf 'global:\n\n' >>$@-tmp && \
	cat $(ADMIN_SYM_FILES) >>$@-tmp && \
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt_admin.syms

1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045

admin/admin_server_dispatch.c: admin/admin_server_dispatch_stubs.h

noinst_LTLIBRARIES += libvirt_driver_admin.la
libvirt_driver_admin_la_SOURCES = \
		admin/admin_protocol.c \
		admin/admin_protocol.h \
		admin/admin_server.c \
		admin/admin_server.h \
		admin/admin_server_dispatch.c \
		admin/admin_server_dispatch.h \
		admin/admin_server_dispatch_stubs.h \
		$(NULL)
libvirt_driver_admin_la_CFLAGS = \
		$(AM_CFLAGS) \
1046
		$(XDR_CFLAGS) \
1047 1048 1049 1050 1051 1052
		-I$(top_srcdir)/src/util \
		-I$(top_srcdir)/src/admin \
		$(NULL)
libvirt_driver_admin_la_LIBADD = ../gnulib/lib/libgnu.la
libvirt_driver_admin_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)

1053 1054 1055 1056
# admin/admin_remote.c is being included in libvirt-admin.c, so we
# need to include it in the dist
EXTRA_DIST += admin/admin_remote.c

M
Martin Kletzander 已提交
1057 1058
lib_LTLIBRARIES += libvirt-admin.la
libvirt_admin_la_SOURCES = \
1059 1060
		libvirt-admin.c \
		$(ADMIN_PROTOCOL_GENERATED) \
M
Martin Kletzander 已提交
1061 1062 1063
		$(DATATYPES_SOURCES)

libvirt_admin_la_LDFLAGS = \
1064 1065
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_ADMIN_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
1066
		$(AM_LDFLAGS)
M
Martin Kletzander 已提交
1067 1068

libvirt_admin_la_LIBADD = \
1069
		libvirt.la \
M
Martin Kletzander 已提交
1070 1071 1072
		$(CYGWIN_EXTRA_LIBADD)

libvirt_admin_la_CFLAGS = \
1073 1074 1075
		$(AM_CFLAGS) \
		-I$(srcdir)/remote \
		-I$(srcdir)/rpc \
M
Martin Kletzander 已提交
1076 1077 1078
		-I$(srcdir)/admin

libvirt_admin_la_CFLAGS += \
1079 1080 1081 1082 1083 1084
		$(XDR_CFLAGS) \
		$(CAPNG_CFLAGS) \
		$(YAJL_CFLAGS) \
		$(SSH2_CFLAGS) \
		$(SASL_CFLAGS) \
		$(GNUTLS_CFLAGS) \
1085
		$(LIBSSH_CFLAGS)
M
Martin Kletzander 已提交
1086 1087

libvirt_admin_la_LIBADD += \
1088 1089 1090 1091 1092 1093 1094
		$(CAPNG_LIBS) \
		$(YAJL_LIBS) \
		$(DEVMAPPER_LIBS) \
		$(LIBXML_LIBS) \
		$(SSH2_LIBS) \
		$(SASL_LIBS) \
		$(GNUTLS_LIBS) \
1095
		$(LIBSSH_LIBS)
M
Martin Kletzander 已提交
1096

1097 1098
ADMIN_SYM_FILES = $(srcdir)/libvirt_admin_private.syms

M
Martin Kletzander 已提交
1099 1100 1101 1102
if WITH_DTRACE_PROBES
libvirt_admin_la_LIBADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

1103 1104
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
D
Daniel P. Berrange 已提交
1105 1106 1107 1108
libvirt_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(LIBVIRT_NODELETE) \
1109
		$(NO_UNDEFINED_LDFLAGS) \
D
Daniel P. Berrange 已提交
1110 1111
		$(AM_LDFLAGS) \
		$(NULL)
1112
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
1113
libvirt_la_LIBADD += \
1114
		    $(DRIVER_MODULES_LIBS) \
1115
		    $(CYGWIN_EXTRA_LIBADD)
1116
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
1117 1118 1119 1120 1121 1122
# 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)
1123

1124
if WITH_DTRACE_PROBES
1125
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
1126
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
1127
nodist_libvirt_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1128
if WITH_REMOTE
E
Eric Blake 已提交
1129
nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1130
endif WITH_REMOTE
1131
DTRACE2SYSTEMTAP_FLAGS = --with-modules
1132

1133 1134
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

1135 1136

tapsetdir = $(datadir)/systemtap/tapset
1137
tapset_DATA += libvirt_probes.stp libvirt_functions.stp
1138

1139
%_probes.h: %_probes.d
1140 1141
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

E
Eric Blake 已提交
1142
.PRECIOUS: %_probes.o
1143
%_probes.o: %_probes.d
1144 1145
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

1146 1147 1148 1149 1150 1151 1152 1153 1154
%_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 已提交
1155
# Keep this list synced with PROTOCOL_STRUCTS
1156
RPC_PROBE_FILES += $(srcdir)/rpc/virnetprotocol.x \
J
Jiri Denemark 已提交
1157 1158
		  $(srcdir)/rpc/virkeepaliveprotocol.x \
		  $(srcdir)/remote/remote_protocol.x \
1159
		  $(srcdir)/remote/lxc_protocol.x \
1160
		  $(srcdir)/remote/qemu_protocol.x \
M
Martin Kletzander 已提交
1161 1162
		  $(srcdir)/locking/lock_protocol.x \
		  $(srcdir)/admin/admin_protocol.x
1163 1164

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

1167 1168
%_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl \
		$(top_builddir)/config.status
1169
	$(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
1170
	  $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
1171

1172
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
1173
              libvirt_functions.stp libvirt_probes.stp
1174
endif WITH_DTRACE_PROBES
1175

1176
EXTRA_DIST += libvirt_probes.d
1177

C
Chris Lalancette 已提交
1178
libvirt_qemu_la_SOURCES = libvirt-qemu.c
D
Daniel P. Berrange 已提交
1179 1180 1181 1182 1183
libvirt_qemu_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(NULL)
1184
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
1185
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
1186

1187
libvirt_lxc_la_SOURCES = libvirt-lxc.c
D
Daniel P. Berrange 已提交
1188 1189 1190 1191 1192
libvirt_lxc_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_LXC_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(NULL)
1193 1194 1195
libvirt_lxc_la_CFLAGS = $(AM_CFLAGS)
libvirt_lxc_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)

1196 1197 1198 1199 1200 1201 1202
# 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
1203
if WITH_SETUID_RPC_CLIENT
1204 1205
noinst_LTLIBRARIES += libvirt-setuid-rpc-client.la

1206 1207
libvirt_setuid_rpc_client_la_SOURCES = \
		util/viralloc.c \
1208
		util/virarch.c \
1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273
		util/viratomic.c \
		util/viratomic.h \
		util/virbitmap.c \
		util/virbuffer.c \
		util/vircgroup.c \
		util/vircommand.c \
		util/virconf.c \
		util/virdbus.c \
		util/virerror.c \
		util/virevent.c \
		util/vireventpoll.c \
		util/virfile.c \
		util/virgettext.c \
		util/virhash.c \
		util/virhashcode.c \
		util/virhostcpu.c \
		util/virjson.c \
		util/virlog.c \
		util/virobject.c \
		util/virpidfile.c \
		util/virprocess.c \
		util/virrandom.c \
		util/virsocketaddr.c \
		util/virstring.c \
		util/virsystemd.c \
		util/virtime.c \
		util/virthread.c \
		util/virthreadjob.c \
		util/virtypedparam.c \
		util/viruri.c \
		util/virutil.c \
		util/viruuid.c \
		conf/domain_event.c \
		conf/network_event.c \
		conf/object_event.c \
		conf/storage_event.c \
		conf/node_device_event.c \
		conf/secret_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-domain.c \
		libvirt-domain-snapshot.c \
		libvirt-host.c \
		libvirt-interface.c \
		libvirt-network.c \
		libvirt-nodedev.c \
		libvirt-nwfilter.c \
		libvirt-secret.c \
		libvirt-storage.c \
		libvirt-stream.c \
		libvirt-lxc.c \
1274 1275
		$(NULL)

1276 1277 1278 1279
libvirt_setuid_rpc_client_la_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(LIBXML_LIBS) \
		$(SECDRIVER_LIBS) \
1280
		$(NULL)
1281 1282 1283 1284 1285 1286 1287
libvirt_setuid_rpc_client_la_CFLAGS = \
		-DLIBVIRT_SETUID_RPC_CLIENT \
		-I$(srcdir)/conf \
		-I$(srcdir)/rpc \
		$(AM_CFLAGS) \
		$(SECDRIVER_CFLAGS) \
		$(XDR_CFLAGS) \
1288
		$(NULL)
1289
endif WITH_SETUID_RPC_CLIENT
1290

1291 1292 1293
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES =

1294
if WITH_LIBVIRTD
1295 1296 1297 1298 1299
lockdriver_LTLIBRARIES += lockd.la
lockd_la_SOURCES = \
		$(LOCK_DRIVER_LOCKD_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
		$(NULL)
1300
lockd_la_CFLAGS = -I$(srcdir)/conf \
E
Eric Blake 已提交
1301 1302
		$(XDR_CFLAGS) \
		$(AM_CFLAGS)
1303
lockd_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
1304
lockd_la_LIBADD = libvirt.la ../gnulib/lib/libgnu.la
J
Jiri Denemark 已提交
1305
augeas_DATA += locking/libvirt_lockd.aug
1306 1307
if WITH_DTRACE_PROBES
lockd_la_LIBADD += libvirt_probes.lo
1308
endif WITH_DTRACE_PROBES
1309
if WITH_QEMU
1310 1311
augeastest_DATA += test_libvirt_lockd.aug
CLEANFILES += test_libvirt_lockd.aug
1312
nodist_conf_DATA += locking/qemu-lockd.conf
1313 1314
BUILT_SOURCES += locking/qemu-lockd.conf
DISTCLEANFILES += locking/qemu-lockd.conf
1315
endif WITH_QEMU
1316

1317 1318 1319 1320 1321 1322
if WITH_LIBXL
nodist_conf_DATA += locking/libxl-lockd.conf
BUILT_SOURCES += locking/libxl-lockd.conf
DISTCLEANFILES += locking/libxl-lockd.conf
endif WITH_LIBXL

1323 1324 1325 1326 1327
locking/%-lockd.conf: $(srcdir)/locking/lockd.conf
	$(AM_V_GEN)$(MKDIR_P) locking ; \
	cp $< $@


1328
sbin_PROGRAMS += virtlockd virtlogd
1329

1330 1331 1332
virtlockd_SOURCES = \
		$(LOCK_DAEMON_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
1333
		$(LOCK_DAEMON_GENERATED) \
1334
		$(NULL)
1335 1336
virtlockd_CFLAGS = \
		$(AM_CFLAGS) \
D
Daniel P. Berrange 已提交
1337
		$(PIE_CFLAGS) \
1338
		$(XDR_CFLAGS) \
1339 1340 1341
		$(NULL)
virtlockd_LDFLAGS = \
		$(AM_LDFLAGS) \
D
Daniel P. Berrange 已提交
1342
		$(PIE_LDFLAGS) \
1343
		$(NO_UNDEFINED_LDFLAGS) \
1344 1345
		$(NULL)
virtlockd_LDADD = \
1346
		libvirt_driver_admin.la \
1347 1348 1349 1350 1351 1352 1353 1354
		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
1355
endif WITH_DTRACE_PROBES
1356

1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370

virtlogd_SOURCES = \
		$(LOG_DAEMON_SOURCES) \
		$(LOG_PROTOCOL_GENERATED) \
		$(LOG_DAEMON_GENERATED) \
		$(NULL)
virtlogd_CFLAGS = \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(XDR_CFLAGS) \
		$(NULL)
virtlogd_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
1371
		$(NO_UNDEFINED_LDFLAGS) \
1372 1373
		$(NULL)
virtlogd_LDADD = \
1374
		libvirt_driver_admin.la \
1375 1376 1377 1378 1379 1380 1381 1382 1383 1384
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
		libvirt_util.la \
		../gnulib/lib/libgnu.la \
		$(CYGWIN_EXTRA_LIBADD) \
		$(NULL)
if WITH_DTRACE_PROBES
virtlogd_LDADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

1385
else ! WITH_LIBVIRTD
1386
EXTRA_DIST += $(LOCK_DAEMON_SOURCES) \
1387 1388
              $(LOCK_DRIVER_LOCKD_SOURCES) \
	      $(LOG_DAEMON_SOURCES)
1389
endif ! WITH_LIBVIRTD
1390

1391
SYSCONF_FILES += \
1392
	locking/virtlockd.sysconf \
1393 1394 1395 1396
	logging/virtlogd.sysconf \
	$(NULL)

EXTRA_DIST += \
J
Jiri Denemark 已提交
1397 1398
	locking/lockd.conf \
	locking/libvirt_lockd.aug \
1399
	locking/test_libvirt_lockd.aug.in \
1400 1401
	$(SYSCONF_FILES) \
	$(NULL)
1402 1403

install-sysconfig:
E
Eric Blake 已提交
1404
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
1405 1406 1407
	for f in $(SYSCONF_FILES:%.sysconf=%) ; \
	do \
	  tgt=`basename $$f`; \
1408 1409
	  $(INSTALL_SCRIPT) $(srcdir)/$$f.sysconf \
	      $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \
1410
	done
1411 1412

uninstall-sysconfig:
1413 1414 1415 1416 1417
	for f in $(SYSCONF_FILES:%.sysconf=%) ; \
	do \
	  tgt=`basename $$f`; \
	  rm -f $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \
	done
E
Eric Blake 已提交
1418
	rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
1419

1420
SYSVINIT_FILES_IN += \
1421 1422 1423 1424 1425 1426 1427
	locking/virtlockd.init.in \
	logging/virtlogd.init.in \
	$(NULL)

SYSVINIT_FILES = $(notdir $(SYSVINIT_FILES_IN:%.in=%))

EXTRA_DIST += $(SYSVINIT_FILES_IN)
1428

1429
LOGROTATE_FILES := $(LOGROTATE_FILES_IN:remote/%.in=%)
1430 1431 1432 1433

EXTRA_DIST += $(LOGROTATE_FILES_IN)

BUILT_SOURCES += $(LOGROTATE_FILES)
1434
CLEANFILES += $(LOGROTATE_FILES)
1435 1436 1437 1438 1439 1440 1441

%.logrotate: remote/%.logrotate.in
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
	mv $@-t $@

1442
if WITH_LIBVIRTD
1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454
install-logrotate: $(LOGROTATE_FILES)
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/logrotate.d/
	for f in $(LOGROTATE_FILES) ; \
	do \
	  tgt=`echo $$f | sed -e 's/.logrotate//'`; \
	  $(INSTALL_DATA) $$f \
		$(DESTDIR)$(sysconfdir)/logrotate.d/$$tgt; \
	done

uninstall-logrotate:
	rm -f $(LOGROTATE_FILES:%.logrotate=$(DESTDIR)$(sysconfdir)/logrotate.d/%)
	rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || :
1455 1456 1457 1458
else ! WITH_LIBVIRTD
install-logrotate:
uninstall-logrotate:
endif ! WITH_LIBVIRTD
1459

1460
if LIBVIRT_INIT_SCRIPT_RED_HAT
1461
install-init:: $(SYSVINIT_FILES) install-sysconfig
E
Eric Blake 已提交
1462
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d
1463 1464 1465 1466
	for f in $(SYSVINIT_FILES:%.init=%) ; \
	do \
	  $(INSTALL_SCRIPT) $$f.init $(DESTDIR)$(sysconfdir)/rc.d/init.d/$$f; \
	done
1467 1468

uninstall-init:: uninstall-sysconfig
1469
	rm -f $(SYSVINIT_FILES:%.init=$(DESTDIR)$(sysconfdir)/rc.d/init.d/%)
E
Eric Blake 已提交
1470
	rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || :
1471

1472 1473
BUILT_SOURCES += $(SYSVINIT_FILES)
DISTCLEANFILES += $(SYSVINIT_FILES)
1474
else ! LIBVIRT_INIT_SCRIPT_RED_HAT
1475 1476
install-init::
uninstall-init::
1477
endif ! LIBVIRT_INIT_SCRIPT_RED_HAT
1478

1479

1480
virtlockd.init: locking/virtlockd.init.in $(top_builddir)/config.status
1481 1482 1483 1484 1485 1486
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    -e 's|[@]sbindir[@]|$(sbindir)|g' \
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
	    < $< > $@-t && \
	    chmod a+x $@-t && \
1487 1488
	    mv $@-t $@

1489
virtlogd.init: logging/virtlogd.init.in $(top_builddir)/config.status
1490 1491 1492 1493 1494 1495
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    -e 's|[@]sbindir[@]|$(sbindir)|g' \
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
	    < $< > $@-t && \
	    chmod a+x $@-t && \
1496 1497
	    mv $@-t $@

1498
virtlockd.8.in: locking/virtlockd.pod
1499 1500 1501 1502 1503 1504 1505 1506
	$(AM_V_GEN)$(POD2MAN) --section=8 $< $@-t1 && \
	if grep 'POD ERROR' $@-t1; then rm $@-t1; exit 1; fi && \
	sed \
		-e 's|SYSCONFDIR|\@sysconfdir\@|g' \
		-e 's|LOCALSTATEDIR|\@localstatedir\@|g' \
		< $@-t1 > $@-t2 && \
	rm -f $@-t1 && \
	mv $@-t2 $@
1507

1508
virtlogd.8.in: logging/virtlogd.pod
1509 1510 1511 1512 1513 1514 1515 1516
	$(AM_V_GEN)$(POD2MAN) --section=8 $< $@-t1 && \
	if grep 'POD ERROR' $@-t1; then rm $@-t1; exit 1; fi && \
	sed \
		-e 's|SYSCONFDIR|\@sysconfdir\@|g' \
		-e 's|LOCALSTATEDIR|\@localstatedir\@|g' \
		< $@-t1 > $@-t2 && \
	rm -f $@-t1 && \
	mv $@-t2 $@
1517

1518
%.8: %.8.in $(top_srcdir)/configure.ac
1519
	$(AM_V_GEN)sed \
1520 1521 1522
		-e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
		-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
		< $< > $@-t && \
1523 1524
	mv $@-t $@

1525
if WITH_LIBVIRTD
1526
man8_MANS += virtlockd.8 virtlogd.8
1527

1528
conf_DATA += locking/virtlockd.conf logging/virtlogd.conf
1529

1530 1531
augeas_DATA += locking/virtlockd.aug logging/virtlogd.aug
augeastest_DATA += test_virtlockd.aug test_virtlogd.aug
1532
endif WITH_LIBVIRTD
1533

1534
PODFILES += \
A
Andrea Bolognani 已提交
1535 1536 1537 1538
	locking/virtlockd.pod \
	logging/virtlogd.pod \
	$(NULL)

1539
MANINFILES += \
A
Andrea Bolognani 已提交
1540 1541 1542 1543 1544 1545
	virtlockd.8.in \
	virtlogd.8.in \
	$(NULL)

CLEANFILES += test_virtlockd.aug test_virtlogd.aug $(man8_MANS)
MAINTAINERCLEANFILES += $(MANINFILES)
1546

1547
SYSTEMD_UNIT_FILES_IN += \
1548 1549 1550 1551 1552 1553 1554 1555
	locking/virtlockd.service.in \
	locking/virtlockd.socket.in \
	locking/virtlockd-admin.socket.in \
	logging/virtlogd.service.in \
	logging/virtlogd.socket.in \
	logging/virtlogd-admin.socket.in \
	$(NULL)

1556
EXTRA_DIST += \
1557
        $(SYSTEMD_UNIT_FILES_IN) \
1558 1559 1560
        locking/virtlockd.aug \
        locking/virtlockd.conf \
        locking/test_virtlockd.aug.in \
1561 1562 1563
        logging/virtlogd.aug \
        logging/virtlogd.conf \
        logging/test_virtlogd.aug.in \
A
Andrea Bolognani 已提交
1564 1565
        $(PODFILES) \
        $(MANINFILES) \
1566
        $(NULL)
1567

1568 1569 1570 1571

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_SYSTEMD

1572
SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
1573
SYSTEMD_UNIT_FILES = $(notdir $(SYSTEMD_UNIT_FILES_IN:%.in=%))
1574

1575 1576
BUILT_SOURCES += $(SYSTEMD_UNIT_FILES)
DISTCLEANFILES += $(SYSTEMD_UNIT_FILES)
1577

1578
install-systemd: $(SYSTEMD_UNIT_FILES) install-sysconfig
E
Eric Blake 已提交
1579
	$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
1580 1581 1582 1583
	for f in $(SYSTEMD_UNIT_FILES); \
	do \
	  $(INSTALL_DATA) $$f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ ; \
	done
1584 1585

uninstall-systemd: uninstall-sysconfig
1586
	rm -f $(SYSTEMD_UNIT_FILES:%=$(DESTDIR)$(SYSTEMD_UNIT_DIR)/%)
E
Eric Blake 已提交
1587
	rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
1588
else ! LIBVIRT_INIT_SCRIPT_SYSTEMD
1589 1590
install-systemd:
uninstall-systemd:
1591 1592
endif ! LIBVIRT_INIT_SCRIPT_SYSTEMD
else ! WITH_LIBVIRTD
1593 1594
install-systemd:
uninstall-systemd:
1595
endif ! WITH_LIBVIRTD
1596 1597

virtlockd.service: locking/virtlockd.service.in $(top_builddir)/config.status
1598 1599 1600
	$(AM_V_GEN)sed \
	    -e 's|[@]sbindir[@]|$(sbindir)|g' \
	    < $< > $@-t && \
1601 1602 1603
	    mv $@-t $@

virtlockd.socket: locking/virtlockd.socket.in $(top_builddir)/config.status
1604 1605 1606
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
1607 1608
	    mv $@-t $@

J
John Ferlan 已提交
1609 1610 1611 1612 1613 1614 1615
virtlockd-admin.socket: locking/virtlockd-admin.socket.in \
                        $(top_builddir)/config.status
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
	    mv $@-t $@

1616
virtlogd.service: logging/virtlogd.service.in $(top_builddir)/config.status
1617 1618 1619
	$(AM_V_GEN)sed \
	    -e 's|[@]sbindir[@]|$(sbindir)|g' \
	    < $< > $@-t && \
1620 1621 1622
	    mv $@-t $@

virtlogd.socket: logging/virtlogd.socket.in $(top_builddir)/config.status
J
John Ferlan 已提交
1623 1624 1625 1626 1627 1628 1629
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
	    mv $@-t $@

virtlogd-admin.socket: logging/virtlogd-admin.socket.in \
                       $(top_builddir)/config.status
1630 1631 1632
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
1633 1634
	    mv $@-t $@

1635

1636 1637 1638 1639 1640 1641 1642 1643 1644 1645
EXTRA_DIST += $(UPSTART_FILES)

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_UPSTART

install-upstart: install-sysconfig
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/event.d
	for f in $(UPSTART_FILES:%.upstart=%); \
	do \
	  tgt=`basename $$f` ; \
1646 1647
	  $(INSTALL_SCRIPT) $(srcdir)/$$f.upstart \
	      $(DESTDIR)$(sysconfdir)/event.d/$$tgt ; \
1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665
	done

uninstall-upstart: uninstall-sysconfig
	for f in $(UPSTART_FILES:%.upstart=%); \
	do \
	  tgt=`basename $$f` ; \
	  rm -f $(DESTDIR)$(sysconfdir)/event.d/$$tgt ; \
	done
	rmdir $(DESTDIR)$(sysconfdir)/event.d || :
else ! LIBVIRT_INIT_SCRIPT_UPSTART
install-upstart:
uninstall-upstart:
endif ! LIBVIRT_INIT_SCRIPT_UPSTART
else ! WITH_LIBVIRTD
install-upstart:
uninstall-upstart:
endif ! WITH_LIBVIRTD

1666
if WITH_SANLOCK
1667
lockdriver_LTLIBRARIES += sanlock.la
1668
sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
1669
sanlock_la_CFLAGS = -I$(srcdir)/conf $(AM_CFLAGS)
1670
sanlock_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
1671
sanlock_la_LIBADD = -lsanlock_client libvirt.la ../gnulib/lib/libgnu.la
1672 1673

augeas_DATA += locking/libvirt_sanlock.aug
1674 1675
augeastest_DATA += test_libvirt_sanlock.aug
CLEANFILES += test_libvirt_sanlock.aug
1676

E
Eric Blake 已提交
1677
locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
1678
	$(AM_V_GEN)$(MKDIR_P) locking ; \
1679 1680 1681
	cp $< $@

if WITH_QEMU
1682
nodist_conf_DATA += locking/qemu-sanlock.conf
1683
BUILT_SOURCES += locking/qemu-sanlock.conf
E
Eric Blake 已提交
1684
DISTCLEANFILES += locking/qemu-sanlock.conf
1685
endif WITH_QEMU
1686 1687 1688 1689 1690 1691

if WITH_LIBXL
nodist_conf_DATA += locking/libxl-sanlock.conf
BUILT_SOURCES += locking/libxl-sanlock.conf
DISTCLEANFILES += locking/libxl-sanlock.conf
endif WITH_LIBXL
1692
else ! WITH_SANLOCK
1693
EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
1694
endif ! WITH_SANLOCK
1695 1696
EXTRA_DIST += locking/sanlock.conf \
	locking/libvirt_sanlock.aug \
1697
	locking/test_libvirt_sanlock.aug.in
1698

1699 1700 1701 1702
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
1703

1704 1705 1706 1707 1708
libvirt_la_BUILT_LIBADD += \
       libvirt-net-rpc.la \
       libvirt-net-rpc-server.la \
       libvirt-net-rpc-client.la

1709
EXTRA_DIST += \
E
Eric Blake 已提交
1710 1711 1712 1713
	dtrace2systemtap.pl \
	rpc/gendispatch.pl \
	rpc/genprotocol.pl \
	rpc/gensystemtap.pl \
J
Jiri Denemark 已提交
1714 1715
	rpc/virnetprotocol.x \
	rpc/virkeepaliveprotocol.x
1716

E
Eric Blake 已提交
1717
VIR_NET_RPC_GENERATED = \
1718 1719 1720 1721
	rpc/virnetprotocol.h \
	rpc/virnetprotocol.c \
	rpc/virkeepaliveprotocol.h \
	rpc/virkeepaliveprotocol.c
1722

1723
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
1724

1725
libvirt_net_rpc_la_SOURCES = \
1726
	rpc/virnetmessage.h rpc/virnetmessage.c \
1727
	rpc/virnetsocket.h rpc/virnetsocket.c \
1728 1729
	rpc/virkeepalive.h rpc/virkeepalive.c \
	$(VIR_NET_RPC_GENERATED)
1730
if WITH_SSH2
1731 1732
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
1733
else ! WITH_SSH2
1734 1735
EXTRA_DIST += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
1736
endif ! WITH_SSH2
1737
if WITH_GNUTLS
1738 1739
libvirt_net_rpc_la_SOURCES += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
1740
else ! WITH_GNUTLS
1741 1742
EXTRA_DIST += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
1743
endif ! WITH_GNUTLS
1744
if WITH_SASL
1745 1746
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
1747
else ! WITH_SASL
1748 1749
EXTRA_DIST += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
1750
endif ! WITH_SASL
1751 1752 1753 1754 1755 1756 1757
if WITH_LIBSSH
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetlibsshsession.h rpc/virnetlibsshsession.c
else ! WITH_LIBSSH
EXTRA_DIST += \
	rpc/virnetlibsshsession.h rpc/virnetlibsshsession.c
endif ! WITH_LIBSSH
1758
libvirt_net_rpc_la_CFLAGS = \
1759
			$(GNUTLS_CFLAGS) \
1760
			$(SASL_CFLAGS) \
1761
			$(SSH2_CFLAGS) \
1762
			$(LIBSSH_CFLAGS) \
1763
			$(XDR_CFLAGS) \
1764 1765
			$(AM_CFLAGS)
libvirt_net_rpc_la_LDFLAGS = \
1766
			$(GNUTLS_LIBS) \
1767
			$(SASL_LIBS) \
1768
			$(SSH2_LIBS)\
1769
			$(LIBSSH_LIBS) \
J
Jim Fehlig 已提交
1770
			$(SECDRIVER_LIBS) \
1771
			$(AM_LDFLAGS) \
1772
			$(NULL)
1773 1774 1775
libvirt_net_rpc_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1776 1777 1778 1779
libvirt_net_rpc_server_la_SOURCES = \
	rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
	rpc/virnetserverservice.h rpc/virnetserverservice.c \
	rpc/virnetserverclient.h rpc/virnetserverclient.c \
1780
	rpc/virnetservermdns.h rpc/virnetservermdns.c \
1781
	rpc/virnetdaemon.h rpc/virnetdaemon.c \
1782 1783
	rpc/virnetserver.h rpc/virnetserver.c
libvirt_net_rpc_server_la_CFLAGS = \
1784
			$(AVAHI_CFLAGS) \
1785
			$(DBUS_CFLAGS) \
E
Eric Blake 已提交
1786
			$(XDR_CFLAGS) \
1787
			$(AM_CFLAGS)
1788 1789
libvirt_net_rpc_server_la_LDFLAGS = \
			$(AM_LDFLAGS) \
1790
			$(AVAHI_LIBS) \
1791
			$(DBUS_LIBS) \
1792
			$(NULL)
1793 1794 1795
libvirt_net_rpc_server_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1796 1797 1798 1799 1800
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 已提交
1801 1802
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
1803
libvirt_net_rpc_client_la_LDFLAGS = $(AM_LDFLAGS)
1804 1805
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
1806

1807
if WITH_LIBVIRTD
1808 1809
libexec_PROGRAMS += libvirt_iohelper
libvirt_iohelper_SOURCES = $(UTIL_IO_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
1810 1811 1812 1813
libvirt_iohelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
1814 1815
libvirt_iohelper_LDADD = \
		libvirt_util.la \
1816
		../gnulib/lib/libgnu.la
1817 1818
if WITH_DTRACE_PROBES
libvirt_iohelper_LDADD += libvirt_probes.lo
1819
endif WITH_DTRACE_PROBES
1820

D
Daniel P. Berrange 已提交
1821 1822 1823 1824
libvirt_iohelper_CFLAGS = \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
1825 1826


1827
endif WITH_LIBVIRTD
1828

1829

1830
if WITH_SANLOCK
1831 1832 1833
libexec_PROGRAMS += libvirt_sanlock_helper

libvirt_sanlock_helper_SOURCES = $(LOCK_DRIVER_SANLOCK_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
1834
libvirt_sanlock_helper_CFLAGS = \
1835
		-I$(srcdir)/conf \
D
Daniel P. Berrange 已提交
1836 1837 1838 1839 1840 1841 1842
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
libvirt_sanlock_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
1843
libvirt_sanlock_helper_LDADD = libvirt.la
1844
endif WITH_SANLOCK
1845

1846

J
Jamie Strandboge 已提交
1847

1848
if WITH_NSS
1849 1850
noinst_LTLIBRARIES += libvirt-nss.la

1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899
libvirt_nss_la_SOURCES = \
		util/viralloc.c \
		util/viralloc.h \
		util/viratomic.c \
		util/viratomic.h \
		util/virbitmap.c \
		util/virbitmap.h \
		util/virbuffer.c \
		util/virbuffer.h \
		util/vircommand.c \
		util/vircommand.h \
		util/virerror.c \
		util/virerror.h \
		util/virfile.c \
		util/virfile.h \
		util/virhash.c \
		util/virhash.h \
		util/virhashcode.c \
		util/virhashcode.h \
		util/virjson.c \
		util/virjson.h \
		util/virkmod.c \
		util/virkmod.h \
		util/virlease.c \
		util/virlease.h \
		util/virlog.c \
		util/virlog.h \
		util/virmacmap.c \
		util/virmacmap.h \
		util/virobject.c \
		util/virobject.h \
		util/virpidfile.c \
		util/virpidfile.h \
		util/virprocess.c \
		util/virprocess.h \
		util/virrandom.c \
		util/virrandom.h \
		util/virsocketaddr.c \
		util/virsocketaddr.h \
		util/virstring.c \
		util/virstring.h \
		util/virthread.c \
		util/virthread.h \
		util/virthreadjob.c \
		util/virthreadjob.h \
		util/virtime.c \
		util/virtime.h \
		util/virutil.c \
		util/virutil.h \
1900 1901
		$(NULL)

1902 1903 1904 1905
libvirt_nss_la_CFLAGS = \
		-DLIBVIRT_NSS \
		$(AM_CFLAGS) \
		$(YAJL_CFLAGS) \
1906
		$(NULL)
1907 1908
libvirt_nss_la_LDFLAGS = \
		$(AM_LDFLAGS) \
1909 1910
		$(NULL)

1911 1912
libvirt_nss_la_LIBADD = \
		$(YAJL_LIBS) \
1913
		$(NULL)
1914
endif WITH_NSS
1915 1916


1917
install-data-local: install-init install-systemd install-upstart \
1918
		install-sysctl install-polkit install-sasl \
1919
		install-logrotate $(INSTALL_DATA_DIRS:%=install-data-%)
1920 1921
if WITH_LIBVIRTD
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd"
1922
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files"
1923
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lockd"
1924
endif WITH_LIBVIRTD
1925 1926
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
1927
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems"
1928
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
1929
if WITH_SANLOCK
1930
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock"
1931
endif WITH_SANLOCK
1932

1933
uninstall-local:: uninstall-init uninstall-systemd uninstall-upstart \
1934
		uninstall-sysctl uninstall-polkit uninstall-sasl \
1935
		uninstall-logrotate $(INSTALL_DATA_DIRS:%=uninstall-data-%)
1936
if WITH_LIBVIRTD
1937
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files" ||:
1938 1939
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lockd" ||:
1940
endif WITH_LIBVIRTD
1941 1942
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
1943
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
1944
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
1945
if WITH_SANLOCK
1946
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
1947
endif WITH_SANLOCK
1948
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
R
Richard W.M. Jones 已提交
1949

1950 1951
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
1952 1953 1954
MAINTAINERCLEANFILES += \
	$(VIR_NET_RPC_GENERATED) \
	$(NULL)