Makefile.am 18.8 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) \
	   $(LOCK_CHECKING_CFLAGS)
21

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

25 26 27 28 29 30 31
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

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

34

35
lib_LTLIBRARIES = libvirt.la
36

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


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

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

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


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


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

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

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

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

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

133 134 135
VBOX_DRIVER_SOURCES =                                 \
        vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h \
        vbox/vbox_driver.c vbox/vbox_driver.h         \
136
        vbox/vbox_V2_2.c vbox/vbox_CAPI_v2_2.h
137

138 139
VBOX_DRIVER_EXTRA_DIST = vbox/vbox_tmpl.c vbox/README

140 141 142
QEMU_DRIVER_SOURCES =						\
		qemu_conf.c qemu_conf.h				\
		qemu_driver.c qemu_driver.h
R
Richard W.M. Jones 已提交
143

144 145 146 147
UML_DRIVER_SOURCES =						\
		uml_conf.c uml_conf.h				\
		uml_driver.c uml_driver.h

148 149
NETWORK_DRIVER_SOURCES =					\
		network_driver.h network_driver.c
150

151
# Storage backend specific impls
152
STORAGE_DRIVER_SOURCES =					\
153 154
		storage_driver.h storage_driver.c		\
		storage_backend.h storage_backend.c
155

156 157 158 159
# Network driver generic impl APIs
NODE_DEVICE_CONF_SOURCES =					\
		node_device_conf.c node_device_conf.h

160
STORAGE_DRIVER_FS_SOURCES =					\
R
Richard W.M. Jones 已提交
161 162
		storage_backend_fs.h storage_backend_fs.c

163
STORAGE_DRIVER_LVM_SOURCES =					\
164
		storage_backend_logical.h			\
165 166 167 168 169
		storage_backend_logical.c

STORAGE_DRIVER_ISCSI_SOURCES =					\
		storage_backend_iscsi.h storage_backend_iscsi.c

170 171 172
STORAGE_DRIVER_SCSI_SOURCES =					\
		storage_backend_scsi.h storage_backend_scsi.c

173 174 175 176 177 178 179
STORAGE_DRIVER_DISK_SOURCES =					\
		storage_backend_disk.h storage_backend_disk.c

STORAGE_HELPER_DISK_SOURCES =					\
		parthelper.c


180 181 182 183
# Security framework and drivers for various models
SECURITY_DRIVER_SOURCES =                                      \
		security.h security.c

184 185 186
SECURITY_DRIVER_SELINUX_SOURCES =				\
		security_selinux.h security_selinux.c

187

188 189 190 191 192 193 194 195
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

196 197 198 199 200 201 202

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

203 204 205 206 207 208 209 210 211
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)				\
212 213
		$(DOMAIN_CONF_SOURCES)				\
		$(NETWORK_CONF_SOURCES)				\
214 215 216
		$(STORAGE_CONF_SOURCES)				\
		$(NODE_DEVICE_CONF_SOURCES)

217 218
libvirt_driver_la_CFLAGS = $(XEN_CFLAGS) $(NUMACTL_CFLAGS)
libvirt_driver_la_LDFLAGS = $(XEN_LIBS) $(NUMACTL_LIBS)
219

220
USED_SYM_FILES = libvirt_private.syms
221

222
if WITH_TEST
223 224 225
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_test.la
else
226 227
noinst_LTLIBRARIES += libvirt_driver_test.la
libvirt_la_LIBADD += libvirt_driver_test.la
228 229 230 231
endif
if WITH_DRIVER_MODULES
libvirt_driver_test_la_LDFLAGS = -module -avoid-version
endif
232
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
233 234 235
endif

if WITH_REMOTE
236 237 238
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_remote.la
else
239 240
noinst_LTLIBRARIES += libvirt_driver_remote.la
libvirt_la_LIBADD += libvirt_driver_remote.la
241
endif
242 243 244 245 246 247
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
		$(SASL_CFLAGS)
libvirt_driver_remote_la_LDFLAGS =				\
		$(GNUTLS_LIBS)					\
		$(SASL_LIBS)
248 249 250
if WITH_DRIVER_MODULES
libvirt_driver_remote_la_LDFLAGS += -module -avoid-version
endif
251
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
252 253 254
endif

if WITH_XEN
255 256 257
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
else
258 259
noinst_LTLIBRARIES += libvirt_driver_xen.la
libvirt_la_LIBADD += libvirt_driver_xen.la
260
endif
261 262
libvirt_driver_xen_la_CFLAGS = $(XEN_CFLAGS)
libvirt_driver_xen_la_LDFLAGS = $(XEN_LIBS)
263 264 265
if WITH_DRIVER_MODULES
libvirt_driver_xen_la_LDFLAGS += -module -avoid-version
endif
266
libvirt_driver_xen_la_SOURCES = $(XEN_DRIVER_SOURCES)
267 268
endif

269
if WITH_OPENVZ
270 271 272
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_openvz.la
else
273 274
noinst_LTLIBRARIES += libvirt_driver_openvz.la
libvirt_la_LIBADD += libvirt_driver_openvz.la
275 276 277 278
endif
if WITH_DRIVER_MODULES
libvirt_driver_openvz_la_LDFLAGS = -module -avoid-version
endif
279
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
280 281
endif

282 283 284 285 286 287 288 289 290 291 292 293 294
if WITH_VBOX
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_vbox.la
else
noinst_LTLIBRARIES += libvirt_driver_vbox.la
libvirt_la_LIBADD += libvirt_driver_vbox.la
endif
if WITH_DRIVER_MODULES
libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version
endif
libvirt_driver_vbox_la_SOURCES = $(VBOX_DRIVER_SOURCES)
endif

295
if WITH_QEMU
296 297 298
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
else
299
noinst_LTLIBRARIES += libvirt_driver_qemu.la
300 301
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_qemu.la
302
endif
303 304
libvirt_driver_qemu_la_CFLAGS = $(NUMACTL_CFLAGS)
libvirt_driver_qemu_la_LDFLAGS = $(NUMACTL_LIBS)
305 306 307
if WITH_DRIVER_MODULES
libvirt_driver_qemu_la_LDFLAGS += -module -avoid-version
endif
308
libvirt_driver_qemu_la_SOURCES = $(QEMU_DRIVER_SOURCES)
309 310 311
endif

if WITH_LXC
312 313 314
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
else
315
noinst_LTLIBRARIES += libvirt_driver_lxc.la
316 317
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_lxc.la
318 319 320 321
endif
if WITH_DRIVER_MODULES
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version
endif
322
libvirt_driver_lxc_la_SOURCES = $(LXC_DRIVER_SOURCES)
323 324
endif

325
if WITH_UML
326 327 328
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
else
329 330 331
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_uml.la
332 333 334 335 336 337
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
338 339
libvirt_driver_uml_la_SOURCES = $(UML_DRIVER_SOURCES)
endif
340 341

if WITH_NETWORK
342 343 344
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
else
345
noinst_LTLIBRARIES += libvirt_driver_network.la
346 347
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_network.la
348 349 350 351
endif
if WITH_DRIVER_MODULES
libvirt_driver_network_la_LDFLAGS = -module -avoid-version
endif
352
libvirt_driver_network_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
353 354
endif

355 356
# Needed to keep automake quiet about conditionals
libvirt_driver_storage_la_SOURCES =
357
if WITH_STORAGE_DIR
358 359 360
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
else
361
noinst_LTLIBRARIES += libvirt_driver_storage.la
362 363
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_storage.la
364 365 366 367
endif
if WITH_DRIVER_MODULES
libvirt_driver_storage_la_LDFLAGS = -module -avoid-version
endif
368 369
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
370 371
endif

372
if WITH_STORAGE_LVM
373
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
374 375
endif

376
if WITH_STORAGE_ISCSI
377
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
378 379
endif

380 381 382 383
if WITH_STORAGE_SCSI
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
endif

384
if WITH_STORAGE_DISK
385
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
386
endif
387

388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417
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


418 419 420
libvirt_driver_security_la_SOURCES = $(SECURITY_DRIVER_SOURCES)
noinst_LTLIBRARIES += libvirt_driver_security.la
libvirt_la_LIBADD += libvirt_driver_security.la
421 422 423
if WITH_SECDRIVER_SELINUX
libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
endif
424

425 426 427 428 429 430 431
# Add all conditional sources just in case...
EXTRA_DIST +=							\
		$(TEST_DRIVER_SOURCES)				\
		$(REMOTE_DRIVER_SOURCES)			\
		$(XEN_DRIVER_SOURCES)				\
		$(QEMU_DRIVER_SOURCES)				\
		$(LXC_DRIVER_SOURCES)				\
432
		$(UML_DRIVER_SOURCES)				\
433
		$(OPENVZ_DRIVER_SOURCES)			\
434
		$(VBOX_DRIVER_SOURCES)				\
435
		$(NETWORK_DRIVER_SOURCES)			\
436 437 438 439
		$(STORAGE_DRIVER_SOURCES)			\
		$(STORAGE_DRIVER_FS_SOURCES)			\
		$(STORAGE_DRIVER_LVM_SOURCES)			\
		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
440
		$(STORAGE_DRIVER_SCSI_SOURCES)			\
441 442 443
		$(STORAGE_DRIVER_DISK_SOURCES)			\
		$(NODE_DEVICE_DRIVER_SOURCES)			\
		$(NODE_DEVICE_DRIVER_HAL_SOURCES)		\
444
		$(NODE_DEVICE_DRIVER_DEVKIT_SOURCES)		\
445
		$(SECURITY_DRIVER_SELINUX_SOURCES)		\
446
		$(VBOX_DRIVER_EXTRA_DIST)
447

448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467
#
# 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
468
USED_SYM_FILES += libvirt_debug.syms
469
endif
470 471

if WITH_DRIVER_MODULES
472
USED_SYM_FILES += libvirt_driver_modules.syms
473
endif
474 475

if WITH_BRIDGE
476
USED_SYM_FILES += libvirt_bridge.syms
477
endif
478 479

if WITH_LINUX
480
USED_SYM_FILES += libvirt_linux.syms
481
endif
482

483 484 485 486 487 488 489
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
  libvirt_debug.syms		\
  libvirt_driver_modules.syms	\
  libvirt_bridge.syms		\
  libvirt_linux.syms
490

491
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES)
492 493 494 495 496 497
	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
498
	for file in $(USED_SYM_FILES); do \
499 500 501 502 503
	    cat $(srcdir)/$$file >>$@-tmp; \
	done
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp
	chmod a-w $@-tmp
	mv $@-tmp libvirt.syms
504

505 506
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
507
libvirt_la_LIBADD += \
508
		    @CYGWIN_EXTRA_LIBADD@ ../gnulib/lib/libgnu.la
509
libvirt_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)libvirt.syms \
510 511
                     -version-info @LIBVIRT_VERSION_INFO@ \
                    $(COVERAGE_CFLAGS:-f%=-Wc,-f%) \
512
                    $(LIBXML_LIBS) $(SELINUX_LIBS) \
513
		    $(XEN_LIBS) $(DRIVER_MODULE_LIBS) \
514
		    @CYGWIN_EXTRA_LDFLAGS@ @MINGW_EXTRA_LDFLAGS@
515
libvirt_la_CFLAGS = $(COVERAGE_CFLAGS) -DIN_LIBVIRT
516
libvirt_la_DEPENDENCIES = $(libvirt_la_LIBADD) libvirt.syms
517

518 519 520
# 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.
521
noinst_LTLIBRARIES += libvirt_test.la
522

523
# Remove version script from convenience library
524 525
test_LDFLAGS =						\
  $$(echo '$(libvirt_la_LDFLAGS)'			\
526
     |sed 's!@VERSION_SCRIPT_FLAGS@libvirt.syms!!'	\
527 528 529 530 531 532 533 534
     |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 已提交
535
bin_PROGRAMS = virsh
536

537 538 539 540
virsh_SOURCES =							\
		console.c console.h				\
		virsh.c

541
virsh_LDFLAGS = $(WARN_CFLAGS) $(COVERAGE_LDFLAGS)
542 543
virsh_LDADD =							\
		$(STATIC_BINARIES)				\
544
		$(WARN_CFLAGS)					\
545
		$(NUMACTL_LIBS)					\
546 547 548
		libvirt.la					\
		../gnulib/lib/libgnu.la				\
		$(VIRSH_LIBS)
549
virsh_CFLAGS = $(COVERAGE_CFLAGS) $(READLINE_CFLAGS) $(NUMACTL_CFLAGS)
550
BUILT_SOURCES = virsh-net-edit.c virsh-pool-edit.c libvirt.syms
551 552 553 554 555 556 557 558 559 560

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' \
561
	      -e 's/int flags.*/int flags = 0;/g' \
562 563 564 565 566 567 568 569 570 571 572 573 574
	>> $@-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 已提交
575
	      -e 's/(ctl, cmd, NULL);/(ctl, cmd, "pool", NULL);/' \
576 577 578 579
	      -e 's/Domain/StoragePool/g' \
	      -e 's/cmdEdit/cmdPoolEdit/g' \
	      -e 's/\(virStoragePoolDefineXML.*\));/\1, 0);/' \
	      -e 's/dom/pool/g' \
580
	      -e 's/int flags.*/int flags = 0;/g' \
581 582 583 584
	>> $@-tmp
	chmod a-w $@-tmp
	rm -f $@
	mv $@-tmp $@
585

586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611
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

612 613
libexec_PROGRAMS =

614
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
615
if WITH_LIBVIRTD
616
libexec_PROGRAMS += libvirt_parthelper
617

618
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
619 620 621
libvirt_parthelper_LDFLAGS = $(WARN_CFLAGS) $(COVERAGE_LDCFLAGS)
libvirt_parthelper_LDADD = $(LIBPARTED_LIBS)
libvirt_parthelper_CFLAGS =  $(LIBPARTED_CFLAGS)
R
Richard W.M. Jones 已提交
622
endif
623
endif
624 625
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

626

627 628 629 630 631 632
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
633
		$(UTIL_SOURCES)					\
634 635
		$(DOMAIN_CONF_SOURCES)
libvirt_lxc_LDFLAGS = $(WARN_CFLAGS) $(COVERAGE_LDCFLAGS)
636 637
libvirt_lxc_LDADD = $(LIBXML_LIBS) $(NUMACTL_LIBS) ../gnulib/lib/libgnu.la
libvirt_lxc_CFLAGS =  $(LIBPARTED_CFLAGS) $(NUMACTL_CFLAGS)
638 639 640 641
endif
endif
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

R
Richard W.M. Jones 已提交
642
install-exec-local:
643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664
	$(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 已提交
665

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