Makefile.am 13.9 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) \
Rafaël Carré's avatar
Rafaël Carré committed
166
	-DMODULE_STRING=\"core\" \
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 \
184
	-version-info 7: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
	darwin/thread.c \
252
	posix/timer.c \
253
	darwin/specific.c \
254
	posix/rand.c \
255
	darwin/error.c \
256
	darwin/netconf.c \
257
258
	$(NULL)

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

273
SOURCES_libvlc_linux = \
274
	posix/dirs.c \
275
	posix/error.c \
276
	posix/filesystem.c \
277
	posix/netconf.c \
278
	posix/plugin.c \
279
	posix/thread.c \
280
	posix/timer.c \
281
	posix/linux_cpu.c \
282
	posix/linux_specific.c \
283
	posix/specific.c \
284
	posix/rand.c \
285
286
	$(NULL)

287
SOURCES_libvlc_win32 = \
288
	win32/dirs.c \
289
	win32/error.c \
290
	win32/filesystem.c \
291
	win32/netconf.c \
292
	win32/plugin.c \
293
	win32/thread.c \
294
	win32/specific.c \
295
	win32/winsock.c \
296
	win32/rand.c \
297
298
	$(NULL)

299
300
SOURCES_libvlc_symbian = \
	symbian/path.cpp \
301
	symbian/dirs.c \
302
	win32/plugin.c \
303
	posix/rand.c \
304
305
	$(NULL)

306
SOURCES_libvlc_os2 = \
307
	os2/getaddrinfo.c \
308
	os2/dirs.c \
309
	darwin/error.c \
310
	os2/filesystem.c \
KO Myung-Hun's avatar
KO Myung-Hun committed
311
	os2/netconf.c \
312
	os2/plugin.c \
313
	os2/thread.c \
314
	os2/specific.c \
315
	os2/rand.c \
316
317
	$(NULL)

318
SOURCES_libvlc_other = \
319
	posix/dirs.c \
320
	posix/error.c \
321
	posix/filesystem.c \
322
	posix/netconf.c \
323
	posix/thread.c \
324
	posix/timer.c \
325
	posix/plugin.c \
326
	posix/specific.c \
327
	posix/rand.c \
328
	$(NULL)
329

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

487
488
489
490
SOURCES_libvlc_httpd = \
	network/httpd.c \
	$(NULL)

491
492
493
494
495
496
497
498
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)

499
500
SOURCES_libvlc_vlm = \
	input/vlm.c \
Laurent Aimar's avatar
Laurent Aimar committed
501
	input/vlm_event.c \
502
503
504
	input/vlmshell.c \
	$(NULL)

505
506
507
508
SOURCES_libvlc = \
	$(SOURCES_libvlc_common) \
	$(NULL)

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
535
536
537
538
539
540
# 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
541
542
543
544
545
###############################################################################
# GIT revision
###############################################################################

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

548
549
550
551
$(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
552

553
$(srcdir)/revision.txt:
554
	$(AM_V_at)$(MAKE) stamp-revision
555
	$(AM_V_GEN)touch $@
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
556
557

stamp-revision:
558
	$(AM_V_at)rm -f -- revision.tmp
559
560
561
562
563
564
	$(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 \
565
566
		rm -f -- revision.tmp; \
	else \
567
568
569
		mv -f -- revision.tmp $(srcdir)/revision.txt; \
	fi
#2>&1
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
570

571
572
573
###############################################################################
# Unit/regression test
###############################################################################
574

575
dist_check_SCRIPTS = check_headers
576

577
check-local:
578
	for h in `echo $(pkginclude_HEADERS) | sed -e s,\.\./include/,,g`; \
579
580
581
582
583
584
585
586
	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
587
	$(SHELL) $(srcdir)/check_headers $(pluginsinclude_HEADERS)
588

589
FORCE:
590
591
592
593
	@echo "Generated source cannot be phony. Go away." >&2
	@exit 1

.PHONY: FORCE