Makefile.am 18.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
VBOX_DRIVER_SOURCES =                                 \
        vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h \
        vbox/vbox_driver.c vbox/vbox_driver.h         \
135
        vbox/vbox_V2_2.c vbox/vbox_CAPI_v2_2.h
136

137 138 139
QEMU_DRIVER_SOURCES =						\
		qemu_conf.c qemu_conf.h				\
		qemu_driver.c qemu_driver.h
R
Richard W.M. Jones 已提交
140

141 142 143 144
UML_DRIVER_SOURCES =						\
		uml_conf.c uml_conf.h				\
		uml_driver.c uml_driver.h

145 146
NETWORK_DRIVER_SOURCES =					\
		network_driver.h network_driver.c
147

148
# Storage backend specific impls
149
STORAGE_DRIVER_SOURCES =					\
150 151
		storage_driver.h storage_driver.c		\
		storage_backend.h storage_backend.c
152

153 154 155 156
# Network driver generic impl APIs
NODE_DEVICE_CONF_SOURCES =					\
		node_device_conf.c node_device_conf.h

157
STORAGE_DRIVER_FS_SOURCES =					\
R
Richard W.M. Jones 已提交
158 159
		storage_backend_fs.h storage_backend_fs.c

160
STORAGE_DRIVER_LVM_SOURCES =					\
161
		storage_backend_logical.h			\
162 163 164 165 166
		storage_backend_logical.c

STORAGE_DRIVER_ISCSI_SOURCES =					\
		storage_backend_iscsi.h storage_backend_iscsi.c

167 168 169
STORAGE_DRIVER_SCSI_SOURCES =					\
		storage_backend_scsi.h storage_backend_scsi.c

170 171 172 173 174 175 176
STORAGE_DRIVER_DISK_SOURCES =					\
		storage_backend_disk.h storage_backend_disk.c

STORAGE_HELPER_DISK_SOURCES =					\
		parthelper.c


177 178 179 180
# Security framework and drivers for various models
SECURITY_DRIVER_SOURCES =                                      \
		security.h security.c

181 182 183
SECURITY_DRIVER_SELINUX_SOURCES =				\
		security_selinux.h security_selinux.c

184

185 186 187 188 189 190 191 192
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

193 194 195 196 197 198 199

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

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

214 215
libvirt_driver_la_CFLAGS = $(XEN_CFLAGS) $(NUMACTL_CFLAGS)
libvirt_driver_la_LDFLAGS = $(XEN_LIBS) $(NUMACTL_LIBS)
216

217
USED_SYM_FILES = libvirt_private.syms
218

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

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

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

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

279 280 281 282 283 284 285 286 287 288 289 290 291
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

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

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

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

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

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

369
if WITH_STORAGE_LVM
370
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
371 372
endif

373
if WITH_STORAGE_ISCSI
374
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
375 376
endif

377 378 379 380
if WITH_STORAGE_SCSI
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
endif

381
if WITH_STORAGE_DISK
382
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
383
endif
384

385 386 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
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


415 416 417
libvirt_driver_security_la_SOURCES = $(SECURITY_DRIVER_SOURCES)
noinst_LTLIBRARIES += libvirt_driver_security.la
libvirt_la_LIBADD += libvirt_driver_security.la
418 419 420
if WITH_SECDRIVER_SELINUX
libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
endif
421

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

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

if WITH_DRIVER_MODULES
469
USED_SYM_FILES += libvirt_driver_modules.syms
470
endif
471 472

if WITH_BRIDGE
473
USED_SYM_FILES += libvirt_bridge.syms
474
endif
475 476

if WITH_LINUX
477
USED_SYM_FILES += libvirt_linux.syms
478
endif
479

480 481 482 483 484 485 486
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
  libvirt_debug.syms		\
  libvirt_driver_modules.syms	\
  libvirt_bridge.syms		\
  libvirt_linux.syms
487

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

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

515 516 517
# 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.
518
noinst_LTLIBRARIES += libvirt_test.la
519

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

534 535 536 537
virsh_SOURCES =							\
		console.c console.h				\
		virsh.c

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

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

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

609 610
libexec_PROGRAMS =

611
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
612
if WITH_LIBVIRTD
613
libexec_PROGRAMS += libvirt_parthelper
614

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

623

624 625 626 627 628 629
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

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

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

663
CLEANFILES = *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda
664
DISTCLEANFILES = $(BUILT_SOURCES)