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

3 4 5
INCLUDES = \
	   -I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
	   -I../include \
6 7
	   -I@top_srcdir@/include \
	   -I@top_srcdir@/qemud \
8
	   $(LIBXML_CFLAGS) \
9
	   $(XEN_CFLAGS) \
10
	   $(SELINUX_CFLAGS) \
11 12
	   $(DRIVER_MODULE_CFLAGS) \
	   -DLIBDIR=\""$(libdir)"\" \
13 14 15 16
	   -DBINDIR=\""$(libexecdir)"\" \
	   -DSBINDIR=\""$(sbindir)"\" \
	   -DSYSCONF_DIR="\"$(sysconfdir)\"" \
	   -DLOCALEBASEDIR=\""$(datadir)/locale"\" \
D
Daniel P. Berrange 已提交
17
           -DLOCAL_STATE_DIR=\""$(localstatedir)"\" \
18
           -DGETTEXT_PACKAGE=\"$(PACKAGE)\" \
19 20
	   $(WARN_CFLAGS)

21 22 23
confdir = $(sysconfdir)/libvirt/
conf_DATA = qemu.conf

24 25 26 27 28 29 30
ICON_FILES = \
	libvirt_win_icon_16x16.ico \
	libvirt_win_icon_32x32.ico \
	libvirt_win_icon_48x48.ico \
	libvirt_win_icon_64x64.ico \
	virsh_win_icon.rc

31
EXTRA_DIST = $(conf_DATA) $(ICON_FILES)
32

33

34
lib_LTLIBRARIES = libvirt.la
35

36 37 38 39
moddir = $(libdir)/libvirt/drivers
mod_LTLIBRARIES =


40 41
# These files are not related to driver APIs. Simply generic
# helper APIs for various purposes
42
UTIL_SOURCES =							\
43 44 45
		bridge.c bridge.h				\
		buf.c buf.h					\
		conf.c conf.h					\
46
		event.c event.h					\
47
		hash.c hash.h					\
48
		iptables.c iptables.h				\
49
		logging.c logging.h				\
50
		memory.c memory.h				\
51
		pci.c pci.h					\
52
		qparams.c qparams.h				\
53 54 55
		threads.c threads.h				\
		threads-pthread.h				\
		threads-win32.h					\
56 57
		uuid.c uuid.h					\
		util.c util.h					\
58
		virterror.c virterror_internal.h		\
59 60
		xml.c xml.h

61 62
EXTRA_DIST += threads-pthread.c threads-win32.c

63
# Internal generic driver infrastructure
64
DRIVER_SOURCES =						\
65
		driver.c driver.h				\
66 67 68 69 70 71 72
		internal.h					\
		datatypes.c datatypes.h				\
		domain_event.c domain_event.h			\
		stats_linux.c stats_linux.h			\
		libvirt.c libvirt_internal.h


73 74 75 76 77 78 79 80 81 82 83 84
# Domain driver generic impl APIs
DOMAIN_CONF_SOURCES =						\
		capabilities.c capabilities.h			\
		domain_conf.c domain_conf.h			\
		nodeinfo.h nodeinfo.c

# Network driver generic impl APIs
NETWORK_CONF_SOURCES =						\
		network_conf.c network_conf.h

# Storage driver generic impl APIs
STORAGE_CONF_SOURCES =						\
85
		storage_conf.h storage_conf.c
86 87 88 89 90


# The remote RPC driver, covering domains, storage, networks, etc
REMOTE_DRIVER_SOURCES =						\
		gnutls_1_0_compat.h				\
91
		remote_internal.c remote_internal.h		\
92
		../qemud/remote_protocol.c			\
93
		../qemud/remote_protocol.h
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109

# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES =						\
		test.c test.h



# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
		proxy_internal.c proxy_internal.h		\
		sexpr.c sexpr.h					\
		xen_internal.c xen_internal.h			\
		xen_unified.c xen_unified.h			\
		xend_internal.c xend_internal.h			\
		xm_internal.c xm_internal.h			\
		xs_internal.c xs_internal.h
110 111 112
if WITH_XEN_INOTIFY
XEN_DRIVER_SOURCES += xen_inotify.c xen_inotify.h
endif
113 114

LXC_DRIVER_SOURCES =						\
D
Daniel Veillard 已提交
115
		lxc_conf.c lxc_conf.h				\
R
Richard W.M. Jones 已提交
116
		lxc_container.c lxc_container.h			\
117
		lxc_driver.c lxc_driver.h			\
D
Dan Smith 已提交
118 119
		veth.c veth.h					\
		cgroup.c cgroup.h
120

121 122 123 124
LXC_CONTROLLER_SOURCES =					\
		lxc_conf.c lxc_conf.h				\
		lxc_container.c lxc_container.h			\
		lxc_controller.c				\
D
Dan Smith 已提交
125 126
		veth.c veth.h                                   \
		cgroup.c cgroup.h
127

128 129 130
OPENVZ_DRIVER_SOURCES =						\
		openvz_conf.c openvz_conf.h			\
		openvz_driver.c openvz_driver.h
131

132 133 134
QEMU_DRIVER_SOURCES =						\
		qemu_conf.c qemu_conf.h				\
		qemu_driver.c qemu_driver.h
R
Richard W.M. Jones 已提交
135

136 137 138 139
UML_DRIVER_SOURCES =						\
		uml_conf.c uml_conf.h				\
		uml_driver.c uml_driver.h

140 141
NETWORK_DRIVER_SOURCES =					\
		network_driver.h network_driver.c
142

143
# Storage backend specific impls
144
STORAGE_DRIVER_SOURCES =					\
145 146
		storage_driver.h storage_driver.c		\
		storage_backend.h storage_backend.c
147

148 149 150 151
# Network driver generic impl APIs
NODE_DEVICE_CONF_SOURCES =					\
		node_device_conf.c node_device_conf.h

152
STORAGE_DRIVER_FS_SOURCES =					\
R
Richard W.M. Jones 已提交
153 154
		storage_backend_fs.h storage_backend_fs.c

155
STORAGE_DRIVER_LVM_SOURCES =					\
156
		storage_backend_logical.h			\
157 158 159 160 161 162 163 164 165 166 167 168
		storage_backend_logical.c

STORAGE_DRIVER_ISCSI_SOURCES =					\
		storage_backend_iscsi.h storage_backend_iscsi.c

STORAGE_DRIVER_DISK_SOURCES =					\
		storage_backend_disk.h storage_backend_disk.c

STORAGE_HELPER_DISK_SOURCES =					\
		parthelper.c


169 170 171 172 173
# Security framework and drivers for various models
SECURITY_DRIVER_SOURCES =                                      \
		security.h security.c


174 175 176 177 178 179 180 181
NODE_DEVICE_DRIVER_SOURCES =					\
		node_device.c node_device.h

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
		node_device_hal.c
NODE_DEVICE_DRIVER_DEVKIT_SOURCES =				\
		node_device_devkit.c

182 183 184 185 186 187 188

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

189 190 191 192 193 194 195 196 197
noinst_LTLIBRARIES = libvirt_util.la
libvirt_la_LIBADD = libvirt_util.la
libvirt_util_la_SOURCES =					\
		$(UTIL_SOURCES)

noinst_LTLIBRARIES += libvirt_driver.la
libvirt_la_LIBADD += libvirt_driver.la
libvirt_driver_la_SOURCES =					\
		$(DRIVER_SOURCES)				\
198 199
		$(DOMAIN_CONF_SOURCES)				\
		$(NETWORK_CONF_SOURCES)				\
200 201 202
		$(STORAGE_CONF_SOURCES)				\
		$(NODE_DEVICE_CONF_SOURCES)

203 204
libvirt_driver_la_CFLAGS = $(XEN_CFLAGS) $(NUMACTL_CFLAGS)
libvirt_driver_la_LDFLAGS = $(XEN_LIBS) $(NUMACTL_LIBS)
205

206
USED_SYM_FILES = libvirt_private.syms
207

208
if WITH_TEST
209 210 211
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_test.la
else
212 213
noinst_LTLIBRARIES += libvirt_driver_test.la
libvirt_la_LIBADD += libvirt_driver_test.la
214 215 216 217
endif
if WITH_DRIVER_MODULES
libvirt_driver_test_la_LDFLAGS = -module -avoid-version
endif
218
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
219 220 221
endif

if WITH_REMOTE
222 223 224
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_remote.la
else
225 226
noinst_LTLIBRARIES += libvirt_driver_remote.la
libvirt_la_LIBADD += libvirt_driver_remote.la
227
endif
228 229 230 231 232 233
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
		$(SASL_CFLAGS)
libvirt_driver_remote_la_LDFLAGS =				\
		$(GNUTLS_LIBS)					\
		$(SASL_LIBS)
234 235 236
if WITH_DRIVER_MODULES
libvirt_driver_remote_la_LDFLAGS += -module -avoid-version
endif
237
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
238 239 240
endif

if WITH_XEN
241 242 243
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
else
244 245
noinst_LTLIBRARIES += libvirt_driver_xen.la
libvirt_la_LIBADD += libvirt_driver_xen.la
246
endif
247 248
libvirt_driver_xen_la_CFLAGS = $(XEN_CFLAGS)
libvirt_driver_xen_la_LDFLAGS = $(XEN_LIBS)
249 250 251
if WITH_DRIVER_MODULES
libvirt_driver_xen_la_LDFLAGS += -module -avoid-version
endif
252
libvirt_driver_xen_la_SOURCES = $(XEN_DRIVER_SOURCES)
253 254
endif

255
if WITH_OPENVZ
256 257 258
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_openvz.la
else
259 260
noinst_LTLIBRARIES += libvirt_driver_openvz.la
libvirt_la_LIBADD += libvirt_driver_openvz.la
261 262 263 264
endif
if WITH_DRIVER_MODULES
libvirt_driver_openvz_la_LDFLAGS = -module -avoid-version
endif
265
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
266 267
endif

268
if WITH_QEMU
269 270 271
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
else
272
noinst_LTLIBRARIES += libvirt_driver_qemu.la
273 274
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_qemu.la
275
endif
276 277
libvirt_driver_qemu_la_CFLAGS = $(NUMACTL_CFLAGS)
libvirt_driver_qemu_la_LDFLAGS = $(NUMACTL_LIBS)
278 279 280
if WITH_DRIVER_MODULES
libvirt_driver_qemu_la_LDFLAGS += -module -avoid-version
endif
281
libvirt_driver_qemu_la_SOURCES = $(QEMU_DRIVER_SOURCES)
282 283 284
endif

if WITH_LXC
285 286 287
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
else
288
noinst_LTLIBRARIES += libvirt_driver_lxc.la
289 290
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_lxc.la
291 292 293 294
endif
if WITH_DRIVER_MODULES
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version
endif
295
libvirt_driver_lxc_la_SOURCES = $(LXC_DRIVER_SOURCES)
296 297
endif

298
if WITH_UML
299 300 301
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
else
302 303 304
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_uml.la
305 306 307 308 309 310
endif
libvirt_driver_uml_la_CFLAGS = $(NUMACTL_CFLAGS)
libvirt_driver_uml_la_LDFLAGS = $(NUMACTL_LIBS)
if WITH_DRIVER_MODULES
libvirt_driver_uml_la_LDFLAGS += -module -avoid-version
endif
311 312
libvirt_driver_uml_la_SOURCES = $(UML_DRIVER_SOURCES)
endif
313 314

if WITH_NETWORK
315 316 317
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
else
318
noinst_LTLIBRARIES += libvirt_driver_network.la
319 320
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_network.la
321 322 323 324
endif
if WITH_DRIVER_MODULES
libvirt_driver_network_la_LDFLAGS = -module -avoid-version
endif
325
libvirt_driver_network_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
326 327
endif

328 329
# Needed to keep automake quiet about conditionals
libvirt_driver_storage_la_SOURCES =
330
if WITH_STORAGE_DIR
331 332 333
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
else
334
noinst_LTLIBRARIES += libvirt_driver_storage.la
335 336
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_storage.la
337 338 339 340
endif
if WITH_DRIVER_MODULES
libvirt_driver_storage_la_LDFLAGS = -module -avoid-version
endif
341 342
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
343 344
endif

345
if WITH_STORAGE_LVM
346
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
347 348
endif

349
if WITH_STORAGE_ISCSI
350
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
351 352
endif

353
if WITH_STORAGE_DISK
354
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
355
endif
356

357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386
if WITH_NODE_DEVICES
# Needed to keep automake quiet about conditionals
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nodedev.la
else
noinst_LTLIBRARIES += libvirt_driver_nodedev.la
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_nodedev.la
endif
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

libvirt_driver_nodedev_la_CFLAGS =
libvirt_driver_nodedev_la_LDFLAGS =
if HAVE_HAL
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
libvirt_driver_nodedev_la_LDFLAGS += $(HAL_LIBS)
endif
if HAVE_DEVKIT
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_DEVKIT_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(DEVKIT_CFLAGS)
libvirt_driver_nodedev_la_LDFLAGS += $(DEVKIT_LIBS)
endif

if WITH_DRIVER_MODULES
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
endif
endif


387 388 389 390
libvirt_driver_security_la_SOURCES = $(SECURITY_DRIVER_SOURCES)
noinst_LTLIBRARIES += libvirt_driver_security.la
libvirt_la_LIBADD += libvirt_driver_security.la

391 392 393 394 395 396 397
# Add all conditional sources just in case...
EXTRA_DIST +=							\
		$(TEST_DRIVER_SOURCES)				\
		$(REMOTE_DRIVER_SOURCES)			\
		$(XEN_DRIVER_SOURCES)				\
		$(QEMU_DRIVER_SOURCES)				\
		$(LXC_DRIVER_SOURCES)				\
398
		$(UML_DRIVER_SOURCES)				\
399
		$(OPENVZ_DRIVER_SOURCES)			\
400
		$(NETWORK_DRIVER_SOURCES)			\
401 402 403 404
		$(STORAGE_DRIVER_SOURCES)			\
		$(STORAGE_DRIVER_FS_SOURCES)			\
		$(STORAGE_DRIVER_LVM_SOURCES)			\
		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
405 406 407 408
		$(STORAGE_DRIVER_DISK_SOURCES)			\
		$(NODE_DEVICE_DRIVER_SOURCES)			\
		$(NODE_DEVICE_DRIVER_HAL_SOURCES)		\
		$(NODE_DEVICE_DRIVER_DEVKIT_SOURCES)
409

410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429
#
# 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.
#

if ENABLE_DEBUG
430
USED_SYM_FILES += libvirt_debug.syms
431
endif
432 433

if WITH_DRIVER_MODULES
434
USED_SYM_FILES += libvirt_driver_modules.syms
435
endif
436 437

if WITH_BRIDGE
438
USED_SYM_FILES += libvirt_bridge.syms
439
endif
440 441

if WITH_LINUX
442
USED_SYM_FILES += libvirt_linux.syms
443
endif
444

445 446 447 448 449 450 451
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
  libvirt_debug.syms		\
  libvirt_driver_modules.syms	\
  libvirt_bridge.syms		\
  libvirt_linux.syms
452

453
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES)
454 455 456 457 458 459
	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
460
	for file in $(USED_SYM_FILES); do \
461 462 463 464 465
	    cat $(srcdir)/$$file >>$@-tmp; \
	done
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp
	chmod a-w $@-tmp
	mv $@-tmp libvirt.syms
466

467 468
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
469
libvirt_la_LIBADD += \
470
		    @CYGWIN_EXTRA_LIBADD@ ../gnulib/lib/libgnu.la
471
libvirt_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)libvirt.syms \
472 473
                     -version-info @LIBVIRT_VERSION_INFO@ \
                    $(COVERAGE_CFLAGS:-f%=-Wc,-f%) \
474
                    $(LIBXML_LIBS) $(SELINUX_LIBS) \
475
		    $(XEN_LIBS) $(DRIVER_MODULE_LIBS) \
476
		    @CYGWIN_EXTRA_LDFLAGS@ @MINGW_EXTRA_LDFLAGS@
477
libvirt_la_CFLAGS = $(COVERAGE_CFLAGS) -DIN_LIBVIRT
478
libvirt_la_DEPENDENCIES = $(libvirt_la_LIBADD) libvirt.syms
479

480 481 482
# Create an automake "convenience library" version of libvirt_la,
# just for testing, since the test harness requires access to internal
# bits and pieces that we don't want to make publicly accessible.
483
noinst_LTLIBRARIES += libvirt_test.la
484

485
# Remove version script from convenience library
486 487
test_LDFLAGS =						\
  $$(echo '$(libvirt_la_LDFLAGS)'			\
488
     |sed 's!@VERSION_SCRIPT_FLAGS@libvirt.syms!!'	\
489 490 491 492 493 494 495 496
     |sed 's!-version-info @LIBVIRT_VERSION_INFO@!!')

# Just like the above, but with a slightly different set of public symbols.
libvirt_test_la_SOURCES = $(libvirt_la_SOURCES)
libvirt_test_la_LIBADD = $(libvirt_la_LIBADD)
libvirt_test_la_LDFLAGS = $(test_LDFLAGS)
libvirt_test_la_CFLAGS = $(COVERAGE_CFLAGS)

K
Karel Zak 已提交
497
bin_PROGRAMS = virsh
498

499 500 501 502
virsh_SOURCES =							\
		console.c console.h				\
		virsh.c

503
virsh_LDFLAGS = $(WARN_CFLAGS) $(COVERAGE_LDFLAGS)
504 505
virsh_LDADD =							\
		$(STATIC_BINARIES)				\
506
		$(WARN_CFLAGS)					\
507
		$(NUMACTL_LIBS)					\
508 509 510
		libvirt.la					\
		../gnulib/lib/libgnu.la				\
		$(VIRSH_LIBS)
511
virsh_CFLAGS = $(COVERAGE_CFLAGS) $(READLINE_CFLAGS) $(NUMACTL_CFLAGS)
512
BUILT_SOURCES = virsh-net-edit.c virsh-pool-edit.c libvirt.syms
513 514 515 516 517 518 519 520 521 522

virsh-net-edit.c: virsh.c Makefile.am
	rm -f $@-tmp
	echo '/* Automatically generated from: $^ */' > $@-tmp
	echo 'static int' >> $@-tmp
	awk '/^cmdEdit/, /^}/' $< \
	  | sed -e 's/domain/network/g' \
	      -e 's/Domain/Network/g' \
	      -e 's/cmdEdit/cmdNetworkEdit/g' \
	      -e 's/dom/network/g' \
523
	      -e 's/int flags.*/int flags = 0;/g' \
524 525 526 527 528 529 530 531 532 533 534 535 536
	>> $@-tmp
	chmod a-w $@-tmp
	rm -f $@
	mv $@-tmp $@

virsh-pool-edit.c: virsh.c Makefile.am
	rm -f $@-tmp
	echo '/* Automatically generated from: $^ */' > $@-tmp
	echo 'static int' >> $@-tmp
	awk '/^cmdEdit/, /^}/' $< \
	  | sed -e 's/domain/pool/g' \
	      -e 's/vshCommandOptDomain/vshCommandOptPool/g' \
	      -e 's/Domain %s/Pool %s/g' \
J
Jim Meyering 已提交
537
	      -e 's/(ctl, cmd, NULL);/(ctl, cmd, "pool", NULL);/' \
538 539 540 541
	      -e 's/Domain/StoragePool/g' \
	      -e 's/cmdEdit/cmdPoolEdit/g' \
	      -e 's/\(virStoragePoolDefineXML.*\));/\1, 0);/' \
	      -e 's/dom/pool/g' \
542
	      -e 's/int flags.*/int flags = 0;/g' \
543 544 545 546
	>> $@-tmp
	chmod a-w $@-tmp
	rm -f $@
	mv $@-tmp $@
547

548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573
if WITH_WIN_ICON
virsh_LDADD += virsh_win_icon.$(OBJEXT)

# Before you edit virsh_win_icon.rc, please note the following
# limitations of the resource file format:
#
# (1) '..' is not permitted in the icon filename field.
# (2) '-' is not permitted in the icon filename field.
# (3) Comments are not permitted in the file.
#
# Windows appears to choose the first <= 32x32 icon it finds
# in the resource file.  Therefore you should list the available
# icons from largest to smallest, and make sure that the 32x32
# icon is the most legible.
#
# Windows .ICO is a special MS-only format.  GIMP and other
# tools can write it.  However there are several variations,
# and Windows seems to do its own colour quantization.  More
# information is needed in this area.

virsh_win_icon.$(OBJEXT): virsh_win_icon.rc
	$(WINDRES) \
	  --input-format rc --input $< \
	  --output-format coff --output $@
endif

574 575
libexec_PROGRAMS =

576
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
577
if WITH_LIBVIRTD
578
libexec_PROGRAMS += libvirt_parthelper
579

580
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
581 582 583
libvirt_parthelper_LDFLAGS = $(WARN_CFLAGS) $(COVERAGE_LDCFLAGS)
libvirt_parthelper_LDADD = $(LIBPARTED_LIBS)
libvirt_parthelper_CFLAGS =  $(LIBPARTED_CFLAGS)
R
Richard W.M. Jones 已提交
584
endif
585
endif
586 587
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

588

589 590 591 592 593 594
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
595
		$(UTIL_SOURCES)					\
596 597
		$(DOMAIN_CONF_SOURCES)
libvirt_lxc_LDFLAGS = $(WARN_CFLAGS) $(COVERAGE_LDCFLAGS)
598 599
libvirt_lxc_LDADD = $(LIBXML_LIBS) $(NUMACTL_LIBS) ../gnulib/lib/libgnu.la
libvirt_lxc_CFLAGS =  $(LIBPARTED_CFLAGS) $(NUMACTL_CFLAGS)
600 601 602 603
endif
endif
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

R
Richard W.M. Jones 已提交
604
install-exec-local:
605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
if WITH_QEMU
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/qemu"
endif
if WITH_LXC
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
endif
if WITH_UML
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/uml"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/uml"
endif
if WITH_NETWORK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/iptables/filter"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/iptables/nat"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/network"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
endif

R
Richard W.M. Jones 已提交
627

628
CLEANFILES = *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda
629
DISTCLEANFILES = $(BUILT_SOURCES)