Makefile.am 13.7 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 \
27
	../include/vlc_aout_volume.h \
28
	../include/vlc_arrays.h \
Pierre Ynard's avatar
Pierre Ynard committed
29
	../include/vlc_art_finder.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 \
jetru's avatar
jetru committed
64
	../include/vlc_media_library.h \
65
	../include/vlc_mime.h \
66
	../include/vlc_modules.h \
Pierre Ynard's avatar
Pierre Ynard committed
67
	../include/vlc_mouse.h \
68
	../include/vlc_mtime.h \
69
	../include/vlc_network.h \
70
	../include/vlc_objects.h \
71
	../include/vlc_picture.h \
72 73
	../include/vlc_picture_fifo.h \
	../include/vlc_picture_pool.h \
74
	../include/vlc_playlist.h \
75
	../include/vlc_plugin.h \
76
	../include/vlc_probe.h \
77 78
	../include/vlc_rand.h \
	../include/vlc_services_discovery.h \
79
	../include/vlc_fingerprinter.h \
80
	../include/vlc_sout.h \
81
	../include/vlc_spu.h \
82 83
	../include/vlc_stream.h \
	../include/vlc_strings.h \
84
	../include/vlc_subpicture.h \
85
	../include/vlc_text_style.h \
86
	../include/vlc_threads.h \
87
	../include/vlc_tls.h \
88
	../include/vlc_url.h \
89 90
	../include/vlc_variables.h \
	../include/vlc_vlm.h \
91
	../include/vlc_video_splitter.h \
92
	../include/vlc_vout.h \
93
	../include/vlc_vout_display.h \
94
	../include/vlc_vout_osd.h \
95
	../include/vlc_vout_window.h \
96
	../include/vlc_xml.h \
97
	../include/vlc_xlib.h \
98
	$(NULL)
99
nodist_pluginsinclude_HEADERS = ../include/vlc_about.h
100

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

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

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

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

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

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

159 160 161 162
###############################################################################
# Building libvlc
###############################################################################

163
lib_LTLIBRARIES = libvlccore.la
164

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

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

198
libvlc_win32_rc.$(OBJEXT): libvlc_win32_rc.rc
199
	$(WINDRES) --include-dir $(top_srcdir)/share --include-dir $(top_srcdir)/extras/package/win32 -i $< -o $@
200

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

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

257 258
SOURCES_libvlc_android = \
	android/dirs.c \
Rafaël Carré's avatar
Rafaël Carré committed
259
	android/thread.c \
260 261 262 263 264 265 266 267 268
	posix/filesystem.c \
	posix/plugin.c \
	posix/timer.c \
	posix/linux_cpu.c \
	posix/linux_specific.c \
	posix/specific.c \
	posix/rand.c \
	$(NULL)

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

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

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

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

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

478 479 480 481
SOURCES_libvlc_httpd = \
	network/httpd.c \
	$(NULL)

482 483 484 485 486 487 488 489
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)

490 491
SOURCES_libvlc_vlm = \
	input/vlm.c \
Laurent Aimar's avatar
Laurent Aimar committed
492
	input/vlm_event.c \
493 494 495
	input/vlmshell.c \
	$(NULL)

496 497 498 499
SOURCES_libvlc = \
	$(SOURCES_libvlc_common) \
	$(NULL)

500 501 502 503 504 505 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
# 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
532 533 534 535 536
###############################################################################
# GIT revision
###############################################################################

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

539 540 541 542
$(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
543

544
$(srcdir)/revision.txt:
545
	$(AM_V_at)$(MAKE) stamp-revision
546
	$(AM_V_GEN)touch $@
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
547 548

stamp-revision:
549
	$(AM_V_at)rm -f -- revision.tmp
550 551 552 553 554 555
	$(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 \
556 557
		rm -f -- revision.tmp; \
	else \
558 559 560
		mv -f -- revision.tmp $(srcdir)/revision.txt; \
	fi
#2>&1
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
561

562 563 564
###############################################################################
# Unit/regression test
###############################################################################
565

566
dist_check_SCRIPTS = check_headers
567

568
check-local:
569
	for h in `echo $(pkginclude_HEADERS) | sed -e s,\.\./include/,,g`; \
570 571 572 573 574 575 576 577
	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
578
	$(SHELL) $(srcdir)/check_headers $(pluginsinclude_HEADERS)
579

580
FORCE:
581 582 583 584
	@echo "Generated source cannot be phony. Go away." >&2
	@exit 1

.PHONY: FORCE