Makefile.am 13.6 KB
Newer Older
1 2
## Copyright (C) 2005-2016 Red Hat, Inc.
## Copyright (C) 2013 Yuto KAWAMURA(kawamuray) <kawamuray.dadada@gmail.com>
E
Eric Blake 已提交
3 4 5 6 7 8 9 10 11 12 13 14 15 16
##
## 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/>.
17

18
INCLUDES = \
19 20 21 22 23
	-I$(top_builddir)/include -I$(top_srcdir)/include	\
	-I$(top_builddir)/gnulib/lib -I$(top_srcdir)/gnulib/lib	\
	-I$(top_builddir)/src -I$(top_srcdir)/src		\
	-I$(top_srcdir)/src/util				\
	-I$(top_srcdir)						\
24 25
	$(GETTEXT_CPPFLAGS)

G
Guido Günther 已提交
26 27
AM_LDFLAGS = \
	$(RELRO_LDFLAGS)					\
28
	$(NO_INDIRECT_LDFLAGS)					\
G
Guido Günther 已提交
29 30
	$(NULL)

31 32 33 34 35 36 37
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

A
Andrea Bolognani 已提交
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
PODFILES = \
	virt-admin.pod \
	virt-host-validate.pod \
	virt-login-shell.pod \
	virt-pki-validate.pod \
	virt-sanlock-cleanup.pod \
	virt-xml-validate.pod \
	virsh.pod \
	$(NULL)

MANINFILES = \
	virt-admin.1.in \
	virt-host-validate.1.in \
	virt-login-shell.1.in \
	virt-pki-validate.1.in \
	virt-sanlock-cleanup.8.in \
	virt-xml-validate.1.in \
	virsh.1.in \
	$(NULL)

58
EXTRA_DIST = \
E
Eric Blake 已提交
59
	$(ICON_FILES)					\
60
	$(conf_DATA)					\
E
Eric Blake 已提交
61 62
	virt-xml-validate.in				\
	virt-pki-validate.in				\
63
	virt-sanlock-cleanup.in				\
64 65 66 67 68 69 70 71
	libvirt-guests.sysconf				\
	virsh-edit.c					\
	virsh-domain.c					\
	virsh-domain-monitor.c				\
	virsh-host.c virsh-interface.c			\
	virsh-network.c virsh-nodedev.c			\
	virsh-nwfilter.c virsh-pool.c			\
	virsh-secret.c virsh-snapshot.c			\
A
Andrea Bolognani 已提交
72 73 74 75
	virsh-volume.c					\
	$(PODFILES)					\
	$(MANINFILES)					\
	$(NULL)
76 77


78
CLEANFILES =
E
Eric Blake 已提交
79 80
DISTCLEANFILES =

D
Dan Walsh 已提交
81
confdir = $(sysconfdir)/libvirt
82
conf_DATA =
D
Dan Walsh 已提交
83

84
bin_SCRIPTS = virt-xml-validate virt-pki-validate
85
bin_PROGRAMS = virsh virt-admin
86
libexec_SCRIPTS = libvirt-guests.sh
A
Andrea Bolognani 已提交
87
man1_MANS = \
88 89 90 91
		virt-pki-validate.1 \
		virt-xml-validate.1 \
		virsh.1 \
		virt-admin.1
92

93
if WITH_SANLOCK
94
sbin_SCRIPTS = virt-sanlock-cleanup
A
Andrea Bolognani 已提交
95
man8_MANS = virt-sanlock-cleanup.8
E
Eric Blake 已提交
96
DISTCLEANFILES += virt-sanlock-cleanup
97
endif WITH_SANLOCK
98

99
if WITH_LOGIN_SHELL
100 101
conf_DATA += virt-login-shell.conf
bin_PROGRAMS += virt-login-shell
A
Andrea Bolognani 已提交
102
man1_MANS += virt-login-shell.1
103
else ! WITH_LOGIN_SHELL
104
EXTRA_DIST += \
A
Andrea Bolognani 已提交
105
		virt-login-shell.conf
106
endif ! WITH_LOGIN_SHELL
107

108 109
if WITH_HOST_VALIDATE
bin_PROGRAMS += virt-host-validate
A
Andrea Bolognani 已提交
110 111
man1_MANS += virt-host-validate.1
endif WITH_HOST_VALIDATE
112

113
virt-xml-validate: virt-xml-validate.in Makefile
114 115 116
	$(AM_V_GEN)sed -e 's|[@]schemadir@|$(pkgdatadir)/schemas|g' \
		       -e 's|[@]VERSION@|$(VERSION)|g' \
	  < $< > $@ || (rm $@ && exit 1) && chmod +x $@
117

118
virt-pki-validate: virt-pki-validate.in Makefile
119 120 121
	$(AM_V_GEN)sed -e 's|[@]sysconfdir@|$(sysconfdir)|g' \
		       -e 's|[@]VERSION@|$(VERSION)|g' \
	  < $< > $@ || (rm $@ && exit 1) && chmod +x $@
122

123
virt-sanlock-cleanup: virt-sanlock-cleanup.in Makefile
124 125
	$(AM_V_GEN)sed -e 's|[@]sysconfdir@|$(sysconfdir)|' \
	    -e 's|[@]localstatedir@|$(localstatedir)|' < $< > $@ \
126 127
	    || (rm $@ && exit 1) && chmod +x $@

128 129 130 131 132 133 134 135 136 137 138 139 140 141
noinst_LTLIBRARIES = libvirt_shell.la
libvirt_shell_la_CFLAGS = \
		$(AM_CFLAGS)						\
		$(PIE_CFLAGS)						\
		$(READLINE_CFLAGS)					\
		$(LIBXML_CFLAGS)					\
		$(NULL)
libvirt_shell_la_LDFLAGS = \
		$(AM_LDFLAGS)						\
		$(PIE_LDFLAGS)						\
		$(COVERAGE_LDFLAGS)					\
		$(NULL)
libvirt_shell_la_LIBADD = \
		$(LIBXML_LIBS)						\
142 143
		$(READLINE_LIBS)					\
		../src/libvirt.la					\
144 145 146 147
		../gnulib/lib/libgnu.la				\
		$(NULL)
libvirt_shell_la_SOURCES = vsh.c vsh.h

148 149 150 151 152 153 154 155
virt_host_validate_SOURCES = \
		virt-host-validate.c \
		virt-host-validate-common.c virt-host-validate-common.h \
		virt-host-validate-qemu.c virt-host-validate-qemu.h \
		virt-host-validate-lxc.c virt-host-validate-lxc.h \
		$(NULL)

virt_host_validate_LDFLAGS = \
G
Guido Günther 已提交
156
		$(AM_LDFLAGS) \
D
Daniel P. Berrange 已提交
157
		$(PIE_LDFLAGS) \
158 159 160 161 162 163 164 165 166
		$(COVERAGE_LDFLAGS) \
		$(NULL)

virt_host_validate_LDADD = \
		../src/libvirt.la				\
		../gnulib/lib/libgnu.la				\
		$(NULL)

virt_host_validate_CFLAGS = \
167
		$(LIBXML_CFLAGS)				\
168
		$(WARN_CFLAGS)					\
D
Daniel P. Berrange 已提交
169
		$(PIE_CFLAGS)					\
170 171 172
		$(COVERAGE_CFLAGS)				\
		$(NULL)

173 174 175 176 177
# 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 we statically link to a library containing only the minimal
# libvirt client code, not libvirt.so itself.
D
Dan Walsh 已提交
178 179 180
virt_login_shell_SOURCES =					\
		virt-login-shell.c

G
Guido Günther 已提交
181 182
virt_login_shell_LDFLAGS = \
		$(AM_LDFLAGS) 					\
183
		$(PIE_LDFLAGS)					\
G
Guido Günther 已提交
184 185
		$(COVERAGE_LDFLAGS)				\
		$(NULL)
D
Dan Walsh 已提交
186 187
virt_login_shell_LDADD =					\
		$(STATIC_BINARIES)				\
188
		../src/libvirt-setuid-rpc-client.la		\
D
Dan Walsh 已提交
189 190 191
		../gnulib/lib/libgnu.la

virt_login_shell_CFLAGS =					\
192
		-DLIBVIRT_SETUID_RPC_CLIENT			\
193
		$(LIBXML_CFLAGS)				\
D
Dan Walsh 已提交
194 195 196 197
		$(WARN_CFLAGS)					\
		$(PIE_CFLAGS)					\
		$(COVERAGE_CFLAGS)

198
virsh_SOURCES =							\
E
Eric Blake 已提交
199
		virsh.c virsh.h					\
200
		virsh-console.c virsh-console.h			\
E
Eric Blake 已提交
201
		virsh-domain.c virsh-domain.h			\
202
		virsh-domain-monitor.c virsh-domain-monitor.h	\
E
Eric Blake 已提交
203
		virsh-host.c virsh-host.h			\
E
Eric Blake 已提交
204
		virsh-interface.c virsh-interface.h		\
E
Eric Blake 已提交
205
		virsh-network.c virsh-network.h			\
E
Eric Blake 已提交
206
		virsh-nodedev.c virsh-nodedev.h			\
E
Eric Blake 已提交
207
		virsh-nwfilter.c virsh-nwfilter.h		\
E
Eric Blake 已提交
208
		virsh-pool.c virsh-pool.h			\
E
Eric Blake 已提交
209
		virsh-secret.c virsh-secret.h			\
E
Eric Blake 已提交
210
		virsh-snapshot.c virsh-snapshot.h		\
E
Eric Blake 已提交
211
		virsh-volume.c virsh-volume.h			\
E
Eric Blake 已提交
212
		$(NULL)
213

G
Guido Günther 已提交
214 215
virsh_LDFLAGS = \
		$(AM_LDFLAGS) 					\
216
		$(PIE_LDFLAGS)					\
G
Guido Günther 已提交
217 218
		$(COVERAGE_LDFLAGS)				\
		$(NULL)
219 220
virsh_LDADD =							\
		$(STATIC_BINARIES)				\
221
		../src/libvirt-lxc.la				\
222
		../src/libvirt-qemu.la				\
223
		libvirt_shell.la
E
Eric Blake 已提交
224
virsh_CFLAGS =							\
225
		$(WARN_CFLAGS)					\
D
Daniel P. Berrange 已提交
226
		$(PIE_CFLAGS)					\
227
		$(COVERAGE_CFLAGS)				\
228
		$(LIBXML_CFLAGS)
229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250

virt_admin_SOURCES =						\
		virt-admin.c virt-admin.h			\
		$(NULL)

virt_admin_LDFLAGS =						\
		$(AM_LDFLAGS)					\
		$(COVERAGE_LDFLAGS)				\
		$(STATIC_BINARIES)				\
		$(PIE_LDFLAGS)					\
		$(NULL)
virt_admin_LDADD =						\
		../src/libvirt-admin.la				\
		libvirt_shell.la				\
		$(LIBXML_LIBS)					\
		$(NULL)
virt_admin_CFLAGS =						\
		$(WARN_CFLAGS)					\
		$(PIE_CFLAGS)					\
		$(COVERAGE_CFLAGS)				\
		$(LIBXML_CFLAGS)				\
		$(READLINE_CFLAGS)
251
BUILT_SOURCES =
252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273

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
274
	$(AM_V_GEN)$(WINDRES) \
275 276
	  --input-format rc --input $< \
	  --output-format coff --output $@
277
endif WITH_WIN_ICON
278

279 280
POD2MAN = pod2man -c "Virtualization Support" -r "$(PACKAGE)-$(VERSION)"

281
%.1.in: %.pod
282 283
	$(AM_V_GEN)$(POD2MAN) $< $@ \
		&& if grep 'POD ERROR' $@ ; then rm $@; exit 1; fi
284

285
%.8.in: %.pod
286 287
	$(AM_V_GEN)$(POD2MAN) --section=8 $< $@ \
		&& if grep 'POD ERROR' $@ ; then rm $@; exit 1; fi
288

289 290 291 292 293 294 295 296 297 298 299 300 301 302
%.1: %.1.in $(top_srcdir)/configure.ac
	$(AM_V_GEN)sed \
		-e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
		-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
		< $< > $@-t && \
	mv $@-t $@

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

303
install-data-local: install-init install-systemd
304

305
uninstall-local: uninstall-init uninstall-systemd
306

307
install-sysconfig:
308
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
309 310 311 312 313
	$(INSTALL_DATA) $(srcdir)/libvirt-guests.sysconf \
	  $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests

uninstall-sysconfig:
	rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests
314
	rmdir $(DESTDIR)$(sysconfdir)/sysconfig ||:
315

316
EXTRA_DIST += libvirt-guests.sh.in libvirt-guests.init.in
317

318
install-initscript: libvirt-guests.init
319
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d
320 321 322
	$(INSTALL_SCRIPT) libvirt-guests.init \
	  $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirt-guests

323
uninstall-initscript:
324
	rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirt-guests
325
	rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d ||:
326

327 328 329 330 331

if LIBVIRT_INIT_SCRIPT_RED_HAT
BUILT_SOURCES += libvirt-guests.init
install-init: install-sysconfig install-initscript
uninstall-init: uninstall-sysconfig uninstall-initscript
332
else ! LIBVIRT_INIT_SCRIPT_RED_HAT
333 334
install-init:
uninstall-init:
335
endif ! LIBVIRT_INIT_SCRIPT_RED_HAT
336

337
libvirt-guests.sh: libvirt-guests.sh.in $(top_builddir)/config.status
338 339 340 341 342 343 344 345 346
	$(AM_V_GEN)sed						\
	    -e 's|[@]PACKAGE[@]|$(PACKAGE)|g'			\
	    -e 's|[@]bindir[@]|$(bindir)|g'			\
	    -e 's|[@]localedir[@]|$(localedir)|g'		\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g'		\
	    < $< > $@-t &&					\
	    chmod a+x $@-t &&					\
347
	    mv $@-t $@
348
BUILT_SOURCES += libvirt-guests.sh
349

350 351
libvirt-guests.init: libvirt-guests.init.in libvirt-guests.sh
	$(AM_V_GEN)sed \
352
		-e 's|[@]libexecdir[@]|$(libexecdir)|g' \
353 354 355
	< $< > $@-t && \
	chmod a+x $@-t && \
	mv $@-t $@
356 357 358


EXTRA_DIST += libvirt-guests.service.in
359
SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
360

361
if LIBVIRT_INIT_SCRIPT_SYSTEMD
362
install-systemd: libvirt-guests.service install-sysconfig libvirt-guests.sh
363
	$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
364
	$(INSTALL_DATA) libvirt-guests.service \
365
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service
366

367
uninstall-systemd: uninstall-sysconfig
368
	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service
369
	rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) ||:
370 371 372

BUILT_SOURCES += libvirt-guests.service

373
else ! LIBVIRT_INIT_SCRIPT_SYSTEMD
374 375
install-systemd:
uninstall-systemd:
376
endif ! LIBVIRT_INIT_SCRIPT_SYSTEMD
377 378

libvirt-guests.service: libvirt-guests.service.in $(top_builddir)/config.status
379 380 381 382 383 384 385 386 387
	$(AM_V_GEN)sed						\
	    -e 's|[@]PACKAGE[@]|$(PACKAGE)|g'			\
	    -e 's|[@]bindir[@]|$(bindir)|g'			\
	    -e 's|[@]localedir[@]|$(localedir)|g'		\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g'		\
	    -e 's|[@]libexecdir[@]|$(libexecdir)|g'		\
	    < $< > $@-t &&					\
388
	    mv $@-t $@
389

390

391 392 393 394 395 396
EXTRA_DIST += \
	wireshark/util/genxdrstub.pl \
	wireshark/util/make-dissector-reg

if WITH_WIRESHARK_DISSECTOR

397
ws_plugindir = $(plugindir)
398 399 400 401
ws_plugin_LTLIBRARIES = wireshark/src/libvirt.la
wireshark_src_libvirt_la_CPPFLAGS = \
	-I wireshark/src $(WIRESHARK_DISSECTOR_CFLAGS)
wireshark_src_libvirt_la_LDFLAGS = -avoid-version -module
402
nodist_wireshark_src_libvirt_la_SOURCES = wireshark/src/plugin.c
403 404
wireshark_src_libvirt_la_SOURCES = \
	wireshark/src/packet-libvirt.h \
405
	wireshark/src/packet-libvirt.c
406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432

wireshark/src/packet-libvirt.c: wireshark/src/packet-libvirt.h \
		wireshark/src/libvirt/protocol.h

wireshark/src/plugin.c: wireshark/src/packet-libvirt.c
	cd wireshark/src && \
		$(abs_top_srcdir)/tools/wireshark/util/make-dissector-reg \
		. plugin packet-libvirt.c

WS_DISSECTOR_PROTO_FILES  = \
  $(abs_top_srcdir)/src/remote/remote_protocol.x \
  $(abs_top_srcdir)/src/remote/qemu_protocol.x \
  $(abs_top_srcdir)/src/remote/lxc_protocol.x \
  $(abs_top_srcdir)/src/rpc/virkeepaliveprotocol.x

wireshark/src/libvirt/protocol.h: wireshark/util/genxdrstub.pl \
		$(WS_DISSECTOR_PROTO_FILES)
	$(MKDIR_P) wireshark/src/libvirt
	cd wireshark/src && \
	LIBVIRT_VERSION=$(LIBVIRT_VERSION) \
		  $(PERL) $(abs_top_srcdir)/tools/wireshark/util/genxdrstub.pl \
		  $(WS_DISSECTOR_PROTO_FILES)

CLEANFILES += wireshark/src/plugin.c

endif WITH_WIRESHARK_DISSECTOR

R
Roman Bogorodskiy 已提交
433 434 435 436 437 438
if WITH_BSD_NSS
LIBVIRT_NSS_SYMBOL_FILE = \
	$(srcdir)/nss/libvirt_nss_bsd.syms
NSS_SO_VER = 1

install-exec-hook:
A
Andrea Bolognani 已提交
439
	( cd $(DESTDIR)$(libdir) && \
440 441
	  rm -f nss_libvirt.so.$(NSS_SO_VER) && \
	  $(LN_S) libnss_libvirt.so.$(NSS_SO_VER) nss_libvirt.so.$(NSS_SO_VER) )
R
Roman Bogorodskiy 已提交
442 443

uninstall-local:
M
Michal Privoznik 已提交
444
	-rm -f $(DESTDIR)$(libdir)/nss_libvirt.so.$(NSS_SO_VER)
R
Roman Bogorodskiy 已提交
445
else ! WITH_BSD_NSS
446 447
LIBVIRT_NSS_SYMBOL_FILE = \
	$(srcdir)/nss/libvirt_nss.syms
R
Roman Bogorodskiy 已提交
448 449
NSS_SO_VER = 2
endif ! WITH_BSD_NSS
450 451 452 453 454

LIBVIRT_NSS_SOURCES = \
	nss/libvirt_nss.c	\
	nss/libvirt_nss.h

455
if WITH_NSS
456 457 458 459 460
noinst_LTLIBRARIES += nss/libnss_libvirt_impl.la
nss_libnss_libvirt_impl_la_SOURCES = \
	$(LIBVIRT_NSS_SOURCES)

nss_libnss_libvirt_impl_la_CFLAGS = \
461
	-DLIBVIRT_NSS		\
462 463 464
	$(AM_CFLAGS)		\
	$(WARN_CFLAGS)		\
	$(PIE_CFLAGS)		\
465 466 467 468 469 470
	$(COVERAGE_CFLAGS)	\
	$(LIBXML_CFLAGS)

nss_libnss_libvirt_impl_la_LIBADD = \
	../gnulib/lib/libgnu.la		\
	../src/libvirt-nss.la
471 472 473 474 475 476 477 478 479

nss_libnss_libvirt_la_SOURCES =
nss_libnss_libvirt_la_LDFLAGS = \
	$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_NSS_SYMBOL_FILE)	\
	$(AM_LDFLAGS) \
	-module \
	-export-dynamic \
	-avoid-version \
	-shared \
R
Roman Bogorodskiy 已提交
480
	-shrext .so.$(NSS_SO_VER)
481 482 483 484 485 486 487 488 489

nss_libnss_libvirt_la_LIBADD =  \
	nss/libnss_libvirt_impl.la

lib_LTLIBRARIES = \
	nss/libnss_libvirt.la

endif WITH_NSS

490 491 492
EXTRA_DIST += $(LIBVIRT_NSS_SOURCES) \
	$(srcdir)/nss/libvirt_nss.syms \
	$(srcdir)/nss/libvirt_nss_bsd.syms
493 494 495 496 497

clean-local:
	-rm -rf wireshark/src/libvirt

CLEANFILES += $(bin_SCRIPTS)
498
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
A
Andrea Bolognani 已提交
499
CLEANFILES += $(man1_MANS) $(man8_MANS)
500

E
Eric Blake 已提交
501
DISTCLEANFILES += $(BUILT_SOURCES)