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

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 = \
Pierre Ynard's avatar
Pierre Ynard committed
248
	posix/darwin_dirs.c \
249
	posix/filesystem.c \
250
	posix/plugin.c \
251
	posix/thread.c \
252
	posix/timer.c \
253
	posix/darwin_specific.c \
254
	posix/rand.c \
255
256
	$(NULL)

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

269
SOURCES_libvlc_linux = \
270
271
	posix/dirs.c \
	posix/filesystem.c \
272
	posix/plugin.c \
273
	posix/thread.c \
274
	posix/timer.c \
275
	posix/linux_cpu.c \
276
	posix/linux_specific.c \
277
	posix/specific.c \
278
	posix/rand.c \
279
280
	$(NULL)

281
SOURCES_libvlc_win32 = \
282
	win32/dirs.c \
283
	win32/filesystem.c \
284
	win32/plugin.c \
285
	win32/thread.c \
286
	win32/specific.c \
287
	win32/winsock.c \
288
	win32/rand.c \
289
290
	$(NULL)

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

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

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

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

475
476
477
478
SOURCES_libvlc_httpd = \
	network/httpd.c \
	$(NULL)

479
480
481
482
483
484
485
486
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)

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

493
494
495
496
SOURCES_libvlc = \
	$(SOURCES_libvlc_common) \
	$(NULL)

497
498
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
# 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
529
530
531
532
533
###############################################################################
# GIT revision
###############################################################################

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

536
537
538
539
$(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
540

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

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

559
560
561
###############################################################################
# Unit/regression test
###############################################################################
562

563
dist_check_SCRIPTS = check_headers
564

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

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

.PHONY: FORCE