Makefile.am 14 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 \
Rafaël Carré's avatar
Rafaël Carré committed
26
	../include/vlc_addons.h \
27
	../include/vlc_aout.h \
28
	../include/vlc_aout_volume.h \
29
	../include/vlc_arrays.h \
30
	../include/vlc_atomic.h \
31
	../include/vlc_avcodec.h \
32 33 34 35 36
	../include/vlc_bits.h \
	../include/vlc_block.h \
	../include/vlc_block_helper.h \
	../include/vlc_charset.h \
	../include/vlc_codec.h \
37 38
	../include/vlc_common.h \
	../include/vlc_config.h \
39
	../include/vlc_config_cat.h \
40
	../include/vlc_configuration.h \
41
	../include/vlc_cpu.h \
42
	../include/vlc_dialog.h \
43
	../include/vlc_demux.h \
44
	../include/vlc_epg.h \
45
	../include/vlc_es.h \
46 47
	../include/vlc_es_out.h \
	../include/vlc_events.h \
48
	../include/vlc_filter.h \
49
	../include/vlc_fourcc.h \
50
	../include/vlc_fs.h \
51
	../include/vlc_gcrypt.h \
52
	../include/vlc_opengl.h \
53
	../include/vlc_http.h \
54
	../include/vlc_httpd.h \
55
	../include/vlc_image.h \
56
	../include/vlc_inhibit.h \
57
	../include/vlc_input.h \
58
	../include/vlc_input_item.h \
Rafaël Carré's avatar
Rafaël Carré committed
59
	../include/vlc_keys.h \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
60
	../include/vlc_main.h \
61
	../include/vlc_md5.h \
62
	../include/vlc_messages.h \
63
	../include/vlc_meta.h \
64
	../include/vlc_meta_fetcher.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 \
80
	../include/vlc_fingerprinter.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 \
Rémi Denis-Courmont's avatar
Tabs  
Rémi Denis-Courmont committed
111
	../include/vlc_pgpkey.h \
112 113
	../include/vlc_update.h \
	../include/vlc_vod.h \
Pierre Ynard's avatar
Pierre Ynard committed
114
	../include/vlc_vout_wrapper.h \
Pierre Ynard's avatar
Pierre Ynard committed
115
	../include/vlc_windows_interfaces.h \
116 117
	$(NULL)

118
../include/vlc_about.h: Makefile.am $(top_srcdir)/COPYING $(top_srcdir)/THANKS $(top_srcdir)/AUTHORS
119 120 121 122 123 124 125
	$(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
126
	sed '/\$$Id:/d;s/"/\\"/g;s/<.*.> //;s/^.*$$/\"&\\n\"/' \
127 128 129
		"$(top_srcdir)/THANKS" && \
	echo ";" && \
	echo "static const char psz_authors[] =" && \
130
	sed '/\$$Id:/d;s/"/\\"/g;s/<.*.> //;s/^.*$$/\"&\\n\"/' \
131 132 133
		"$(top_srcdir)/AUTHORS" && \
	echo ";") >> "$@.tmp"
	$(AM_V_at)mv -f -- "$@.tmp" "$@"
134

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

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

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

147 148 149 150 151 152 153 154 155 156 157 158 159
##############################################################################
# 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/$@"

160 161 162 163
###############################################################################
# Building libvlc
###############################################################################

164
lib_LTLIBRARIES = libvlccore.la
165

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

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

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

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

251
SOURCES_libvlc_darwin = \
252
	darwin/dirs.c \
253
	posix/filesystem.c \
254
	posix/plugin.c \
255
	darwin/thread.c \
256
	posix/timer.c \
257
	darwin/specific.c \
258
	posix/rand.c \
259
	darwin/error.c \
260
	darwin/netconf.c \
261 262
	$(NULL)

263 264
SOURCES_libvlc_android = \
	android/dirs.c \
Rafaël Carré's avatar
Rafaël Carré committed
265
	android/thread.c \
266
	android/error.c \
267
	posix/filesystem.c \
268
	android/netconf.c \
269 270 271 272 273 274 275 276
	posix/plugin.c \
	posix/timer.c \
	posix/linux_cpu.c \
	posix/linux_specific.c \
	posix/specific.c \
	posix/rand.c \
	$(NULL)

277
SOURCES_libvlc_linux = \
278
	posix/dirs.c \
279
	posix/error.c \
280
	posix/filesystem.c \
281
	posix/netconf.c \
282
	posix/plugin.c \
283
	posix/thread.c \
284
	posix/timer.c \
285
	posix/linux_cpu.c \
286
	posix/linux_specific.c \
287
	posix/specific.c \
288
	posix/rand.c \
289 290
	$(NULL)

291
SOURCES_libvlc_win32 = \
292
	win32/dirs.c \
293
	win32/error.c \
294
	win32/filesystem.c \
295
	win32/netconf.c \
296
	win32/plugin.c \
297
	win32/thread.c \
298
	win32/specific.c \
299
	win32/winsock.c \
300
	win32/rand.c \
301 302
	$(NULL)

303 304
SOURCES_libvlc_symbian = \
	symbian/path.cpp \
305
	symbian/dirs.c \
306
	win32/plugin.c \
307
	posix/rand.c \
308 309
	$(NULL)

komh's avatar
komh committed
310
SOURCES_libvlc_os2 = \
311
	os2/getaddrinfo.c \
312
	os2/dirs.c \
313
	darwin/error.c \
314
	os2/filesystem.c \
KO Myung-Hun's avatar
KO Myung-Hun committed
315
	os2/netconf.c \
316
	os2/plugin.c \
komh's avatar
komh committed
317
	os2/thread.c \
komh's avatar
komh committed
318
	os2/specific.c \
319
	os2/rand.c \
komh's avatar
komh committed
320 321
	$(NULL)

322
SOURCES_libvlc_other = \
323
	posix/dirs.c \
324
	posix/error.c \
325
	posix/filesystem.c \
326
	posix/netconf.c \
327
	posix/thread.c \
328
	posix/timer.c \
329
	posix/plugin.c \
330
	posix/specific.c \
331
	posix/rand.c \
332
	$(NULL)
333

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

493 494 495 496
SOURCES_libvlc_httpd = \
	network/httpd.c \
	$(NULL)

497 498 499 500 501 502 503
SOURCES_libvlc_sout = \
	stream_output/stream_output.c \
	stream_output/stream_output.h \
	stream_output/sap.c \
	stream_output/sdp.c \
	$(NULL)

504 505
SOURCES_libvlc_vlm = \
	input/vlm.c \
Laurent Aimar's avatar
Laurent Aimar committed
506
	input/vlm_event.c \
507 508 509
	input/vlmshell.c \
	$(NULL)

510 511 512 513
SOURCES_libvlc = \
	$(SOURCES_libvlc_common) \
	$(NULL)

514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545
# 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
546 547 548 549 550
###############################################################################
# GIT revision
###############################################################################

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

553 554 555 556
$(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
557

558
$(srcdir)/revision.txt:
559
	$(AM_V_at)$(MAKE) stamp-revision
560
	$(AM_V_GEN)touch $@
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
561 562

stamp-revision:
563
	$(AM_V_at)rm -f -- revision.tmp
564 565 566 567 568 569
	$(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 \
570 571
		rm -f -- revision.tmp; \
	else \
572 573 574
		mv -f -- revision.tmp $(srcdir)/revision.txt; \
	fi
#2>&1
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
575

576 577 578
###############################################################################
# Unit/regression test
###############################################################################
579

580
dist_check_SCRIPTS = check_headers
581

582
check-local:
583
	for h in `echo $(pkginclude_HEADERS) | sed -e s,\.\./include/,,g`; \
584 585 586 587 588 589 590 591
	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
592
	$(SHELL) $(srcdir)/check_headers $(pluginsinclude_HEADERS)
593

594
FORCE:
595 596 597 598
	@echo "Generated source cannot be phony. Go away." >&2
	@exit 1

.PHONY: FORCE