Makefile.am 13.9 KB
Newer Older
1
###############################################################################
2 3 4
# Automake targets and declarations
###############################################################################

5 6
AUTOMAKE_OPTIONS = subdir-objects

7
NULL =
8
EXTRA_DIST = \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
9
	vlc-plugin.pc.in \
10
	libvlccore.sym \
11
	revision.txt
12

13
BUILT_SOURCES = $(nodist_pluginsinclude_HEADERS)
Christophe Mutricy's avatar
Christophe Mutricy committed
14
CLEANFILES = $(BUILT_SOURCES)
15

16
SUFFIXES = .pc.in .pc .rc.in .rc
17

18 19 20 21
###############################################################################
# Headers
###############################################################################

22
pluginsincludedir = $(pkgincludedir)/plugins
23

24
pluginsinclude_HEADERS = \
25
	../include/vlc_access.h \
26
	../include/vlc_aout.h \
Rafaël Carré's avatar
Rafaël Carré committed
27
	../include/vlc_aout_intf.h \
28
	../include/vlc_aout_volume.h \
29
	../include/vlc_arrays.h \
Pierre Ynard's avatar
Pierre Ynard committed
30
	../include/vlc_art_finder.h \
31
	../include/vlc_atomic.h \
32
	../include/vlc_avcodec.h \
33 34 35 36 37
	../include/vlc_bits.h \
	../include/vlc_block.h \
	../include/vlc_block_helper.h \
	../include/vlc_charset.h \
	../include/vlc_codec.h \
38 39
	../include/vlc_common.h \
	../include/vlc_config.h \
40
	../include/vlc_config_cat.h \
41
	../include/vlc_configuration.h \
42
	../include/vlc_cpu.h \
43
	../include/vlc_dialog.h \
44
	../include/vlc_demux.h \
45
	../include/vlc_epg.h \
46
	../include/vlc_es.h \
47 48
	../include/vlc_es_out.h \
	../include/vlc_events.h \
49
	../include/vlc_filter.h \
50
	../include/vlc_fourcc.h \
51
	../include/vlc_fs.h \
52
	../include/vlc_gcrypt.h \
53
	../include/vlc_opengl.h \
54
	../include/vlc_http.h \
55
	../include/vlc_httpd.h \
56
	../include/vlc_image.h \
57
	../include/vlc_inhibit.h \
58
	../include/vlc_input.h \
59
	../include/vlc_input_item.h \
Rafaël Carré's avatar
Rafaël Carré committed
60
	../include/vlc_keys.h \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
61
	../include/vlc_main.h \
62
	../include/vlc_md5.h \
63
	../include/vlc_messages.h \
64
	../include/vlc_meta.h \
jetru's avatar
jetru committed
65
	../include/vlc_media_library.h \
66
	../include/vlc_mime.h \
67
	../include/vlc_modules.h \
Pierre Ynard's avatar
Pierre Ynard committed
68
	../include/vlc_mouse.h \
69
	../include/vlc_mtime.h \
70
	../include/vlc_network.h \
71
	../include/vlc_objects.h \
72
	../include/vlc_picture.h \
73 74
	../include/vlc_picture_fifo.h \
	../include/vlc_picture_pool.h \
75
	../include/vlc_playlist.h \
76
	../include/vlc_plugin.h \
77
	../include/vlc_probe.h \
78 79
	../include/vlc_rand.h \
	../include/vlc_services_discovery.h \
jetru's avatar
jetru committed
80
	../include/vlc_sql.h \
81
	../include/vlc_sout.h \
82
	../include/vlc_spu.h \
83 84
	../include/vlc_stream.h \
	../include/vlc_strings.h \
85
	../include/vlc_subpicture.h \
86
	../include/vlc_text_style.h \
87
	../include/vlc_threads.h \
88
	../include/vlc_tls.h \
89
	../include/vlc_url.h \
90 91
	../include/vlc_variables.h \
	../include/vlc_vlm.h \
92
	../include/vlc_video_splitter.h \
93
	../include/vlc_vout.h \
94
	../include/vlc_vout_display.h \
95
	../include/vlc_vout_osd.h \
96
	../include/vlc_vout_window.h \
97
	../include/vlc_xml.h \
98
	../include/vlc_xlib.h \
99
	$(NULL)
100
nodist_pluginsinclude_HEADERS = ../include/vlc_about.h
101

102
noinst_HEADERS = \
103
	../include/vlc_codec_synchro.h \
104
	../include/vlc_codecs.h \
Pierre Ynard's avatar
Pierre Ynard committed
105
	../include/vlc_extensions.h \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
106
	../include/vlc_fixups.h \
107
	../include/vlc_interface.h \
108
	../include/vlc_intf_strings.h \
109
	../include/vlc_iso_lang.h \
Pierre Ynard's avatar
Pierre Ynard committed
110
	../include/vlc_memory.h \
111
	../include/vlc_osd.h \
Rémi Denis-Courmont's avatar
Tabs  
Rémi Denis-Courmont committed
112
	../include/vlc_pgpkey.h \
113 114
	../include/vlc_update.h \
	../include/vlc_vod.h \
Pierre Ynard's avatar
Pierre Ynard committed
115
	../include/vlc_vout_wrapper.h \
Pierre Ynard's avatar
Pierre Ynard committed
116
	../include/vlc_windows_interfaces.h \
117 118
	$(NULL)

119
../include/vlc_about.h: Makefile.am $(top_srcdir)/COPYING $(top_srcdir)/THANKS $(top_srcdir)/AUTHORS
120 121 122 123 124 125 126
	$(AM_V_at)rm -f -- "$@.tmp"
	$(AM_V_at)mkdir -p -- ../include
	$(AM_V_GEN)(echo "/* Automatically generated file - DO NOT EDIT */" && \
	echo "static const char psz_license[] =" && \
	sed 's/"/\\"/g;s/^.*$$/\"&\\n\"/' "$(top_srcdir)/COPYING" && \
	echo ";" && \
	echo "static const char psz_thanks[] =" && \
JP Dinger's avatar
JP Dinger committed
127
	sed '/\$$Id:/d;s/"/\\"/g;s/<.*.> //;s/^.*$$/\"&\\n\"/' \
128 129 130
		"$(top_srcdir)/THANKS" && \
	echo ";" && \
	echo "static const char psz_authors[] =" && \
131
	sed '/\$$Id:/d;s/"/\\"/g;s/<.*.> //;s/^.*$$/\"&\\n\"/' \
132 133 134
		"$(top_srcdir)/AUTHORS" && \
	echo ";") >> "$@.tmp"
	$(AM_V_at)mv -f -- "$@.tmp" "$@"
135

136 137 138 139 140
###############################################################################
# pkg-config integration
###############################################################################

pkgconfigdir = $(libdir)/pkgconfig
141
pkgconfig_DATA = vlc-plugin.pc
142 143
CLEANFILES += $(pkgconfig_DATA)

144
.pc.in.pc: $(top_builddir)/config.status
145
	$(AM_V_GEN)cd "$(top_builddir)" && \
146 147
	$(SHELL) ./config.status --file="src/$@"

148 149 150 151 152 153 154 155 156 157 158 159 160
##############################################################################
# Windows resource files
##############################################################################

if HAVE_WIN32
noinst_DATA = libvlc_win32_rc.rc
endif
EXTRA_DIST += libvlc_win32_rc.rc.in

.rc.in.rc: $(top_builddir)/config.status
	cd "$(top_builddir)" && \
	$(SHELL) ./config.status --file="src/$@"

161 162 163 164
###############################################################################
# Building libvlc
###############################################################################

165
lib_LTLIBRARIES = libvlccore.la
166

167
AM_CPPFLAGS = $(INCICONV) $(IDN_CFLAGS) \
168
	-DMODULE_STRING=\"main\" \
169
	-DLOCALEDIR=\"$(localedir)\" \
170
	-DPKGDATADIR=\"$(vlcdatadir)\" \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
171
	-DPKGLIBDIR=\"$(vlclibdir)\"
172
AM_CFLAGS = $(CFLAGS_libvlccore)
173 174 175
if HAVE_DYNAMIC_PLUGINS
AM_CPPFLAGS += -DHAVE_DYNAMIC_PLUGINS
endif
176 177 178 179
if HAVE_DBUS
AM_CPPFLAGS += -DHAVE_DBUS
AM_CFLAGS += $(DBUS_CFLAGS)
endif
180 181 182 183 184

libvlccore_la_SOURCES = $(SOURCES_libvlc)
libvlccore_la_LDFLAGS = \
	-no-undefined \
	$(LDFLAGS_libvlccore) \
185
	-no-undefined \
186
	-export-symbols $(srcdir)/libvlccore.sym \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
187
	-version-info 5:0:0
188
libvlccore_la_LIBADD = $(LIBS_libvlccore) \
189
	../compat/libcompat.la \
190
	$(LTLIBINTL) $(LTLIBICONV) \
191
	$(IDN_LIBS) $(LIBPTHREAD) $(SOCKET_LIBS) $(LIBDL) $(LIBM)
192
libvlccore_la_DEPENDENCIES = libvlccore.sym
193
if HAVE_WIN32
194
libvlccore_la_DEPENDENCIES += libvlc_win32_rc.$(OBJEXT)
195
libvlccore_la_LDFLAGS += -Wl,libvlc_win32_rc.$(OBJEXT) -avoid-version
196
endif
197 198 199
if HAVE_DBUS
libvlccore_la_LIBADD += $(DBUS_LIBS)
endif
200

201
libvlc_win32_rc.$(OBJEXT): libvlc_win32_rc.rc
202
	$(WINDRES) --include-dir $(top_srcdir)/share --include-dir $(top_srcdir)/extras/package/win32 -i $< -o $@
203

204
EXTRA_libvlccore_la_SOURCES = \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
205
	$(SOURCES_libvlc_darwin) \
206
	$(SOURCES_libvlc_android) \
207
	$(SOURCES_libvlc_linux) \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
208
	$(SOURCES_libvlc_win32) \
komh's avatar
komh committed
209
	$(SOURCES_libvlc_os2) \
210
	$(SOURCES_libvlc_other) \
211
	$(SOURCES_libvlc_httpd) \
212
	$(SOURCES_libvlc_sout) \
213
	$(SOURCES_libvlc_vlm) \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
214
	$(NULL)
215
if HAVE_DARWIN
216
libvlccore_la_SOURCES += $(SOURCES_libvlc_darwin)
217
else
218 219 220
if HAVE_ANDROID
libvlccore_la_SOURCES += $(SOURCES_libvlc_android)
else
221
if HAVE_LINUX
222
libvlccore_la_SOURCES += $(SOURCES_libvlc_linux)
223
else
224
if HAVE_WIN32
225
libvlccore_la_SOURCES += $(SOURCES_libvlc_win32)
226
else
227
if HAVE_SYMBIAN
228
#libvlccore_la_SOURCES += $(SOURCES_libvlc_symbian)
229
else
komh's avatar
komh committed
230 231 232
if HAVE_OS2
libvlccore_la_SOURCES += $(SOURCES_libvlc_os2)
else
233
libvlccore_la_SOURCES += $(SOURCES_libvlc_other)
234
endif
235 236 237
endif
endif
endif
238
endif
239
endif
240 241 242
if BUILD_HTTPD
libvlccore_la_SOURCES += $(SOURCES_libvlc_httpd)
endif
243
if ENABLE_SOUT
244
libvlccore_la_SOURCES += $(SOURCES_libvlc_sout)
245 246 247
if ENABLE_VLM
libvlccore_la_SOURCES += $(SOURCES_libvlc_vlm)
endif
248
endif
249

250
SOURCES_libvlc_darwin = \
Pierre Ynard's avatar
Pierre Ynard committed
251
	posix/darwin_dirs.c \
252
	posix/filesystem.c \
253
	posix/plugin.c \
254
	posix/thread.c \
255
	posix/timer.c \
256
	posix/darwin_specific.c \
257
	posix/rand.c \
258 259
	$(NULL)

260 261 262 263 264 265 266 267 268 269 270 271
SOURCES_libvlc_android = \
	android/dirs.c \
	posix/filesystem.c \
	posix/plugin.c \
	posix/thread.c \
	posix/timer.c \
	posix/linux_cpu.c \
	posix/linux_specific.c \
	posix/specific.c \
	posix/rand.c \
	$(NULL)

272
SOURCES_libvlc_linux = \
273 274
	posix/dirs.c \
	posix/filesystem.c \
275
	posix/plugin.c \
276
	posix/thread.c \
277
	posix/timer.c \
278
	posix/linux_cpu.c \
279
	posix/linux_specific.c \
280
	posix/specific.c \
281
	posix/rand.c \
282 283
	$(NULL)

284
SOURCES_libvlc_win32 = \
285
	win32/dirs.c \
286
	win32/filesystem.c \
287
	win32/plugin.c \
288
	win32/thread.c \
289
	win32/specific.c \
290
	win32/winsock.c \
291
	win32/rand.c \
292 293
	$(NULL)

294 295
SOURCES_libvlc_symbian = \
	symbian/path.cpp \
296
	symbian/dirs.c \
297
	win32/plugin.c \
298
	posix/rand.c \
299 300
	$(NULL)

komh's avatar
komh committed
301
SOURCES_libvlc_os2 = \
302
	os2/getaddrinfo.c \
303
	os2/dirs.c \
304 305
	os2/filesystem.c \
	os2/plugin.c \
komh's avatar
komh committed
306
	os2/thread.c \
komh's avatar
komh committed
307
	os2/specific.c \
308
	os2/rand.c \
komh's avatar
komh committed
309 310
	$(NULL)

311
SOURCES_libvlc_other = \
312 313 314
	posix/dirs.c \
	posix/filesystem.c \
	posix/thread.c \
315
	posix/timer.c \
316
	posix/plugin.c \
317
	posix/specific.c \
318
	posix/rand.c \
319
	$(NULL)
320

321 322 323
SOURCES_libvlc_common = \
	libvlc.c \
	libvlc.h \
324
	libvlc-module.c \
325
	missing.c \
326
	revision.c \
327
	version.c \
328
	interface/dialog.c \
329
	interface/interface.c \
330
	playlist/playlist_internal.h \
331
	playlist/art.c \
Christophe Mutricy's avatar
Christophe Mutricy committed
332
	playlist/art.h \
333 334 335
	playlist/thread.c \
	playlist/control.c \
	playlist/engine.c \
336
	playlist/fetcher.c \
Christophe Mutricy's avatar
Christophe Mutricy committed
337
	playlist/fetcher.h \
338 339
	playlist/sort.c \
	playlist/loadsave.c \
340
	playlist/preparser.c \
Christophe Mutricy's avatar
Christophe Mutricy committed
341
	playlist/preparser.h \
342
	playlist/tree.c \
343
	playlist/item.c \
344
	playlist/search.c \
345
	playlist/services_discovery.c \
346
	input/item.c \
347 348 349 350
	input/access.c \
	input/clock.c \
	input/control.c \
	input/decoder.c \
351
	input/decoder_synchro.c \
352 353
	input/demux.c \
	input/es_out.c \
354
	input/es_out_timeshift.c \
355
	input/event.c \
356
	input/input.c \
Christophe Mutricy's avatar
Christophe Mutricy committed
357
	input/info.h \
358
	input/meta.c \
359
	input/access.h \
360 361
	input/clock.h \
	input/decoder.h \
362
	input/demux.h \
363
	input/es_out.h \
364
	input/es_out_timeshift.h \
365
	input/event.h \
366
	input/item.h \
367
	input/stream.h \
368
	input/input_internal.h \
369
	input/input_interface.h \
370
	input/vlm_internal.h \
Laurent Aimar's avatar
Laurent Aimar committed
371
	input/vlm_event.h \
372 373
	input/resource.h \
	input/resource.c \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
374
	input/stats.c \
375
	input/stream.c \
376
	input/stream_demux.c \
377
	input/stream_filter.c \
378
	input/stream_memory.c \
379 380
	input/subtitles.c \
	input/var.c \
ivoire's avatar
ivoire committed
381
	video_output/chrono.h \
382 383
	video_output/control.c \
	video_output/control.h \
384 385
	video_output/display.c \
	video_output/display.h \
Pierre Ynard's avatar
Pierre Ynard committed
386
	video_output/event.h \
387 388
	video_output/inhibit.c \
	video_output/inhibit.h \
389 390
	video_output/interlacing.c \
	video_output/interlacing.h \
391 392
	video_output/snapshot.c \
	video_output/snapshot.h \
393
	video_output/statistic.h \
394 395
	video_output/postprocessing.c \
	video_output/postprocessing.h \
396 397
	video_output/video_output.c \
	video_output/video_text.c \
398
	video_output/video_epg.c \
399 400
	video_output/video_widgets.c \
	video_output/vout_subpictures.c \
401
	video_output/window.c \
402
	video_output/opengl.c \
403
	video_output/vout_intf.c \
Laurent Aimar's avatar
Laurent Aimar committed
404
	video_output/vout_internal.h \
405
	video_output/vout_control.h \
406
	video_output/vout_wrapper.c \
zorglub's avatar
zorglub committed
407
	audio_output/aout_internal.h \
408 409 410
	audio_output/common.c \
	audio_output/dec.c \
	audio_output/filters.c \
411
	audio_output/input.c \
412
	audio_output/output.c \
413
	audio_output/volume.c \
414 415 416 417 418 419 420
	audio_output/intf.c \
	osd/osd.c \
	osd/osd_text.c \
	network/getaddrinfo.c \
	network/io.c \
	network/tcp.c \
	network/udp.c \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
421
	network/rootbind.c \
422
	network/tls.c \
423 424 425
	text/charset.c \
	text/strings.c \
	text/unicode.c \
426
	text/url.c \
427
	text/filesystem.c \
428 429
	text/iso_lang.c \
	text/iso-639_def.h \
430
	misc/md5.c \
431
	misc/probe.c \
432
	misc/rand.c \
433 434
	misc/mtime.c \
	misc/block.c \
435
	misc/fourcc.c \
436
	misc/es_format.c \
437
	misc/picture.c \
438 439
	misc/picture_fifo.c \
	misc/picture_pool.c \
440 441
	modules/modules.h \
	modules/modules.c \
442
	modules/bank.c \
443
	modules/cache.c \
444
	modules/entry.c \
445
	modules/textdomain.c \
446 447
	misc/threads.c \
	misc/cpu.c \
448
	misc/epg.c \
449
	misc/exit.c \
450
	config/configuration.h \
451 452 453
	config/core.c \
	config/chain.c \
	config/file.c \
454
        config/help.c \
455
	config/intf.c \
456
	config/keys.c \
457
	config/cmdline.c \
458 459
	config/getopt.c \
	config/vlc_getopt.h \
460
	misc/events.c \
461 462
	misc/image.c \
	misc/messages.c \
463
	misc/mime.c \
464
	misc/objects.c \
zorglub's avatar
zorglub committed
465
	misc/variables.h \
466 467
	misc/variables.c \
	misc/error.c \
Rafaël Carré's avatar
Typo  
Rafaël Carré committed
468
	misc/update.h \
469
	misc/update.c \
470
	misc/update_crypto.c \
471
	misc/xml.c \
jetru's avatar
jetru committed
472
	misc/media_library.c \
473
	extras/libc.c \
474
	extras/tdestroy.c \
Laurent Aimar's avatar
Laurent Aimar committed
475
	misc/filter.c \
476
	misc/filter_chain.c \
477
	misc/http_auth.c \
jetru's avatar
jetru committed
478
	misc/sql.c \
479
	misc/text_style.c \
480 481
	misc/subpicture.c \
	misc/subpicture.h \
482 483
	$(NULL)

484 485 486 487
SOURCES_libvlc_httpd = \
	network/httpd.c \
	$(NULL)

488 489 490 491 492 493 494 495
SOURCES_libvlc_sout = \
	stream_output/stream_output.c \
	stream_output/stream_output.h \
	stream_output/announce.c \
	stream_output/sap.c \
	stream_output/sdp.c \
	$(NULL)

496 497
SOURCES_libvlc_vlm = \
	input/vlm.c \
Laurent Aimar's avatar
Laurent Aimar committed
498
	input/vlm_event.c \
499 500 501
	input/vlmshell.c \
	$(NULL)

502 503 504 505
SOURCES_libvlc = \
	$(SOURCES_libvlc_common) \
	$(NULL)

506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537
# Unit/regression tests
#
check_PROGRAMS = \
	test_block \
	test_dictionary \
	test_i18n_atof \
	test_md5 \
	test_timer \
	test_url \
	test_utf8 \
	test_xmlent \
	test_headers

TESTS = $(check_PROGRAMS)

test_block_SOURCES = test/block_test.c
test_block_LDADD = $(LDADD) $(LIBS_libvlccore)
test_block_DEPENDENCIES =

test_dictionary_SOURCES = test/dictionary.c
test_i18n_atof_SOURCES = test/i18n_atof.c
test_md5_SOURCES = test/md5.c
test_timer_SOURCES = test/timer.c
test_url_SOURCES = test/url.c
test_utf8_SOURCES = test/utf8.c
test_xmlent_SOURCES = test/xmlent.c
test_headers_SOURCES = test/headers.c

AM_LDFLAGS = -no-install
LDADD = libvlccore.la \
	../compat/libcompat.la

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
538 539 540 541 542
###############################################################################
# GIT revision
###############################################################################

BUILT_SOURCES += stamp-revision
543
MAINTAINERCLEANFILES = $(srcdir)/revision.txt $(srcdir)/revision.c
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
544

545 546 547 548
$(srcdir)/revision.c: $(srcdir)/revision.txt
	$(AM_V_at)rm -f -- $@
	$(AM_V_GEN)echo "const char psz_vlc_changeset[] = \"$$(cat $<)\";" \
		> $@
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
549

550
$(srcdir)/revision.txt:
551
	$(AM_V_at)$(MAKE) stamp-revision
552
	$(AM_V_GEN)touch $@
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
553 554

stamp-revision:
555
	$(AM_V_at)rm -f -- revision.tmp
556 557 558 559 560 561
	$(AM_V_GEN)if ! git \
			--git-dir="$(top_srcdir)/.git/" describe \
			--tags --long --match '?.*.*' --always; then \
		cat $(srcdir)/revision.txt ; \
	fi > revision.tmp
	$(AM_V_at)if diff revision.tmp $(srcdir)/revision.txt >/dev/null 2>&1; then \
562 563
		rm -f -- revision.tmp; \
	else \
564 565 566
		mv -f -- revision.tmp $(srcdir)/revision.txt; \
	fi
#2>&1
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
567

568 569 570
###############################################################################
# Unit/regression test
###############################################################################
571

572
dist_check_SCRIPTS = check_headers
573

574
check-local:
575
	for h in `echo $(pkginclude_HEADERS) | sed -e s,\.\./include/,,g`; \
576 577 578 579 580 581 582 583
	do \
		echo grep - "#include <$$h>" $(srcdir)/test/headers.c ; \
		if ! grep -- "#include <$$h>" $(srcdir)/test/headers.c ; \
		then \
			echo "Header $$h not included in test/headers.c!"; \
			exit 1; \
		fi ; \
	done
584
	$(SHELL) $(srcdir)/check_headers $(pluginsinclude_HEADERS)
585

586
FORCE:
587 588 589 590
	@echo "Generated source cannot be phony. Go away." >&2
	@exit 1

.PHONY: FORCE