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 \
jetru's avatar
jetru committed
79
	../include/vlc_sql.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
182

libvlccore_la_SOURCES = $(SOURCES_libvlc)
libvlccore_la_LDFLAGS = \
	-no-undefined \
	$(LDFLAGS_libvlccore) \
183
	-no-undefined \
184
	-export-symbols $(srcdir)/libvlccore.sym \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
185
	-version-info 5: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_DBUS
libvlccore_la_LIBADD += $(DBUS_LIBS)
endif
198

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

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

248
SOURCES_libvlc_darwin = \
Pierre Ynard's avatar
Pierre Ynard committed
249
	posix/darwin_dirs.c \
250
	posix/filesystem.c \
251
	posix/plugin.c \
252
	posix/thread.c \
253
	posix/timer.c \
254
	posix/darwin_specific.c \
255
	posix/rand.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
262
263
264
265
266
267
268
269
	posix/filesystem.c \
	posix/plugin.c \
	posix/timer.c \
	posix/linux_cpu.c \
	posix/linux_specific.c \
	posix/specific.c \
	posix/rand.c \
	$(NULL)

270
SOURCES_libvlc_linux = \
271
272
	posix/dirs.c \
	posix/filesystem.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/plugin.c \
286
	win32/thread.c \
287
	win32/specific.c \
288
	win32/winsock.c \
289
	win32/rand.c \
290
291
	$(NULL)

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

299
SOURCES_libvlc_os2 = \
300
	os2/getaddrinfo.c \
301
	os2/dirs.c \
302
303
	os2/filesystem.c \
	os2/plugin.c \
304
	os2/thread.c \
305
	os2/specific.c \
306
	os2/rand.c \
307
308
	$(NULL)

309
SOURCES_libvlc_other = \
310
311
312
	posix/dirs.c \
	posix/filesystem.c \
	posix/thread.c \
313
	posix/timer.c \
314
	posix/plugin.c \
315
	posix/specific.c \
316
	posix/rand.c \
317
	$(NULL)
318

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

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

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

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

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

499
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
# 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
531
532
533
534
535
###############################################################################
# GIT revision
###############################################################################

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

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

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

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

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

565
dist_check_SCRIPTS = check_headers
566

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

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

.PHONY: FORCE