Makefile.am 13.4 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 174 175 176 177 178
AM_CFLAGS = $(CFLAGS_libvlccore)

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

192
libvlc_win32_rc.$(OBJEXT): libvlc_win32_rc.rc
193
	$(WINDRES) --include-dir $(top_srcdir)/share --include-dir $(top_srcdir)/extras/package/win32 -i $< -o $@
194

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

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

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

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

268 269
SOURCES_libvlc_symbian = \
	symbian/path.cpp \
270
	symbian/dirs.c \
271
	win32/plugin.c \
272
	posix/rand.c \
273 274
	$(NULL)

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

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

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

458 459 460 461
SOURCES_libvlc_httpd = \
	network/httpd.c \
	$(NULL)

462 463 464 465 466 467 468 469
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)

470 471
SOURCES_libvlc_vlm = \
	input/vlm.c \
Laurent Aimar's avatar
Laurent Aimar committed
472
	input/vlm_event.c \
473 474 475
	input/vlmshell.c \
	$(NULL)

476 477 478 479
SOURCES_libvlc = \
	$(SOURCES_libvlc_common) \
	$(NULL)

480 481 482 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
# 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
512 513 514 515 516
###############################################################################
# GIT revision
###############################################################################

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

519 520 521 522
$(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
523

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

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

542 543 544
###############################################################################
# Unit/regression test
###############################################################################
545

546
dist_check_SCRIPTS = check_headers
547

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

560
FORCE:
561 562 563 564
	@echo "Generated source cannot be phony. Go away." >&2
	@exit 1

.PHONY: FORCE