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 \
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 \
110
	../include/vlc_osd.h \
Rémi Denis-Courmont's avatar
Tabs    
Rémi Denis-Courmont committed
111
	../include/vlc_pgpkey.h \
112
113
	../include/vlc_update.h \
	../include/vlc_vod.h \
Pierre Ynard's avatar
Pierre Ynard committed
114
	../include/vlc_vout_wrapper.h \
Pierre Ynard's avatar
Pierre Ynard committed
115
	../include/vlc_windows_interfaces.h \
116
117
	$(NULL)

118
../include/vlc_about.h: Makefile.am $(top_srcdir)/COPYING $(top_srcdir)/THANKS $(top_srcdir)/AUTHORS
119
120
121
122
123
124
125
	$(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
126
	sed '/\$$Id:/d;s/"/\\"/g;s/<.*.> //;s/^.*$$/\"&\\n\"/' \
127
128
129
		"$(top_srcdir)/THANKS" && \
	echo ";" && \
	echo "static const char psz_authors[] =" && \
130
	sed '/\$$Id:/d;s/"/\\"/g;s/<.*.> //;s/^.*$$/\"&\\n\"/' \
131
132
133
		"$(top_srcdir)/AUTHORS" && \
	echo ";") >> "$@.tmp"
	$(AM_V_at)mv -f -- "$@.tmp" "$@"
134

135
136
137
138
139
###############################################################################
# pkg-config integration
###############################################################################

pkgconfigdir = $(libdir)/pkgconfig
140
pkgconfig_DATA = vlc-plugin.pc
141
142
CLEANFILES += $(pkgconfig_DATA)

143
.pc.in.pc: $(top_builddir)/config.status
144
	$(AM_V_GEN)cd "$(top_builddir)" && \
145
146
	$(SHELL) ./config.status --file="src/$@"

147
148
149
150
151
152
153
154
155
156
157
158
159
##############################################################################
# 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/$@"

160
161
162
163
###############################################################################
# Building libvlc
###############################################################################

164
lib_LTLIBRARIES = libvlccore.la
165

166
AM_CPPFLAGS = $(INCICONV) $(IDN_CFLAGS) \
167
	-DMODULE_STRING=\"main\" \
168
	-DLOCALEDIR=\"$(localedir)\" \
169
	-DPKGDATADIR=\"$(vlcdatadir)\" \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
170
	-DPKGLIBDIR=\"$(vlclibdir)\"
171
AM_CFLAGS = $(CFLAGS_libvlccore)
172
173
174
if HAVE_DYNAMIC_PLUGINS
AM_CPPFLAGS += -DHAVE_DYNAMIC_PLUGINS
endif
175
176
177
178
if HAVE_DBUS
AM_CPPFLAGS += -DHAVE_DBUS
AM_CFLAGS += $(DBUS_CFLAGS)
endif
179
180
181
182
183

libvlccore_la_SOURCES = $(SOURCES_libvlc)
libvlccore_la_LDFLAGS = \
	-no-undefined \
	$(LDFLAGS_libvlccore) \
184
	-no-undefined \
185
	-export-symbols $(srcdir)/libvlccore.sym \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
186
	-version-info 5:0:0
187
libvlccore_la_LIBADD = $(LIBS_libvlccore) \
188
	../compat/libcompat.la \
189
	$(LTLIBINTL) $(LTLIBICONV) \
190
	$(IDN_LIBS) $(LIBPTHREAD) $(SOCKET_LIBS) $(LIBDL) $(LIBM)
191
libvlccore_la_DEPENDENCIES = libvlccore.sym
192
if HAVE_WIN32
193
libvlccore_la_DEPENDENCIES += libvlc_win32_rc.$(OBJEXT)
194
libvlccore_la_LDFLAGS += -Wl,libvlc_win32_rc.$(OBJEXT) -avoid-version
195
endif
196
197
198
if HAVE_DBUS
libvlccore_la_LIBADD += $(DBUS_LIBS)
endif
199

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

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

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

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

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

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

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

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

483
484
485
486
SOURCES_libvlc_httpd = \
	network/httpd.c \
	$(NULL)

487
488
489
490
491
492
493
494
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)

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

501
502
503
504
SOURCES_libvlc = \
	$(SOURCES_libvlc_common) \
	$(NULL)

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

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

544
545
546
547
$(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
548

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

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

567
568
569
###############################################################################
# Unit/regression test
###############################################################################
570

571
dist_check_SCRIPTS = check_headers
572

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

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

.PHONY: FORCE