Makefile.am 17.3 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 51
		memory.c memory.h				\
		qparams.c qparams.h				\
52 53 54
		threads.c threads.h				\
		threads-pthread.h				\
		threads-win32.h					\
55 56
		uuid.c uuid.h					\
		util.c util.h					\
57
		virterror.c virterror_internal.h		\
58 59
		xml.c xml.h

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

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


72 73 74 75 76 77 78 79 80 81 82 83
# 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 =						\
84
		storage_conf.h storage_conf.c
85 86 87 88 89


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

# 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
109 110 111
if WITH_XEN_INOTIFY
XEN_DRIVER_SOURCES += xen_inotify.c xen_inotify.h
endif
112 113

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

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

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

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

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

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

# And finally storage backend specific impls
STORAGE_DRIVER_SOURCES =					\
144 145
		storage_driver.h storage_driver.c		\
		storage_backend.h storage_backend.c
146

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

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

154
STORAGE_DRIVER_LVM_SOURCES =					\
155
		storage_backend_logical.h			\
156 157 158 159 160 161 162 163 164 165 166 167
		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


168 169 170 171 172 173 174 175
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

176 177 178 179 180 181 182

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

183 184 185 186 187 188 189 190 191
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)				\
192 193
		$(DOMAIN_CONF_SOURCES)				\
		$(NETWORK_CONF_SOURCES)				\
194 195 196
		$(STORAGE_CONF_SOURCES)				\
		$(NODE_DEVICE_CONF_SOURCES)

197 198
libvirt_driver_la_CFLAGS = $(XEN_CFLAGS) $(NUMACTL_CFLAGS)
libvirt_driver_la_LDFLAGS = $(XEN_LIBS) $(NUMACTL_LIBS)
199

200
USED_SYM_FILES = libvirt_private.syms
201

202
if WITH_TEST
203 204 205
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_test.la
else
206 207
noinst_LTLIBRARIES += libvirt_driver_test.la
libvirt_la_LIBADD += libvirt_driver_test.la
208 209 210 211
endif
if WITH_DRIVER_MODULES
libvirt_driver_test_la_LDFLAGS = -module -avoid-version
endif
212
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
213 214 215
endif

if WITH_REMOTE
216 217 218
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_remote.la
else
219 220
noinst_LTLIBRARIES += libvirt_driver_remote.la
libvirt_la_LIBADD += libvirt_driver_remote.la
221
endif
222 223 224 225 226 227
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
		$(SASL_CFLAGS)
libvirt_driver_remote_la_LDFLAGS =				\
		$(GNUTLS_LIBS)					\
		$(SASL_LIBS)
228 229 230
if WITH_DRIVER_MODULES
libvirt_driver_remote_la_LDFLAGS += -module -avoid-version
endif
231
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
232 233 234
endif

if WITH_XEN
235 236 237
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
else
238 239
noinst_LTLIBRARIES += libvirt_driver_xen.la
libvirt_la_LIBADD += libvirt_driver_xen.la
240
endif
241 242
libvirt_driver_xen_la_CFLAGS = $(XEN_CFLAGS)
libvirt_driver_xen_la_LDFLAGS = $(XEN_LIBS)
243 244 245
if WITH_DRIVER_MODULES
libvirt_driver_xen_la_LDFLAGS += -module -avoid-version
endif
246
libvirt_driver_xen_la_SOURCES = $(XEN_DRIVER_SOURCES)
247 248
endif

249
if WITH_OPENVZ
250 251 252
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_openvz.la
else
253 254
noinst_LTLIBRARIES += libvirt_driver_openvz.la
libvirt_la_LIBADD += libvirt_driver_openvz.la
255 256 257 258
endif
if WITH_DRIVER_MODULES
libvirt_driver_openvz_la_LDFLAGS = -module -avoid-version
endif
259
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
260 261
endif

262
if WITH_QEMU
263 264 265
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
else
266
noinst_LTLIBRARIES += libvirt_driver_qemu.la
267 268
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_qemu.la
269
endif
270 271
libvirt_driver_qemu_la_CFLAGS = $(NUMACTL_CFLAGS)
libvirt_driver_qemu_la_LDFLAGS = $(NUMACTL_LIBS)
272 273 274
if WITH_DRIVER_MODULES
libvirt_driver_qemu_la_LDFLAGS += -module -avoid-version
endif
275
libvirt_driver_qemu_la_SOURCES = $(QEMU_DRIVER_SOURCES)
276 277 278
endif

if WITH_LXC
279 280 281
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
else
282
noinst_LTLIBRARIES += libvirt_driver_lxc.la
283 284
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_lxc.la
285 286 287 288
endif
if WITH_DRIVER_MODULES
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version
endif
289
libvirt_driver_lxc_la_SOURCES = $(LXC_DRIVER_SOURCES)
290 291
endif

292
if WITH_UML
293 294 295
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
else
296 297 298
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_uml.la
299 300 301 302 303 304
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
305 306
libvirt_driver_uml_la_SOURCES = $(UML_DRIVER_SOURCES)
endif
307 308

if WITH_NETWORK
309 310 311
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
else
312
noinst_LTLIBRARIES += libvirt_driver_network.la
313 314
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_network.la
315 316 317 318
endif
if WITH_DRIVER_MODULES
libvirt_driver_network_la_LDFLAGS = -module -avoid-version
endif
319
libvirt_driver_network_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
320 321
endif

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

339
if WITH_STORAGE_LVM
340
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
341 342
endif

343
if WITH_STORAGE_ISCSI
344
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
345 346
endif

347
if WITH_STORAGE_DISK
348
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
349
endif
350

351 352 353 354 355 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
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


381 382 383 384 385 386 387
# Add all conditional sources just in case...
EXTRA_DIST +=							\
		$(TEST_DRIVER_SOURCES)				\
		$(REMOTE_DRIVER_SOURCES)			\
		$(XEN_DRIVER_SOURCES)				\
		$(QEMU_DRIVER_SOURCES)				\
		$(LXC_DRIVER_SOURCES)				\
388
		$(UML_DRIVER_SOURCES)				\
389
		$(OPENVZ_DRIVER_SOURCES)			\
390
		$(NETWORK_DRIVER_SOURCES)			\
391 392 393 394
		$(STORAGE_DRIVER_SOURCES)			\
		$(STORAGE_DRIVER_FS_SOURCES)			\
		$(STORAGE_DRIVER_LVM_SOURCES)			\
		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
395 396 397 398
		$(STORAGE_DRIVER_DISK_SOURCES)			\
		$(NODE_DEVICE_DRIVER_SOURCES)			\
		$(NODE_DEVICE_DRIVER_HAL_SOURCES)		\
		$(NODE_DEVICE_DRIVER_DEVKIT_SOURCES)
399

400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419
#
# 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
420
USED_SYM_FILES += libvirt_debug.syms
421
endif
422 423

if WITH_DRIVER_MODULES
424
USED_SYM_FILES += libvirt_driver_modules.syms
425
endif
426 427

if WITH_BRIDGE
428
USED_SYM_FILES += libvirt_bridge.syms
429
endif
430 431

if WITH_LINUX
432
USED_SYM_FILES += libvirt_linux.syms
433
endif
434

435 436 437 438 439 440 441
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
  libvirt_debug.syms		\
  libvirt_driver_modules.syms	\
  libvirt_bridge.syms		\
  libvirt_linux.syms
442

443
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES)
444 445 446 447 448 449
	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
450
	for file in $(USED_SYM_FILES); do \
451 452 453 454 455
	    cat $(srcdir)/$$file >>$@-tmp; \
	done
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp
	chmod a-w $@-tmp
	mv $@-tmp libvirt.syms
456

457 458
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
459
libvirt_la_LIBADD += \
460
		    @CYGWIN_EXTRA_LIBADD@ ../gnulib/lib/libgnu.la
461
libvirt_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)libvirt.syms \
462 463
                     -version-info @LIBVIRT_VERSION_INFO@ \
                    $(COVERAGE_CFLAGS:-f%=-Wc,-f%) \
464
                    $(LIBXML_LIBS) $(SELINUX_LIBS) \
465
		    $(XEN_LIBS) $(DRIVER_MODULE_LIBS) \
466
		    @CYGWIN_EXTRA_LDFLAGS@ @MINGW_EXTRA_LDFLAGS@
467
libvirt_la_CFLAGS = $(COVERAGE_CFLAGS) -DIN_LIBVIRT
468
libvirt_la_DEPENDENCIES = $(libvirt_la_LIBADD) libvirt.syms
469

470 471 472
# 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.
473
noinst_LTLIBRARIES += libvirt_test.la
474

475
# Remove version script from convenience library
476 477
test_LDFLAGS =						\
  $$(echo '$(libvirt_la_LDFLAGS)'			\
478
     |sed 's!@VERSION_SCRIPT_FLAGS@libvirt.syms!!'	\
479 480 481 482 483 484 485 486
     |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 已提交
487
bin_PROGRAMS = virsh
488

489 490 491 492
virsh_SOURCES =							\
		console.c console.h				\
		virsh.c

493
virsh_LDFLAGS = $(WARN_CFLAGS) $(COVERAGE_LDFLAGS)
494 495
virsh_LDADD =							\
		$(STATIC_BINARIES)				\
496
		$(WARN_CFLAGS)					\
497
		$(NUMACTL_LIBS)					\
498 499 500
		libvirt.la					\
		../gnulib/lib/libgnu.la				\
		$(VIRSH_LIBS)
501
virsh_CFLAGS = $(COVERAGE_CFLAGS) $(READLINE_CFLAGS) $(NUMACTL_CFLAGS)
502
BUILT_SOURCES = virsh-net-edit.c virsh-pool-edit.c libvirt.syms
503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525

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' \
	>> $@-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 已提交
526
	      -e 's/(ctl, cmd, NULL);/(ctl, cmd, "pool", NULL);/' \
527 528 529 530 531 532 533 534
	      -e 's/Domain/StoragePool/g' \
	      -e 's/cmdEdit/cmdPoolEdit/g' \
	      -e 's/\(virStoragePoolDefineXML.*\));/\1, 0);/' \
	      -e 's/dom/pool/g' \
	>> $@-tmp
	chmod a-w $@-tmp
	rm -f $@
	mv $@-tmp $@
535

536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561
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

562 563
libexec_PROGRAMS =

564
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
565
if WITH_LIBVIRTD
566
libexec_PROGRAMS += libvirt_parthelper
567

568
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
569 570 571
libvirt_parthelper_LDFLAGS = $(WARN_CFLAGS) $(COVERAGE_LDCFLAGS)
libvirt_parthelper_LDADD = $(LIBPARTED_LIBS)
libvirt_parthelper_CFLAGS =  $(LIBPARTED_CFLAGS)
R
Richard W.M. Jones 已提交
572
endif
573
endif
574 575
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

576

577 578 579 580 581 582
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
583
		$(UTIL_SOURCES)					\
584 585
		$(DOMAIN_CONF_SOURCES)
libvirt_lxc_LDFLAGS = $(WARN_CFLAGS) $(COVERAGE_LDCFLAGS)
586 587
libvirt_lxc_LDADD = $(LIBXML_LIBS) $(NUMACTL_LIBS) ../gnulib/lib/libgnu.la
libvirt_lxc_CFLAGS =  $(LIBPARTED_CFLAGS) $(NUMACTL_CFLAGS)
588 589 590 591
endif
endif
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

R
Richard W.M. Jones 已提交
592
install-exec-local:
593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614
	$(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 已提交
615

616
CLEANFILES = *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda
617
DISTCLEANFILES = $(BUILT_SOURCES)