Makefile.am 39 KB
Newer Older
1 2 3
###############################################################################
# Automake targets and declarations
###############################################################################
4

5 6
NULL =

7 8 9
# SUBDIRS stores the directories where a "make" is required when building
# something. DIST_SUBDIRS stores the directories where nothing is built but
# which have makefiles with distribution information.
10 11
#  - intl should come before modules and . because all the code uses gettext
#  - modules should come before . because vlc needs the builtins
12
#  - . should come before mozilla/bindings because the plugin needs libvlc_pic.a
13
#  - po should come before . because VLC.app needs the pofiles
14
#  - loader should come before modules because some plugins need it
15
SUBDIRS = intl loader modules po . mozilla bindings activex share m4 doc
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
16
DIST_SUBDIRS = $(SUBDIRS) debian ipkg lib
17

18 19 20
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
21
	INSTALL.wince \
22
	vlc.exe.manifest \
23 24 25 26 27
	MAINTAINERS \
	README.MacOSX.rtf \
	bootstrap \
	src/extras/COPYING \
	toolbox \
28
	vlc-api.pl \
Sam Hocevar's avatar
Sam Hocevar committed
29
	vlc-config.in.in \
30
	vlc.spec \
Alexis de Lattre's avatar
Alexis de Lattre committed
31
	vlc.spec.mdk \
32
	vlc.win32.nsi \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
33
	src/misc/modules_builtin.h.in \
34 35
	$(NULL)

36 37
BUILT_SOURCES_distclean = vlc-config
BUILT_SOURCES_clean = \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
38 39 40 41 42
	stamp-api \
	src/misc/modules_builtin.h \
	src/misc/version.c \
	$(NULL)

43
BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
44

45 46
SUFFIXES = 

47 48 49
DISTCHECK_CONFIGURE_FLAGS = --disable-dvd --disable-mad --disable-libmpeg2 \
	--disable-ffmpeg --disable-faad --disable-skins2

50 51 52
# Tell aclocal to use -I m4. Wonder if it really works.
ACLOCAL_AMFLAGS = -I m4

53
# XXX: these flags could be set in configure.ac, but we set them here
54
# because old versions of automake don't support them in configure.ac.
55
AUTOMAKE_OPTIONS = dist-bzip2 subdir-objects
56

57 58 59 60 61 62 63 64 65 66 67 68 69
###############################################################################
# Headers
###############################################################################

pkgincludedir = $(includedir)/vlc

dist_pkginclude_HEADERS = \
	include/vlc/vlc.h \
	include/vlc/aout.h \
	include/vlc/vout.h \
	include/vlc/sout.h \
	include/vlc/decoder.h \
	include/vlc/input.h \
70
	include/vlc/intf.h \
zorglub's avatar
zorglub committed
71
	include/vlc/control.h \
72
	include/vlc/control_structures.h \
73
	$(NULL)
74

75
noinst_HEADERS = $(HEADERS_include)
76
noinst_DATA = $(DATA_noinst_beos) $(DATA_noinst_libvlc)
77 78 79 80 81

HEADERS_include = \
	include/aout_internal.h \
	include/audio_output.h \
	include/beos_specific.h \
82
	include/charset.h \
83
	include/codecs.h \
84 85
	include/configuration.h \
	include/darwin_specific.h \
86 87 88 89 90 91 92 93 94
	include/intf_eject.h \
	include/iso_lang.h \
	include/main.h \
	include/mmx.h \
	include/modules.h \
	include/modules_inner.h \
	include/mtime.h \
	include/network.h \
	include/os_specific.h \
95
	include/snapshot.h \
96
	include/stream_output.h \
Sam Hocevar's avatar
Sam Hocevar committed
97
	include/variables.h \
98
	include/video_output.h \
99
	include/vlc_access.h \
100
	include/vlc_acl.h \
101
	include/vlc_bits.h \
102
	include/vlc_block.h \
gbazin's avatar
 
gbazin committed
103
	include/vlc_block_helper.h \
gbazin's avatar
 
gbazin committed
104
	include/vlc_codec.h \
105 106 107
	include/vlc_common.h \
	include/vlc_config.h \
	include/vlc_cpu.h \
108
	include/vlc_demux.h \
109
	include/vlc_error.h \
110
	include/vlc_es.h \
111
	include/vlc_es_out.h \
112
	include/vlc_filter.h \
zorglub's avatar
zorglub committed
113
	include/vlc_config_cat.h \
114
	include/vlc_httpd.h \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
115
	include/vlc_tls.h \
116
	include/vlc_md5.h \
117
	include/vlc_image.h \
118
	include/vlc_input.h \
119
	include/vlc_interaction.h \
120
	include/vlc_interface.h \
gbazin's avatar
 
gbazin committed
121
	include/vlc_keys.h \
122
	include/vlc_messages.h \
gbazin's avatar
 
gbazin committed
123
	include/vlc_meta.h \
124
	include/vlc_objects.h \
125
	include/vlc_osd.h \
126
	include/vlc_playlist.h \
127
	include/vlc_spu.h \
128
	include/vlc_stream.h \
129
	include/vlc_symbols.h \
130
	include/vlc_threads_funcs.h \
131
	include/vlc_threads.h \
132
	include/vlc_video.h \
133
	include/vlc_vlm.h \
134
	include/vlc_vod.h \
gbazin's avatar
gbazin committed
135
	include/vlc_xml.h \
136
	include/vout_synchro.h \
137 138
	include/win32_specific.h \
	$(NULL)
139

140
src/misc/modules_builtin.h: Makefile src/misc/modules_builtin.h.in vlc-config
Sam Hocevar's avatar
Sam Hocevar committed
141
	srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
142
	touch src/misc/modules_builtin.h
143

144 145
src/misc/modules.c: src/misc/modules_builtin.h

146 147 148
src/misc/version.c: FORCE
	srcdir=$(srcdir) $(srcdir)/toolbox --update-version

149
# These dependencies are mandatory
150
$(SOURCES_libvlc): $(LIB_intl)
151

152 153 154 155 156
###############################################################################
# Optional libintl - FIXME, bad dependencies
###############################################################################

intl/libintl.a: FORCE
Sam Hocevar's avatar
Sam Hocevar committed
157
	cd $(top_builddir)/intl && $(MAKE) $(AM_MAKEFLAGS)
158 159 160 161 162

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

163 164 165 166 167 168 169
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib \
170
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
hartman's avatar
hartman committed
171 172
	extras/MacOSX/Resources/English.lproj/About.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/About.nib/info.nib \
173
	extras/MacOSX/Resources/English.lproj/About.nib/keyedobjects.nib \
hartman's avatar
hartman committed
174 175
	extras/MacOSX/Resources/English.lproj/Open.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Open.nib/info.nib \
176
	extras/MacOSX/Resources/English.lproj/Open.nib/keyedobjects.nib \
hartman's avatar
hartman committed
177 178
	extras/MacOSX/Resources/English.lproj/Preferences.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \
179
	extras/MacOSX/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
180 181 182
	extras/MacOSX/Resources/English.lproj/Wizard.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Wizard.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Wizard.nib/keyedobjects.nib \
183
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib \
184 185
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
186 187 188
	extras/MacOSX/Resources/English.lproj/Extended.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Extended.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Extended.nib/keyedobjects.nib \
189 190 191
	extras/MacOSX/Resources/English.lproj/SFilters.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/SFilters.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/SFilters.nib/keyedobjects.nib \
192
	extras/MacOSX/Resources/English.lproj/InfoPlist.strings \
193 194 195 196 197 198 199 200
	extras/MacOSX/Resources/a52.icns \
	extras/MacOSX/Resources/aac.icns \
	extras/MacOSX/Resources/asf.icns \
	extras/MacOSX/Resources/asx.icns \
	extras/MacOSX/Resources/avi.icns \
	extras/MacOSX/Resources/bin.icns \
	extras/MacOSX/Resources/cue.icns \
	extras/MacOSX/Resources/dat.icns \
201
	extras/MacOSX/Resources/divx.icns \
202
	extras/MacOSX/Resources/dv.icns \
203
	extras/MacOSX/Resources/generic.icns \
204 205 206 207
	extras/MacOSX/Resources/m3u.icns \
	extras/MacOSX/Resources/mov.icns \
	extras/MacOSX/Resources/mp3.icns \
	extras/MacOSX/Resources/mp4.icns \
208 209 210 211
	extras/MacOSX/Resources/mpeg.icns \
	extras/MacOSX/Resources/mpeg1.icns \
	extras/MacOSX/Resources/mpeg2.icns \
	extras/MacOSX/Resources/mpeg4.icns \
212 213 214 215 216 217
	extras/MacOSX/Resources/mpg.icns \
	extras/MacOSX/Resources/ogg.icns \
	extras/MacOSX/Resources/ogm.icns \
	extras/MacOSX/Resources/pls.icns \
	extras/MacOSX/Resources/srt.icns \
	extras/MacOSX/Resources/sub.icns \
218
	extras/MacOSX/Resources/vlc.icns \
219 220 221
	extras/MacOSX/Resources/vob.icns \
	extras/MacOSX/Resources/wma.icns \
	extras/MacOSX/Resources/wmv.icns \
222
	extras/MacOSX/Resources/pause.png \
223
	extras/MacOSX/Resources/pause_blue.png \
224
	extras/MacOSX/Resources/play.png \
225
	extras/MacOSX/Resources/play_blue.png \
226
	extras/MacOSX/Resources/stop.png \
227 228 229 230
	extras/MacOSX/Resources/stop_blue.png \
	extras/MacOSX/Resources/display.png \
	extras/MacOSX/Resources/display_slider.png \
	extras/MacOSX/Resources/display_track.png \
231 232
	extras/MacOSX/Resources/equalizerdrawer_active.png \
	extras/MacOSX/Resources/equalizerdrawer_blue.png \
233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249
	extras/MacOSX/Resources/fullscreen_active.png \
	extras/MacOSX/Resources/fullscreen_blue.png \
	extras/MacOSX/Resources/next_active.png \
	extras/MacOSX/Resources/next_blue.png \
	extras/MacOSX/Resources/playlistdrawer_active.png \
	extras/MacOSX/Resources/playlistdrawer_blue.png \
	extras/MacOSX/Resources/previous_active.png \
	extras/MacOSX/Resources/previous_blue.png \
	extras/MacOSX/Resources/skip_forward_active.png \
	extras/MacOSX/Resources/skip_forward_blue.png \
	extras/MacOSX/Resources/skip_previous_active.png \
	extras/MacOSX/Resources/skip_previous_blue.png \
	extras/MacOSX/Resources/volume_high.png \
	extras/MacOSX/Resources/volume_low.png \
	extras/MacOSX/Resources/volumeslider_blue.png \
	extras/MacOSX/Resources/volumeslider_normal.png \
	extras/MacOSX/Resources/volumetrack.png \
250
	extras/MacOSX/Resources/about_bg.png \
251
	extras/MacOSX/Resources/vlc.scriptSuite \
252
	extras/MacOSX/Resources/vlc.scriptTerminology \
253
	extras/MacOSX/Resources/README \
254
	extras/MacOSX/vlc.pbproj/project.pbxproj \
255
	extras/MacOSX/macosx-dmg \
256
	extras/MacOSX/Delete_Preferences.app/Contents/Info.plist \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
257
	extras/MacOSX/Delete_Preferences.app/Contents/PkgInfo \
258 259 260 261 262
	extras/MacOSX/Delete_Preferences.app/Contents/MacOS/applet \
	extras/MacOSX/Delete_Preferences.app/Contents/Resources/description.rtfd/TXT.rtf \
	extras/MacOSX/Delete_Preferences.app/Contents/Resources/applet.icns \
	extras/MacOSX/Delete_Preferences.app/Contents/Resources/applet.rsrc \
	extras/MacOSX/Delete_Preferences.app/Contents/Resources/Scripts/main.scpt \
263 264
	extras/Makefile \
	extras/zsh.cpp \
265 266 267
	$(NULL)

###############################################################################
268
# MS Visual Studio and eMbedded Visual Studio projects
269 270 271 272
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
273 274
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
275
	msvc/vlc.dsp.in \
276
	msvc/config.h.in \
277
	msvc/modules_builtin_msvc.h \
278
	evc/vlc.vcw \
279
	evc/libvlc.vcp.in \
280
	evc/vlc.vcp.in \
281
	evc/plugins.vcp.in \
282
	evc/errno.h \
283
	evc/config.h.in \
284
	evc/modules_builtin_evc.h \
285 286
	$(NULL)

gbazin's avatar
 
gbazin committed
287
dist-hook:
288 289
	cd $(distdir) && srcdir=. $(SHELL) ./toolbox --update-vc
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
gbazin's avatar
 
gbazin committed
290

291 292 293 294 295
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
296
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
297 298
	$(SHELL) ./config.status --file=vlc-config
	chmod 0755 vlc-config
299

300 301 302
vlc-config.in: vlc-config.in.in
	./config.status --recheck

303
MOSTLYCLEANFILES = $(DATA_noinst_libvlc)
304
CLEANFILES = $(BUILT_SOURCES_clean) stamp-builtin
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
305
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
306

307 308 309 310
if HAVE_WIN32
lib_LIBRARIES = lib/libvlc.a
else
lib_LIBRARIES = lib/libvlc.a
311
if BUILD_PIC
312
lib_LIBRARIES += lib/libvlc_pic.a
313
else
314 315
endif
endif
316 317

lib_libvlc_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
318 319 320
lib_libvlc_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
lib_libvlc_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc`
lib_libvlc_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc`
321 322

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
323 324 325
lib_libvlc_pic_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc pic`
lib_libvlc_pic_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc pic`
lib_libvlc_pic_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc pic`
326 327

if HAVE_BEOS
328
OPT_SOURCES_libvlc_beos = $(SOURCES_libvlc_beos)
329 330
endif
if HAVE_DARWIN
331
OPT_SOURCES_libvlc_darwin = $(SOURCES_libvlc_darwin)
332 333
endif
if HAVE_WIN32
334
OPT_SOURCES_libvlc_win32 = $(SOURCES_libvlc_win32)
335
endif
336 337 338
if HAVE_WINCE
OPT_SOURCES_libvlc_win32 = $(SOURCES_libvlc_win32)
endif
339
if BUILD_DIRENT
340
OPT_SOURCES_libvlc_dirent = $(SOURCES_libvlc_dirent)
341 342
endif
if BUILD_GETOPT
343
OPT_SOURCES_libvlc_getopt = $(SOURCES_libvlc_getopt)
344
endif
345 346 347 348 349 350 351 352

# Build libvlc as a shared library
if BUILD_SHARED
DATA_noinst_libvlc = libvlc$(LIBEXT)
if HAVE_WIN32
OBJECTS_libvlc_so = $(lib_libvlc_a_OBJECTS)
else
OBJECTS_libvlc_so = $(lib_libvlc_pic_a_OBJECTS)
353
endif
354
endif
355

356 357 358 359 360 361 362 363 364 365
libvlc$(LIBEXT): $(OBJECTS_libvlc_so)
	@ldfl="`$(VLC_CONFIG) --libs plugin vlc $(pic) builtin`" ; \
	case `$(VLC_CONFIG) --linkage vlc` in \
	  c++)  ld="$(CXXLINK)" ;; \
	  objc) ld="$(OBJCLINK)" ;; \
	  c|*)  ld="$(LINK)" ;; \
	esac ; \
	echo $$ld $(OBJECTS_libvlc_so) $$ldfl ; \
	$$ld $(OBJECTS_libvlc_so) $$ldfl

366
EXTRA_DIST += \
367 368 369 370 371
	$(SOURCES_libvlc_beos) \
	$(SOURCES_libvlc_darwin) \
	$(SOURCES_libvlc_win32) \
	$(SOURCES_libvlc_dirent) \
	$(SOURCES_libvlc_getopt) \
372 373
	$(NULL)

374
SOURCES_libvlc_beos = \
375
	src/misc/beos_specific.cpp \
376 377
	$(NULL)

378
SOURCES_libvlc_darwin = \
379
	src/misc/darwin_specific.m \
380 381
	$(NULL)

382
SOURCES_libvlc_win32 = \
383 384 385
	src/misc/win32_specific.c \
	$(NULL)

386
SOURCES_libvlc_dirent = \
387 388 389
	src/extras/dirent.c \
	$(NULL)

390
SOURCES_libvlc_getopt = \
391 392 393 394 395
	src/extras/getopt.c \
	src/extras/getopt.h \
	src/extras/getopt1.c \
	$(NULL)

396
SOURCES_libvlc_common = \
397 398 399 400
	src/libvlc.c \
	src/libvlc.h \
	src/interface/interface.c \
	src/interface/intf_eject.c \
401
	src/interface/interaction.c \
402
	src/playlist/playlist.c \
zorglub's avatar
zorglub committed
403 404
	src/playlist/sort.c \
	src/playlist/loadsave.c \
zorglub's avatar
Fixes  
zorglub committed
405
	src/playlist/view.c \
zorglub's avatar
zorglub committed
406
	src/playlist/item.c \
407
	src/playlist/item-ext.c \
zorglub's avatar
zorglub committed
408
	src/playlist/services_discovery.c \
Laurent Aimar's avatar
Laurent Aimar committed
409 410
	src/input/access.c \
	src/input/clock.c \
gbazin's avatar
gbazin committed
411
	src/input/control.c \
Laurent Aimar's avatar
Laurent Aimar committed
412 413
	src/input/decoder.c \
	src/input/demux.c \
414
	src/input/es_out.c \
Laurent Aimar's avatar
Laurent Aimar committed
415 416
	src/input/input.c \
	src/input/input_internal.h \
417
	src/input/stream.c \
418
	src/input/mem_stream.c \
419
	src/input/subtitles.c \
Laurent Aimar's avatar
Laurent Aimar committed
420
	src/input/var.c \
421 422 423 424
	src/video_output/video_output.c \
	src/video_output/vout_pictures.c \
	src/video_output/vout_pictures.h \
	src/video_output/video_text.c \
425
	src/video_output/video_widgets.c \
426
	src/video_output/vout_subpictures.c \
427
	src/video_output/vout_synchro.c \
gbazin's avatar
gbazin committed
428
	src/video_output/vout_intf.c \
429 430 431 432 433 434 435 436
	src/audio_output/common.c \
	src/audio_output/dec.c \
	src/audio_output/filters.c \
	src/audio_output/input.c \
	src/audio_output/mixer.c \
	src/audio_output/output.c \
	src/audio_output/intf.c \
	src/stream_output/stream_output.c \
zorglub's avatar
zorglub committed
437 438
	src/stream_output/announce.c \
	src/stream_output/sap.c \
439 440
	src/osd/osd.c \
	src/osd/osd_parser.c \
441 442
	src/osd/osd_text.c \
	src/osd/osd_widgets.c \
443
	src/network/acl.c \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
444 445 446 447
	src/network/getaddrinfo.c \
	src/network/io.c \
	src/network/tcp.c \
	src/network/udp.c \
448
	src/network/httpd.c \
449
	src/network/rootwrap.c \
450
	src/network/tls.c \
451
	src/misc/charset.c \
452
	src/misc/md5.c \
453
	src/misc/mtime.c \
454
	src/misc/block.c \
455 456
	src/misc/modules.c \
	src/misc/threads.c \
457
	src/misc/unicode.c \
458 459
	src/misc/cpu.c \
	src/misc/configuration.c \
460
	src/misc/image.c \
461
	src/misc/iso_lang.c \
462
	src/misc/iso-639_def.h \
463 464
	src/misc/messages.c \
	src/misc/objects.c \
Sam Hocevar's avatar
Sam Hocevar committed
465
	src/misc/variables.c \
466
	src/misc/error.c \
467
	src/misc/vlm.c \
gbazin's avatar
gbazin committed
468
	src/misc/xml.c \
469
	src/misc/version.c \
470
	src/extras/libc.c \
zorglub's avatar
zorglub committed
471 472 473
	src/control/core.c \
	src/control/util.c \
	src/control/audio_video.c \
474 475
	$(NULL)

476 477 478
# These should be distributed, but not compiled
EXTRA_DIST += src/control/init.c src/control/plugin.c

479 480 481 482 483 484 485
SOURCES_libvlc = \
	$(SOURCES_libvlc_common) \
	$(OPT_SOURCES_libvlc_beos) \
	$(OPT_SOURCES_libvlc_darwin) \
	$(OPT_SOURCES_libvlc_win32) \
	$(OPT_SOURCES_libvlc_dirent) \
	$(OPT_SOURCES_libvlc_getopt) \
486
	$(NULL)
487 488 489 490 491

###############################################################################
# Building vlc
###############################################################################

Sam Hocevar's avatar
Sam Hocevar committed
492
bin_PROGRAMS = vlc
493

494
vlc_SOURCES = src/vlc.c
495

496 497
# Work around a bug in the arm-wince-pe linker
if HAVE_WINCE
498 499 500 501 502 503 504 505 506 507 508
vlc_WORKAROUNDLDFLAGS = $(LIB_libvlc)
endif

if BUILD_SHARED
### libvlc.so cannot be created into lib/
LIB_libvlc = libvlc$(LIBEXT)
LDFLAGS_libvlc =
#-Wl,-rpath $(libdir)
else
LIB_libvlc = lib/libvlc.a
LDFLAGS_libvlc = `$(VLC_CONFIG) --libs vlc builtin` 
509 510
endif

511 512
vlc_LDFLAGS = $(LDFLAGS_libvlc) $(vlc_WORKAROUNDLDFLAGS)
vlc_LDADD = $(LIB_libvlc) $(DATA_win32_rc) $(LIB_intl)
gbazin's avatar
gbazin committed
513 514
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`

515 516
# We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an
# old automake-1.5 bug (automake/279).
517
DEPENDENCIES_vlc = $(LIB_libvlc) $(DATA_win32_rc) $(LIB_intl)
518

Sam Hocevar's avatar
Sam Hocevar committed
519
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
520
	@rm -f vlc$(EXEEXT)
521
	@case `$(VLC_CONFIG) --linkage vlc builtin` in \
522 523 524 525
	  c++) cmd="$(CXXLINK)" ;; \
	  objc) cmd="$(OBJCLINK)" ;; \
	  c|*) cmd="$(LINK)" ;; \
	esac ; \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
526
	cmd="$$cmd $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS)" ; \
527 528
	echo $$cmd ; \
	eval $$cmd
Eric Petit's avatar
Eric Petit committed
529

530
if HAVE_BEOS
531
DATA_noinst_beos = vlc-bundle
532
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
533 534 535
	rm -Rf $(top_builddir)/vlc-bundle ; mkdir -p $(top_builddir)/vlc-bundle
	cp $(top_builddir)/vlc $(top_builddir)/vlc-bundle/
	xres -o $(top_builddir)/vlc-bundle/vlc $(srcdir)/share/vlc_beos.rsrc
536 537
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
538 539
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
540 541
	  fi ; \
	done
Sam Hocevar's avatar
Sam Hocevar committed
542 543 544 545
	if test -d $(top_builddir)/extras/contrib/vlc-lib ; then \
	  mkdir -p $(top_builddir)/vlc-bundle/lib ; \
	  for i in $(top_builddir)/extras/contrib/vlc-lib/*.so ; do \
	    cp $$i $(top_builddir)/vlc-bundle/lib/ ; \
546 547
	  done ; \
	fi
Eric Petit's avatar
Eric Petit committed
548
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
549 550 551
	  mkdir -p "$(top_builddir)/vlc-bundle/locale/$$i/LC_MESSAGES" ; \
	  cp "$(top_builddir)/po/$$i.gmo" \
	    "$(top_builddir)/vlc-bundle/locale/$$i/LC_MESSAGES/vlc.mo" || true ; \
Eric Petit's avatar
Eric Petit committed
552
	done
Sam Hocevar's avatar
Sam Hocevar committed
553
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
554 555
endif

556
# Install the symlinks and shared libvlc
557
install-exec-local:
Sam Hocevar's avatar
Sam Hocevar committed
558
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
559
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
560
	  ln -sf vlc "$(DESTDIR)$(bindir)/$$i" ; \
561
	fi ; done
562
	test -z "$(DATA_noinst_libvlc)" || $(INSTALL_PROGRAM) "$(DATA_noinst_libvlc)" "$(DESTDIR)$(libdir)"
563

564 565 566 567 568
# the opposite of install-{data,exec}-local
uninstall-local:
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
	  rm -f "$(DESTDIR)$(bindir)/$$i" ; \
	fi ; done
569
	test -z "$(DATA_noinst_libvlc)" || rm -f "$(DESTDIR)$(libdir)/$(DATA_noinst_libvlc)"
570

571 572
if HAVE_DARWIN
# Create the MacOS X app
hartman's avatar
hartman committed
573
vlc_app_DATA = VLC.app
574
vlc_appdir = $(bindir)
575 576 577 578 579 580 581 582 583
# VLC-release.app is the old VLC.app target
VLC-release.app: vlc
	@if test -e "$(top_builddir)/tmp"; then \
	  echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
	  false; \
	else \
	  echo "OK."; mkdir -p "$(top_builddir)/tmp/extras"; \
	fi
	rm -Rf $(top_builddir)/VLC-release.app
hartman's avatar
hartman committed
584
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618
	for i in AUTHORS COPYING README.MacOSX.rtf THANKS; do \
	  cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
	done
	mkdir -p $(top_builddir)/tmp/modules/audio_output
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
	    equalizer.h \
	    equalizer.m \
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
	    playlistinfo.h \
	    playlistinfo.m \
	    prefs_widgets.h \
	    prefs_widgets.m \
	    prefs.h \
	    prefs.m \
	    vout.h \
	    voutqt.m \
	    voutgl.m \
619 620
	    wizard.h \
	    wizard.m \
621 622
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
623 624
	    bookmarks.h \
	    bookmarks.m \
625 626
	    sfilters.h \
	    sfilters.m \
627 628 629 630
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
hartman's avatar
hartman committed
631 632 633
	case $(target_triplet) in \
	  *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
hartman's avatar
hartman committed
634
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
hartman's avatar
hartman committed
635 636 637
	          $(top_builddir)/VLC-release.app;; \
	  *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
hartman's avatar
hartman committed
638
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
hartman's avatar
hartman committed
639
	          $(top_builddir)/VLC-release.app;; \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
640
	  *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
hartman's avatar
hartman committed
641
	    cd ../../../; \
hartman's avatar
hartman committed
642
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
hartman's avatar
hartman committed
643 644
	          $(top_builddir)/VLC-release.app;; \
	esac
645 646 647 648 649 650 651 652 653 654 655
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
	$(INSTALL) $(top_builddir)/vlc \
		   $(top_builddir)/VLC-release.app/Contents/MacOS/VLC
	ln -sf ./VLC $(top_builddir)/VLC-release.app/Contents/MacOS/clivlc
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/modules
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; \
	    then $(INSTALL) "$$i$(LIBEXT)" \
			   "$(top_builddir)/VLC-release.app/Contents/MacOS/modules" ; \
	  fi ; done
656
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
657
	  mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/lib ; \
658
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680
	    $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \
	  done ; \
	fi
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http
	for i in $(srcdir)/share/http/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \
	done ; \
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/locale
	for i in $(ALL_LINGUAS); do \
	  mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
	  cp $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
	  mkdir -p $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
	  ln -sf ../English.lproj/InfoPlist.strings \
	      $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
	  ln -sf ../English.lproj/MainMenu.nib \
	      $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
	  ln -sf ../English.lproj/vlc.scriptTerminology \
	      $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
	done
	printf "APPLVLC#" >| $(top_builddir)/VLC-release.app/Contents/PkgInfo

Sam Hocevar's avatar
Sam Hocevar committed
681
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
682 683 684 685 686 687 688
	@if test -e "$(top_builddir)/tmp"; then \
	  echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
	  false; \
	else \
	  echo "OK."; mkdir -p "$(top_builddir)/tmp/extras"; \
	fi
	rm -Rf $(top_builddir)/VLC.app
hartman's avatar
hartman committed
689
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
Loïc Minier's avatar
Loïc Minier committed
690 691 692 693 694 695 696 697 698 699 700 701
	for i in AUTHORS COPYING README.MacOSX.rtf THANKS; do \
	  cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
	done
	mkdir -p $(top_builddir)/tmp/modules/audio_output
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
702 703
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
704 705 706 707 708 709 710 711 712 713 714
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
715 716
	    playlistinfo.h \
	    playlistinfo.m \
717 718
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
719 720 721
	    prefs.h \
	    prefs.m \
	    vout.h \
hartman's avatar
hartman committed
722 723
	    voutqt.m \
	    voutgl.m \
724 725
	    wizard.h \
	    wizard.m \
726 727
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
728 729
	    bookmarks.h \
	    bookmarks.m \
730 731
	    sfilters.h \
	    sfilters.m \
Loïc Minier's avatar
Loïc Minier committed
732 733 734 735
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
hartman's avatar
hartman committed
736 737 738
	case $(target_triplet) in \
	  *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
hartman's avatar
hartman committed
739
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
hartman's avatar
hartman committed
740 741 742
	          $(top_builddir)/VLC.app;; \
	  *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
hartman's avatar
hartman committed
743
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
hartman's avatar
hartman committed
744
	          $(top_builddir)/VLC.app;; \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
745
	  *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
hartman's avatar
hartman committed
746
	    cd ../../../; \
hartman's avatar
hartman committed
747
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
hartman's avatar
hartman committed
748 749
	          $(top_builddir)/VLC.app;; \
	esac
Loïc Minier's avatar
Loïc Minier committed
750 751 752 753
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
	$(INSTALL) $(top_builddir)/vlc \
		   $(top_builddir)/VLC.app/Contents/MacOS/VLC
hartman's avatar
hartman committed
754
	ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
Loïc Minier's avatar
Loïc Minier committed
755
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
Sam Hocevar's avatar
Sam Hocevar committed
756
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
757
	  if test -n "$$i" ; \
758
	    then ln -sfn "`pwd`/$$i$(LIBEXT)" \
Loïc Minier's avatar
Loïc Minier committed
759
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
760
	  fi ; done
761
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
762
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
763
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
764
	    ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \
765
	  done ; \
766
	fi
767
	ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/
Loïc Minier's avatar
Loïc Minier committed
768
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
769
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
770
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
771
	  ln -sfn `pwd`/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
Loïc Minier's avatar
Loïc Minier committed
772 773 774 775 776
	  mkdir -p $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
	  ln -sf ../English.lproj/InfoPlist.strings \
	      $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
	  ln -sf ../English.lproj/MainMenu.nib \
	      $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
777
	done
Loïc Minier's avatar
Loïc Minier committed
778
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
779 780 781
endif

if HAVE_WIN32
782
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
783 784 785
noinst_share_vlc_win32_rc_DATA = share/vlc_win32_rc.$(OBJEXT)
noinst_share_vlc_win32_rcdir = $(libdir)
share/vlc_win32_rc.$(OBJEXT): share/vlc_win32_rc.rc
786
	$(WINDRES) -DVERSION=$(VERSION) -DVERSION_NUMBER=`echo $(VERSION).0.0.0 | sed 's/\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\).*/\1,\2,\3,\4/'` --include-dir $(srcdir)/share -i $< -o $@
787 788
endif

hartman's avatar
hartman committed
789

790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807
###############################################################################
# Building specific source packages
###############################################################################

dist-woody: distdir
	$(remove_distdir_woody)
	mv $(distdir) $(PACKAGE)-woody-$(VERSION)
	$(srcdir)/toolbox --make-woody $(PACKAGE)-woody-$(VERSION)
	$(AMTAR) chof - $(PACKAGE)-woody-$(VERSION) \
	  | GZIP=$(GZIP_ENV) gzip -c >$(PACKAGE)-woody-$(VERSION).tar.gz
	$(remove_distdir_woody)

remove_distdir_woody = \
  { test ! -d $(PACKAGE)-woody-$(VERSION) \
    || { find $(PACKAGE)-woody-$(VERSION) -type d ! -perm -200 \
           -exec chmod u+w {} ';' \
         && rm -fr $(PACKAGE)-woody-$(VERSION); }; }

808 809 810 811 812 813 814
###############################################################################
# Building architecture-specific binary packages
###############################################################################

# XXX: this rule is probably only useful to you if you have exactly
# the same setup as me. Contact sam@zoy.org if you need to use it.
#
gbazin's avatar
 
gbazin committed
815
package-win32-base:
816
# Check that tmp isn't in the way
817 818
	@if test -e "$(top_builddir)/vlc-${VERSION}"; then \
	  echo "Error: please remove $(top_builddir)/vlc-${VERSION}, it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
819
	  false; \
820
	else \
821
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
822
	fi
823

824
# Copy relevant files
825 826 827 828
	cp "$(srcdir)/vlc.win32.nsi" "$(top_builddir)/vlc-${VERSION}/"
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
	cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
	$(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
829

gbazin's avatar
 
gbazin committed
830
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
831 832
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; \
	  unix2dos "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; done
gbazin's avatar
 
gbazin committed
833

834
	mkdir -p "$(top_builddir)/vlc-${VERSION}/plugins"
Sam Hocevar's avatar
Sam Hocevar committed
835
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Sam Hocevar's avatar
Sam Hocevar committed
836
	  if test -n "$$i" ; then \
837 838
	    $(INSTALL) "$(top_builddir)/$$i$(LIBEXT)" \
            "$(top_builddir)/vlc-${VERSION}/plugins/" ; \
Sam Hocevar's avatar
Sam Hocevar committed
839
	  fi ; done
gbazin's avatar
 
gbazin committed
840

841
	for i in "" $(top_builddir)/vlc-${VERSION}/plugins/*$(LIBEXT) ; \
842
	  do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done
gbazin's avatar
 
gbazin committed
843

844
	mkdir $(top_builddir)/vlc-${VERSION}/locale
gbazin's avatar
 
gbazin committed
845
	for i in $(ALL_LINGUAS); do \
846
	  mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
847
	  cp "$(srcdir)/po/$${i}.gmo" \
848
	    "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
gbazin's avatar
 
gbazin committed
849
            || true ; \
gbazin's avatar
 
gbazin committed
850 851
	done

852
	mkdir -p $(top_builddir)/vlc-${VERSION}/skins/fonts
853
	for i in $(srcdir)/share/skins2/fonts/*.*; do \