Makefile.am 39.8 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 \
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 47 48 49
SUFFIXES = 

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

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

54 55 56 57 58 59 60 61 62 63 64 65 66
###############################################################################
# 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 \
67
	include/vlc/intf.h \
68
	include/vlc/control.h \
69
	$(NULL)
70

71
noinst_HEADERS = $(HEADERS_include)
72
noinst_DATA = $(DATA_noinst_beos) $(DATA_noinst_libvlc)
73 74 75 76 77

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

135
src/misc/modules_builtin.h: Makefile src/misc/modules_builtin.h.in vlc-config
Sam Hocevar's avatar
Sam Hocevar committed
136
	srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
137
	touch src/misc/modules_builtin.h
138

139 140
src/misc/modules.c: src/misc/modules_builtin.h

141 142 143
src/misc/version.c: FORCE
	srcdir=$(srcdir) $(srcdir)/toolbox --update-version

144
# These dependencies are mandatory
145
$(SOURCES_libvlc): $(LIB_intl)
146

147 148 149 150 151
###############################################################################
# Optional libintl - FIXME, bad dependencies
###############################################################################

intl/libintl.a: FORCE
Sam Hocevar's avatar
Sam Hocevar committed
152
	cd $(top_builddir)/intl && $(MAKE) $(AM_MAKEFLAGS)
153 154 155 156 157

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

158 159 160 161 162 163 164
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib \
165
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
166 167
	extras/MacOSX/Resources/English.lproj/About.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/About.nib/info.nib \
168
	extras/MacOSX/Resources/English.lproj/About.nib/keyedobjects.nib \
169 170
	extras/MacOSX/Resources/English.lproj/Open.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Open.nib/info.nib \
171
	extras/MacOSX/Resources/English.lproj/Open.nib/keyedobjects.nib \
172 173
	extras/MacOSX/Resources/English.lproj/Preferences.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \
174
	extras/MacOSX/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
175 176 177
	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 \
178
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib \
179 180
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
181 182 183
	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 \
184 185 186
	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 \
187
	extras/MacOSX/Resources/English.lproj/InfoPlist.strings \
188 189 190 191 192 193 194 195
	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 \
196
	extras/MacOSX/Resources/divx.icns \
197
	extras/MacOSX/Resources/dv.icns \
198
	extras/MacOSX/Resources/generic.icns \
199 200 201 202
	extras/MacOSX/Resources/m3u.icns \
	extras/MacOSX/Resources/mov.icns \
	extras/MacOSX/Resources/mp3.icns \
	extras/MacOSX/Resources/mp4.icns \
203 204 205 206
	extras/MacOSX/Resources/mpeg.icns \
	extras/MacOSX/Resources/mpeg1.icns \
	extras/MacOSX/Resources/mpeg2.icns \
	extras/MacOSX/Resources/mpeg4.icns \
207 208 209 210 211 212
	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 \
213
	extras/MacOSX/Resources/vlc.icns \
214 215 216
	extras/MacOSX/Resources/vob.icns \
	extras/MacOSX/Resources/wma.icns \
	extras/MacOSX/Resources/wmv.icns \
217
	extras/MacOSX/Resources/pause.png \
218
	extras/MacOSX/Resources/pause_blue.png \
219
	extras/MacOSX/Resources/play.png \
220
	extras/MacOSX/Resources/play_blue.png \
221
	extras/MacOSX/Resources/stop.png \
222 223 224 225
	extras/MacOSX/Resources/stop_blue.png \
	extras/MacOSX/Resources/display.png \
	extras/MacOSX/Resources/display_slider.png \
	extras/MacOSX/Resources/display_track.png \
226 227
	extras/MacOSX/Resources/equalizerdrawer_active.png \
	extras/MacOSX/Resources/equalizerdrawer_blue.png \
228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244
	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 \
245
	extras/MacOSX/Resources/about_bg.png \
246
	extras/MacOSX/Resources/vlc.scriptSuite \
247
	extras/MacOSX/Resources/vlc.scriptTerminology \
248
	extras/MacOSX/Resources/README \
249
	extras/MacOSX/vlc.pbproj/project.pbxproj \
250
	extras/MacOSX/macosx-dmg \
251 252 253 254 255 256 257
	extras/MacOSX/Delete_Preferences.app/Contents/Info.plist \
	extras/MacOSX/Delete_Preferences.app/Contents/Pkginfo \
	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 \
258 259
	extras/Makefile \
	extras/zsh.cpp \
260 261 262
	$(NULL)

###############################################################################
263
# MS Visual Studio and eMbedded Visual Studio projects
264 265 266 267
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
268 269
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
270
	msvc/vlc.dsp.in \
271
	msvc/config.h.in \
272
	msvc/modules_builtin_msvc.h \
273
	evc/vlc.vcw \
274
	evc/libvlc.vcp.in \
275
	evc/vlc.vcp.in \
276
	evc/plugins.vcp.in \
277
	evc/errno.h \
278
	evc/config.h.in \
279
	evc/modules_builtin_evc.h \
280 281
	$(NULL)

Gildas Bazin's avatar
 
Gildas Bazin committed
282
dist-hook:
283 284
	cd $(distdir) && srcdir=. $(SHELL) ./toolbox --update-vc
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
285

286 287 288 289 290
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
291
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
292 293
	$(SHELL) ./config.status --file=vlc-config
	chmod 0755 vlc-config
294

295 296 297
vlc-config.in: vlc-config.in.in
	./config.status --recheck

298
MOSTLYCLEANFILES = $(DATA_noinst_libvlc)
299 300
CLEANFILES = $(BUILT_SOURCES_clean) stamp-builtin
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in
301

302 303 304 305
if HAVE_WIN32
lib_LIBRARIES = lib/libvlc.a
else
lib_LIBRARIES = lib/libvlc.a
306
if BUILD_PIC
307
lib_LIBRARIES += lib/libvlc_pic.a
308
else
309 310
endif
endif
311 312

lib_libvlc_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
313 314 315
lib_libvlc_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
lib_libvlc_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc`
lib_libvlc_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc`
316 317

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
318 319 320
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`
321 322

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

# 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)
348
endif
349
endif
350

351 352 353 354 355 356 357 358 359 360
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

361
EXTRA_DIST += \
362 363 364 365 366
	$(SOURCES_libvlc_beos) \
	$(SOURCES_libvlc_darwin) \
	$(SOURCES_libvlc_win32) \
	$(SOURCES_libvlc_dirent) \
	$(SOURCES_libvlc_getopt) \
367 368
	$(NULL)

369
SOURCES_libvlc_beos = \
370
	src/misc/beos_specific.cpp \
371 372
	$(NULL)

373
SOURCES_libvlc_darwin = \
374
	src/misc/darwin_specific.m \
375 376
	$(NULL)

377
SOURCES_libvlc_win32 = \
378 379 380
	src/misc/win32_specific.c \
	$(NULL)

381
SOURCES_libvlc_dirent = \
382 383 384
	src/extras/dirent.c \
	$(NULL)

385
SOURCES_libvlc_getopt = \
386 387 388 389 390
	src/extras/getopt.c \
	src/extras/getopt.h \
	src/extras/getopt1.c \
	$(NULL)

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

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) \
474
	$(NULL)
475 476 477 478 479

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

Sam Hocevar's avatar
Sam Hocevar committed
480
bin_PROGRAMS = vlc
481

482
vlc_SOURCES = src/vlc.c
483

484 485
# Work around a bug in the arm-wince-pe linker
if HAVE_WINCE
486 487 488 489 490 491 492 493 494 495 496
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` 
497 498
endif

499 500
vlc_LDFLAGS = $(LDFLAGS_libvlc) $(vlc_WORKAROUNDLDFLAGS)
vlc_LDADD = $(LIB_libvlc) $(DATA_win32_rc) $(LIB_intl)
501 502
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`

503 504
# We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an
# old automake-1.5 bug (automake/279).
505
DEPENDENCIES_vlc = $(LIB_libvlc) $(DATA_win32_rc) $(LIB_intl)
506

Sam Hocevar's avatar
Sam Hocevar committed
507
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
508
	@rm -f vlc$(EXEEXT)
509
	@case `$(VLC_CONFIG) --linkage vlc builtin` in \
510 511 512 513
	  c++) cmd="$(CXXLINK)" ;; \
	  objc) cmd="$(OBJCLINK)" ;; \
	  c|*) cmd="$(LINK)" ;; \
	esac ; \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
514
	cmd="$$cmd $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS)" ; \
515 516
	echo $$cmd ; \
	eval $$cmd
Eric Petit's avatar
Eric Petit committed
517

518
if HAVE_BEOS
519
DATA_noinst_beos = vlc-bundle
520
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
521 522 523
	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
524 525
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
526 527
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
528 529
	  fi ; \
	done
Sam Hocevar's avatar
Sam Hocevar committed
530 531 532 533
	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/ ; \
534 535
	  done ; \
	fi
Eric Petit's avatar
Eric Petit committed
536
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
537 538 539
	  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
540
	done
Sam Hocevar's avatar
Sam Hocevar committed
541
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
542 543
endif

544
# Install the symlinks and shared libvlc
545
install-exec-local:
Sam Hocevar's avatar
Sam Hocevar committed
546
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
547 548
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
	  ln -s vlc "$(DESTDIR)$(bindir)/$$i" ; \
549
	fi ; done
550
	test -z "$(DATA_noinst_libvlc)" || $(INSTALL_PROGRAM) "$(DATA_noinst_libvlc)" "$(DESTDIR)$(libdir)"
551

552 553 554 555 556
# 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
557
	test -z "$(DATA_noinst_libvlc)" || rm -f "$(DESTDIR)$(libdir)/$(DATA_noinst_libvlc)"
558

559 560
if HAVE_DARWIN
# Create the MacOS X app
561
vlc_app_DATA = VLC.app
562
vlc_appdir = $(bindir)
563 564 565 566 567 568 569 570 571
# 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
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
572
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608
	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
	cp $(srcdir)/modules/audio_output/coreaudio.c \
	   $(top_builddir)/tmp/modules/audio_output/coreaudio.c
	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 \
609 610
	    wizard.h \
	    wizard.m \
611 612
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
613 614
	    bookmarks.h \
	    bookmarks.m \
615 616
	    sfilters.h \
	    sfilters.m \
617 618 619 620
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
621 622 623
	case $(target_triplet) in \
	  *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
624
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
625 626 627
	          $(top_builddir)/VLC-release.app;; \
	  *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
628
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
629
	          $(top_builddir)/VLC-release.app;; \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
630
	  *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
631
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
632
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
633 634
	          $(top_builddir)/VLC-release.app;; \
	esac
635 636 637 638 639 640 641 642 643 644 645
	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
646
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
647
	  mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/lib ; \
648
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679
	    $(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/share/http/vlm
	for i in $(srcdir)/share/http/vlm/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/vlm/`basename $${i}` ; \
	done ; \
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/admin
	for i in $(srcdir)/share/http/admin/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/admin/`basename $${i}` ; \
	done ; \
	$(INSTALL) -m 644 $(srcdir)/share/http/admin/.access $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/admin/.access
	$(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
680
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
681 682 683 684 685 686 687
	@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
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
688
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
Loïc Minier's avatar
Loïc Minier committed
689 690 691 692 693 694 695 696 697 698 699 700 701 702
	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
	cp $(srcdir)/modules/audio_output/coreaudio.c \
	   $(top_builddir)/tmp/modules/audio_output/coreaudio.c
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
703 704
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
705 706 707 708 709 710 711 712 713 714 715
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
716 717
	    playlistinfo.h \
	    playlistinfo.m \
718 719
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
720 721 722
	    prefs.h \
	    prefs.m \
	    vout.h \
723 724
	    voutqt.m \
	    voutgl.m \
725 726
	    wizard.h \
	    wizard.m \
727 728
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
729 730
	    bookmarks.h \
	    bookmarks.m \
731 732
	    sfilters.h \
	    sfilters.m \
Loïc Minier's avatar
Loïc Minier committed
733 734 735 736
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
737 738 739
	case $(target_triplet) in \
	  *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
740
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
741 742 743
	          $(top_builddir)/VLC.app;; \
	  *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
744
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
745
	          $(top_builddir)/VLC.app;; \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
746
	  *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
747
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
748
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
749 750
	          $(top_builddir)/VLC.app;; \
	esac
Loïc Minier's avatar
Loïc Minier committed
751 752 753 754
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
	$(INSTALL) $(top_builddir)/vlc \
		   $(top_builddir)/VLC.app/Contents/MacOS/VLC
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
755
	ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
Loïc Minier's avatar
Loïc Minier committed
756
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
Sam Hocevar's avatar
Sam Hocevar committed
757
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
758
	  if test -n "$$i" ; \
759
	    then ln -sfn "`pwd`/$$i$(LIBEXT)" \
Loïc Minier's avatar
Loïc Minier committed
760
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
761
	  fi ; done
762
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
763
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
764
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
765
	    ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \
766
	  done ; \
767
	fi
768
	ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/
Loïc Minier's avatar
Loïc Minier committed
769
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
770
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
771
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
772
	  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
773 774 775 776 777
	  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 ; \
778
	done
Loïc Minier's avatar
Loïc Minier committed
779
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
780 781 782
endif

if HAVE_WIN32
783
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
784 785 786
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
787
	$(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 $@
788 789
endif

Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
790

791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808
###############################################################################
# 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); }; }

809 810 811 812 813 814 815
###############################################################################
# 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.
#
Gildas Bazin's avatar
 
Gildas Bazin committed
816
package-win32-base:
817
# Check that tmp isn't in the way
818 819
	@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
820
	  false; \
821
	else \
822
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
823
	fi
824

825
# Copy relevant files
826 827 828 829
	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)"
830

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

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

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

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

853
	mkdir -p $(top_builddir)/vlc-${VERSION}/skins/fonts
854
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
855
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/fonts/ || true ; \
856
	done
857
	for i in $(srcdir)/share/skins2/*.*; do \
858
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/ || true ; \
859
	done
Gildas Bazin's avatar
 
Gildas Bazin committed
860

861
	mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu"
862 863 864 865 866 867
	cp $(srcdir)/share/osdmenu/*.* "$(top_builddir)/vlc-${VERSION}/osdmenu"
	for dir in dvd dvd/selected dvd/unselect dvd/selection dvd/volume default default/selected default/selection default/volume;do \
		mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir"; \
		for file in $(srcdir)/share/osdmenu/$${dir}/*.*;do \
			 cp $$file "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir" || true; \
		done; \
868
	done
869 870 871
	unix2dos $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg;
	sed -i 's%share/osdmenu%osdmenu%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg
	sed -i 's%/%\\%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg 
872

873 874 875
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/admin"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/vlm"
	cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
876
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;:
877
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
878 879 880
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
	cp $(srcdir)/share/http/*.png $(top_builddir)/vlc-${VERSION}/http/
	cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
881
	cp $(srcdir)/share/http/admin/*.html \
882
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
883
	unix2dos $(top_builddir)/vlc-${VERSION}/http/admin/*.html ;
884 885
	cp $(srcdir)/share/http/admin/dboxfiles.html \
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
886
	cp $(srcdir)/share/http/admin/.access \
887
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
888
	unix2dos $(top_builddir)/vlc-${VERSION}/http/admin/.access ;
889
	cp $(srcdir)/share/http/vlm/*.html \
890
           $(top_builddir)/vlc-${VERSION}/http/vlm/ ;
891
	unix2dos $(top_builddir)/vlc-${VERSION}/http/vlm/*.html ;
Gildas Bazin's avatar
 
Gildas Bazin committed
892

893
	cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ;
894

895
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
Gildas Bazin's avatar
 
Gildas Bazin committed
896
if BUILD_MOZILLA
897 898 899
	cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
	$(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
	cp $(top_builddir)/mozilla/vlcintf.xpt  $(top_builddir)/vlc-${VERSION}/mozilla/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
900 901
endif

902 903
	mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
if BUILD_ACTIVEX
Christophe Mutricy's avatar
Christophe Mutricy committed
904 905
	cp $(srcdir)/activex/README.TXT  $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(srcdir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
906 907 908 909 910
	unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;

	cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ;
	$(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
endif
911 912 913 914
# Rebase all those DLLs to speed up loading (need cygwin rebase)
	if [ -x rebase ]; then \
		find $(top_builddir)/vlc-${VERSION} -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \
	fi
915

Gildas Bazin's avatar
 
Gildas Bazin committed
916
package-win32-base-exe:
917
# Create package
918
	wine C:/Program\ Files/NSIS/makensis.exe \
919 920 921 922 923 924
             /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

package-win32-base-exe-cygwin:
# Create package
	C:/Program\ Files/NSIS/makensis.exe \
             /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi
Gildas Bazin's avatar
 
Gildas Bazin committed
925

926 927 928 929
package-win32-base-exe-linux:
# Create package
	makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

Gildas Bazin's avatar
 
Gildas Bazin committed
930
package-win32-base-zip:
931
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
932
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
933 934 935

package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
936
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
937

938 939 940 941
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

Gildas Bazin's avatar
 
Gildas Bazin committed
942 943
package-win32-zip: package-win32-base package-win32-base-zip
# Clean up
944
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
945 946

package-win32: package-win32-base package-win32-base-exe package-win32-base-zip
947
# Clean up
948
	rm -Rf $(top_builddir)/vlc-${VERSION}
949

950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996
package-wince-base:
# Check that tmp isn't in the way
	@if test -e "$(top_builddir)/vlc-${VERSION}"; then \
	  echo "Error: please remove $(top_builddir)/vlc-${VERSION}, it is in the way"; \
	  false; \
	else \
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
	fi

# Copy relevant files
	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)"

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

	mkdir $(top_builddir)/vlc-${VERSION}/locale
	for i in $(ALL_LINGUAS); do \
	  mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
	  cp "$(srcdir)/po/$${i}.gmo" \
	    "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
            || true ; \
	done


	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/admin"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/vlm"
	cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
	cp $(srcdir)/share/http/*.png $(top_builddir)/vlc-${VERSION}/http/
	cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
	cp $(srcdir)/share/http/admin/*.html \
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/admin/*.html ;
	cp $(srcdir)/share/http/admin/dboxfiles.html \
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
	cp $(srcdir)/share/http/admin/.access \
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/admin/.access ;
	cp $(srcdir)/share/http/vlm/*.html \
           $(top_builddir)/vlc-${VERSION}/http/vlm/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/vlm/*.html ;

997
	cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ;
998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028

if BUILD_MOZILLA
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
	cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
	$(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
	cp $(top_builddir)/mozilla/vlcintf.xpt  $(top_builddir)/vlc-${VERSION}/mozilla/ ;
endif

if BUILD_ACTIVEX
	mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
	cp $(srcdir)/activex/README.TXT  $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(srcdir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;

	cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ;
	$(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
endif
# Rebase all those DLLs to speed up loading (need cygwin rebase)
	if [ -x rebase ]; then \
		find $(top_builddir)/vlc-${VERSION} -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \
	fi

package-wince-base-zip:
# Create package 
	zip -r vlc-${VERSION}-wince.zip vlc-${VERSION}

package-wince: package-wince-base  package-wince-base-zip
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}


1029 1030
package-beos:
# Check that tmp isn't in the way
1031
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
1032
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
1033
	  false ; \
1034
	else \
1035
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
1036
	fi
1037

1038
# Copy relevant files
1039
	mkdir -p $(srcdir)/tmp/vlc ;
1040 1041 1042 1043 1044 1045 1046 1047 1048 1049
	cd $(srcdir) && cp -R vlc-bundle/* AUTHORS COPYING ChangeLog README \
	  THANKS NEWS tmp/vlc/ ;

# Create debug package
	xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
	find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/ ;
	mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc ;
1050

1051
# Create normal package
1052 1053
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
1054
	  --strip-debug --strip-unneeded "{}" \; ;
1055 1056 1057
	xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
	find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
1058
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
1059
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
1060

1061
# Clean up
1062
	rm -Rf $(srcdir)/tmp ;
1063 1064 1065

package-macosx:
# Check that tmp isn't in the way
Loïc Minier's avatar
Loïc Minier committed
1066 1067
	@if test -e "$(top_builddir)/tmp"; then \
	  echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
1068
	  false; \
1069
	else \
Loïc Minier's avatar
Loïc Minier committed
1070
	  echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
1071 1072 1073
	fi

# Copy relevant files 
1074
	cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/tmp/VLC.app"
1075
	cd "$(srcdir)" && cp AUTHORS COPYING ChangeLog README README.MacOSX.rtf THANKS NEWS $(top_builddir)/tmp/ && cp -R extras/MacOSX/Delete_Preferences.app $(top_builddir)/tmp/
1076 1077

# Create disk image 
1078
	$(srcdir)/extras/MacOSX/macosx-dmg "vlc-${VERSION}" $(top_builddir)/tmp
1079 1080

# Clean up
Loïc Minier's avatar
Loïc Minier committed
1081
	rm -Rf $(top_builddir)/tmp
1082

1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110
package-translations:
	@if test -e "$(srcdir)/vlc-translations-${VERSION}"; then \
	  echo "Error: please remove $(srcdir)/vlc-translations-${VERSION}, it is in the way"; \
	  false; \
	else \
	  echo "OK."; mkdir -p "$(srcdir)/vlc-translations-${VERSION}"; \
	fi
# Copy translations
	for i in $(ALL_LINGUAS); do \
	  cp "$(srcdir)/po/$${i}.po" \
	    "$(srcdir)/vlc-translations-${VERSION}/$${i}.po" \
	    || true ; \
	done
	cp "$(srcdir)/doc/translations.txt" \
	  "$(srcdir)/vlc-translations-${VERSION}/README.txt"

	echo "#!/bin/sh" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo 'if test $$# != 1; then' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "	echo \"Usage: convert-po.sh <.po file>\"" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "	exit 1" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "fi" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo 'msgfmt --statistics -o vlc.mo $$1' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"

	$(AMTAR) chof - $(srcdir)/vlc-translations-$(VERSION) \
	  | GZIP=$(GZIP_ENV) gzip -c >$(srcdir)/vlc-translations-$(VERSION).tar.gz

1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123
###############################################################################
# PO translation files update
###############################################################################
.PHONY: update-po

update-po:
	rm -f $(top_srcdir)/po/POTFILES.in
	{ \
	  cd $(top_srcdir) ; \
	  echo "# automatically created by make update-po" ; \
	  echo "" ; \
	  echo "# main sources" ; \
	  find include src -name '*.[chm]' -o -name '*.[ch]pp' \
1124
	    | grep -v '\(vlc_symbols\|misc/modules_\|src/misc/version.c\)' \
1125 1126 1127 1128 1129 1130 1131 1132
	    | sort ; \
	  echo "" ; \
	  echo "# modules" ; \
	  find modules -name '*.[chm]' -o -name '*.[ch]pp' \
	    | grep -v '\(\.moc\.\|gui/gtk2/\)' \
	    | sort ; \
	} > $(top_srcdir)/po/POTFILES.in
	rm -f $(top_srcdir)/po/vlc.pot
1133
	cd po && $(MAKE) POTFILES vlc.pot update-po
1134 1135 1136

#cd po && $(MAKE) update-po

Sam Hocevar's avatar
Sam Hocevar committed
1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148
###############################################################################
# Stamp rules
###############################################################################
stamp-builtin: FORCE
	@for dep in "" `$(VLC_CONFIG) --target builtin`; do \
	  if test "$${dep}" -nt "$(top_builddir)/vlc$(EXEEXT)"; then \
	    rm -f $@; \
	    break; \
	  fi; \
	done
	@if test ! -f $@; then printf "" > $@; fi

1149
stamp-api: Makefile.in $(HEADERS_include) vlc-config vlc-api.pl
1150
	( cd $(srcdir) && cat $(HEADERS_include) ) | \
1151
	  top_srcdir="$(top_srcdir)" perl $(top_srcdir)/vlc-api.pl
1152 1153
	touch stamp-api

1154 1155 1156 1157
###############################################################################
# Force rule
###############################################################################
FORCE: