Makefile.am 13.5 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)\" \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
170
	-DSYSCONFDIR=\"$(sysconfdir)\" \
171
	-DPKGDATADIR=\"$(vlcdatadir)\" \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
172
	-DPKGLIBDIR=\"$(vlclibdir)\"
173
AM_CFLAGS = $(CFLAGS_libvlccore)
174 175 176
if HAVE_DYNAMIC_PLUGINS
AM_CPPFLAGS += -DHAVE_DYNAMIC_PLUGINS
endif
177 178 179 180 181

libvlccore_la_SOURCES = $(SOURCES_libvlc)
libvlccore_la_LDFLAGS = \
	-no-undefined \
	$(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) $(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
libvlc_win32_rc.$(OBJEXT): libvlc_win32_rc.rc
196
	$(WINDRES) --include-dir $(top_srcdir)/share --include-dir $(top_srcdir)/extras/package/win32 -i $< -o $@
197

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

239
SOURCES_libvlc_darwin = \
Pierre Ynard's avatar
Pierre Ynard committed
240
	posix/darwin_dirs.c \
241
	posix/filesystem.c \
242
	posix/plugin.c \
243
	posix/thread.c \
244
	posix/timer.c \
245
	posix/darwin_specific.c \
246
	posix/rand.c \
247 248
	$(NULL)

249
SOURCES_libvlc_linux = \
250 251
	posix/dirs.c \
	posix/filesystem.c \
252
	posix/plugin.c \
253
	posix/thread.c \
254
	posix/timer.c \
255
	posix/linux_cpu.c \
256
	posix/linux_specific.c \
257
	posix/specific.c \
258
	posix/rand.c \
259 260
	$(NULL)

261
SOURCES_libvlc_win32 = \
262
	win32/dirs.c \
263
	win32/filesystem.c \
264
	win32/plugin.c \
265
	win32/thread.c \
266
	win32/specific.c \
267
	win32/winsock.c \
268
	win32/rand.c \
269 270
	$(NULL)

271 272
SOURCES_libvlc_symbian = \
	symbian/path.cpp \
273
	symbian/dirs.c \
274
	win32/plugin.c \
275
	posix/rand.c \
276 277
	$(NULL)

komh's avatar
komh committed
278
SOURCES_libvlc_os2 = \
279
	os2/getaddrinfo.c \
280
	os2/dirs.c \
281 282
	os2/filesystem.c \
	os2/plugin.c \
komh's avatar
komh committed
283
	os2/thread.c \
komh's avatar
komh committed
284
	os2/specific.c \
285
	os2/rand.c \
komh's avatar
komh committed
286 287
	$(NULL)

288
SOURCES_libvlc_other = \
289 290 291
	posix/dirs.c \
	posix/filesystem.c \
	posix/thread.c \
292
	posix/timer.c \
293
	posix/plugin.c \
294
	posix/specific.c \
295
	posix/rand.c \
296
	$(NULL)
297

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

461 462 463 464
SOURCES_libvlc_httpd = \
	network/httpd.c \
	$(NULL)

465 466 467 468 469 470 471 472
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)

473 474
SOURCES_libvlc_vlm = \
	input/vlm.c \
Laurent Aimar's avatar
Laurent Aimar committed
475
	input/vlm_event.c \
476 477 478
	input/vlmshell.c \
	$(NULL)

479 480 481 482
SOURCES_libvlc = \
	$(SOURCES_libvlc_common) \
	$(NULL)

483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514
# 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
515 516 517 518 519
###############################################################################
# GIT revision
###############################################################################

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

522 523 524 525
$(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
526

527
$(srcdir)/revision.txt:
528
	$(AM_V_at)$(MAKE) stamp-revision
529
	$(AM_V_GEN)touch $@
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
530 531

stamp-revision:
532
	$(AM_V_at)rm -f -- revision.tmp
533 534 535 536 537 538
	$(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 \
539 540
		rm -f -- revision.tmp; \
	else \
541 542 543
		mv -f -- revision.tmp $(srcdir)/revision.txt; \
	fi
#2>&1
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
544

545 546 547
###############################################################################
# Unit/regression test
###############################################################################
548

549
dist_check_SCRIPTS = check_headers
550

551
check-local:
552
	for h in `echo $(pkginclude_HEADERS) | sed -e s,\.\./include/,,g`; \
553 554 555 556 557 558 559 560
	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
561
	$(SHELL) $(srcdir)/check_headers $(pluginsinclude_HEADERS)
562

563
FORCE:
564 565 566 567
	@echo "Generated source cannot be phony. Go away." >&2
	@exit 1

.PHONY: FORCE