Makefile.am 13.8 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) \
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
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 = \
248
	darwin/dirs.c \
249
	posix/filesystem.c \
250
	posix/plugin.c \
251
	posix/thread.c \
252
	posix/timer.c \
253
	darwin/specific.c \
254
	posix/rand.c \
255
	darwin/netconf.c \
256
257
	$(NULL)

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

271
SOURCES_libvlc_linux = \
272
273
	posix/dirs.c \
	posix/filesystem.c \
274
	posix/netconf.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/netconf.c \
288
	win32/plugin.c \
289
	win32/thread.c \
290
	win32/specific.c \
291
	win32/winsock.c \
292
	win32/rand.c \
293
294
	$(NULL)

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

302
SOURCES_libvlc_os2 = \
303
	os2/getaddrinfo.c \
304
	os2/dirs.c \
305
	os2/filesystem.c \
KO Myung-Hun's avatar
KO Myung-Hun committed
306
	os2/netconf.c \
307
	os2/plugin.c \
308
	os2/thread.c \
309
	os2/specific.c \
310
	os2/rand.c \
311
312
	$(NULL)

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

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

481
482
483
484
SOURCES_libvlc_httpd = \
	network/httpd.c \
	$(NULL)

485
486
487
488
489
490
491
492
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)

493
494
SOURCES_libvlc_vlm = \
	input/vlm.c \
Laurent Aimar's avatar
Laurent Aimar committed
495
	input/vlm_event.c \
496
497
498
	input/vlmshell.c \
	$(NULL)

499
500
501
502
SOURCES_libvlc = \
	$(SOURCES_libvlc_common) \
	$(NULL)

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
532
533
534
# 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
535
536
537
538
539
###############################################################################
# GIT revision
###############################################################################

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

542
543
544
545
$(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
546

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

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

565
566
567
###############################################################################
# Unit/regression test
###############################################################################
568

569
dist_check_SCRIPTS = check_headers
570

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

583
FORCE:
584
585
586
587
	@echo "Generated source cannot be phony. Go away." >&2
	@exit 1

.PHONY: FORCE