Makefile.am 37.4 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 12 13
#  - intl should come before modules and . because all the code uses gettext
#  - modules should come before . because vlc needs the builtins
#  - . should come before mozilla because the plugin needs libvlc_pic.a
#  - po should come before . because VLC.app needs the pofiles
14 15
#  - loader should come before modules because some plugins need it
SUBDIRS = intl loader modules po . mozilla 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
	vlc.exe.manifest \
22 23 24 25 26
	MAINTAINERS \
	README.MacOSX.rtf \
	bootstrap \
	src/extras/COPYING \
	toolbox \
27
	vlc-api.pl \
Sam Hocevar's avatar
Sam Hocevar committed
28
	vlc-config.in.in \
29
	vlc.spec \
30
	vlc.spec.mdk \
31
	vlc.win32.nsi \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
32
	src/misc/modules_builtin.h.in \
33 34
	$(NULL)

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

42 43
BUILT_SOURCES = $(CLEAN_BUILT_SOURCES) $(DISTCLEAN_BUILT_SOURCES)

44 45 46 47 48
SUFFIXES = 

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

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

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

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

HEADERS_include = \
	include/aout_internal.h \
	include/audio_output.h \
	include/beos_specific.h \
77
	include/charset.h \
78
	include/codecs.h \
79 80
	include/configuration.h \
	include/darwin_specific.h \
81 82 83 84 85 86 87 88
	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 \
89
	include/osd.h \
90
	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 184 185 186
	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 \
	extras/MacOSX/Resources/English.lproj/Update.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Update.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Update.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
	\
	extras/Makefile \
	extras/zsh.cpp \
254 255 256
	$(NULL)

###############################################################################
257
# MS Visual Studio and eMbedded Visual Studio projects
258 259 260 261
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
262 263
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
264
	msvc/vlc.dsp.in \
265
	msvc/config.h.in \
266
	msvc/modules_builtin_msvc.h \
267
	evc/vlc.vcw \
268
	evc/libvlc.vcp.in \
269
	evc/vlc.vcp.in \
270
	evc/plugins.vcp.in \
271
	evc/errno.h \
272
	evc/config.h.in \
273
	evc/modules_builtin_evc.h \
274 275
	$(NULL)

Gildas Bazin's avatar
 
Gildas Bazin committed
276
dist-hook:
277 278
	cd $(distdir) && srcdir=. $(SHELL) ./toolbox --update-vc
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
279

280 281 282 283 284
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
285
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
286 287
	$(SHELL) ./config.status --file=vlc-config
	chmod 0755 vlc-config
288

289 290 291
vlc-config.in: vlc-config.in.in
	./config.status --recheck

292
MOSTLYCLEANFILES = $(DATA_noinst_libvlc)
293 294
CLEANFILES = $(CLEAN_BUILT_SOURCES) stamp-builtin
DISTCLEANFILES = $(DISTCLEAN_BUILT_SOURCES) vlc-config.in
295

296 297 298 299 300 301 302 303 304 305 306 307
if HAVE_WIN32
lib_LIBRARIES = lib/libvlc.a
else
if BUILD_SHARED
lib_LIBRARIES = lib/libvlc_pic.a
else
lib_LIBRARIES = lib/libvlc.a
if BUILD_MOZILLA
lib_LIBRARIES += lib/libvlc_pic.a
endif
endif
endif
308 309

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

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
315 316 317
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`
318 319

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

# 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)
345
endif
346
endif
347

348 349 350 351 352 353 354 355 356 357
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

358
EXTRA_DIST += \
359 360 361 362 363
	$(SOURCES_libvlc_beos) \
	$(SOURCES_libvlc_darwin) \
	$(SOURCES_libvlc_win32) \
	$(SOURCES_libvlc_dirent) \
	$(SOURCES_libvlc_getopt) \
364 365
	$(NULL)

366
SOURCES_libvlc_beos = \
367
	src/misc/beos_specific.cpp \
368 369
	$(NULL)

370
SOURCES_libvlc_darwin = \
371
	src/misc/darwin_specific.m \
372 373
	$(NULL)

374
SOURCES_libvlc_win32 = \
375 376 377
	src/misc/win32_specific.c \
	$(NULL)

378
SOURCES_libvlc_dirent = \
379 380 381
	src/extras/dirent.c \
	$(NULL)

382
SOURCES_libvlc_getopt = \
383 384 385 386 387
	src/extras/getopt.c \
	src/extras/getopt.h \
	src/extras/getopt1.c \
	$(NULL)

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

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

Sam Hocevar's avatar
Sam Hocevar committed
476
bin_PROGRAMS = vlc
477

478
vlc_SOURCES = src/vlc.c
479

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

495 496
vlc_LDFLAGS = $(LDFLAGS_libvlc) $(vlc_WORKAROUNDLDFLAGS)
vlc_LDADD = $(LIB_libvlc) $(DATA_win32_rc) $(LIB_intl)
497 498
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`

499 500
# We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an
# old automake-1.5 bug (automake/279).
501
DEPENDENCIES_vlc = $(LIB_libvlc) $(DATA_win32_rc) $(LIB_intl)
502

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

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

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

548 549 550 551 552
# 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
553
	test -z "$(DATA_noinst_libvlc)" || rm -f "$(DESTDIR)$(libdir)/$(DATA_noinst_libvlc)"
554

555 556
if HAVE_DARWIN
# Create the MacOS X app
557
vlc_app_DATA = VLC.app
558
vlc_appdir = $(bindir)
559 560 561 562 563 564 565 566 567 568 569 570 571 572 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
# 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
	cp -r $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
	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 \
605 606
	    wizard.h \
	    wizard.m \
607 608
	    extended.h \
	    extended.m \
609 610
        bookmarks.h \
        bookmarks.m \
611 612
	    update.h \
	    update.m \
613 614 615 616
	    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
617 618 619 620 621 622 623 624 625
	case $(target_triplet) in \
	  *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
	    cp -r $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
	          $(top_builddir)/VLC-release.app;; \
	  *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
	    cp -r $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
	          $(top_builddir)/VLC-release.app;; \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
626
	  *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
627
	    cd ../../../; \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
628
	    cp -r $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
629 630
	          $(top_builddir)/VLC-release.app;; \
	esac
631 632 633 634 635 636 637 638 639 640 641
	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
642
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
643
	  mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/lib ; \
644
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
645 646 647 648 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
	    $(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
676
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698
	@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
	cp -r $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
	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 \
699 700
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
701 702 703 704 705 706 707 708 709 710 711
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
712 713
	    playlistinfo.h \
	    playlistinfo.m \
714 715
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
716 717 718
	    prefs.h \
	    prefs.m \
	    vout.h \
719 720
	    voutqt.m \
	    voutgl.m \
721 722
	    wizard.h \
	    wizard.m \
723 724
	    extended.h \
	    extended.m \
725 726
        bookmarks.h \
        bookmarks.m \
727 728
	    update.h \
	    update.m \
Loïc Minier's avatar
Loïc Minier committed
729 730 731 732
	    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
733 734 735 736 737 738 739 740 741
	case $(target_triplet) in \
	  *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
	    cp -r $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
	          $(top_builddir)/VLC.app;; \
	  *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
	    cp -r $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
	          $(top_builddir)/VLC.app;; \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
742
	  *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
743
	    cd ../../../; \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
744
	    cp -r $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
745 746
	          $(top_builddir)/VLC.app;; \
	esac
Loïc Minier's avatar
Loïc Minier committed
747 748 749 750
	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
751
	ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
Loïc Minier's avatar
Loïc Minier committed
752
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
Sam Hocevar's avatar
Sam Hocevar committed
753
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
754
	  if test -n "$$i" ; \
755
	    then ln -sfn "`pwd`/$$i$(LIBEXT)" \
Loïc Minier's avatar
Loïc Minier committed
756
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
757
	  fi ; done
758
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
759
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
760
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
761
	    ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \
762
	  done ; \
763
	fi
764
	ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/
Loïc Minier's avatar
Loïc Minier committed
765
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
766
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
767
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
768
	  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
769 770 771 772 773
	  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 ; \
774
	done
Loïc Minier's avatar
Loïc Minier committed
775
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
776 777 778
endif

if HAVE_WIN32
779
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
780 781 782
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
783
	$(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 $@
784 785
endif

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

787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804
###############################################################################
# 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); }; }

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

821
# Copy relevant files
822 823 824 825
	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)"
826

Gildas Bazin's avatar
 
Gildas Bazin committed
827
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
828 829
	  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
830

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

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

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

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

857 858 859 860 861 862
	mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/dvd"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/dvd/selected"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/dvd/unselect"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/dvd/selection"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/dvd/volume"
863
	for i in $(srcdir)/share/osdmenu/*.*; do \
864 865
	  cp $$i $(top_builddir)/vlc-${VERSION}/osdmenu/ || true ; \
	  unix2dos $(top_builddir)/vlc-${VERSION}/osdmenu/`basename $$i` ; \
866 867
	done
	for i in $(srcdir)/share/osdmenu/dvd/*.*; do \
868
	  cp $$i $(top_builddir)/vlc-${VERSION}/osdmenu/dvd || true ; \
869 870
	done
	for i in $(srcdir)/share/osdmenu/dvd/unselect/*.*; do \
871
	  cp $$i $(top_builddir)/vlc-${VERSION}/osdmenu/dvd/unselect || true ; \
872 873
	done
	for i in $(srcdir)/share/osdmenu/dvd/selected/*.*; do \
874
	  cp $$i $(top_builddir)/vlc-${VERSION}/osdmenu/dvd/selected/ || true ; \
875 876
	done
	for i in $(srcdir)/share/osdmenu/dvd/selection/*.*; do \
877
	  cp $$i $(top_builddir)/vlc-${VERSION}/osdmenu/dvd/selection/ || true ; \
878 879
	done
	for i in $(srcdir)/share/osdmenu/dvd/volume/*.*; do \
880
	  cp $$i $(top_builddir)/vlc-${VERSION}/osdmenu/dvd/volume/ || true ; \
881 882
	done

883 884 885 886
	mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/default"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/default/selected"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/default/selection"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/default/volume"
887
	for i in $(srcdir)/share/osdmenu/default/*.*; do \
888
	  cp $$i $(top_builddir)/vlc-${VERSION}/osdmenu/default || true ; \
889 890
	done
	for i in $(srcdir)/share/osdmenu/default/selected/*.*; do \
891
	  cp $$i $(top_builddir)/vlc-${VERSION}/osdmenu/default/selected/ || true ; \
892 893
	done
	for i in $(srcdir)/share/osdmenu/default/selection/*.*; do \
894
	  cp $$i $(top_builddir)/vlc-${VERSION}/osdmenu/default/selection/ || true ; \
895 896
	done
	for i in $(srcdir)/share/osdmenu/default/volume/*.*; do \
897
	  cp $$i $(top_builddir)/vlc-${VERSION}/osdmenu/default/volume/ || true ; \
898 899
	done

900 901 902
	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/ ;
903
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
904
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
905 906 907
	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
908
	cp $(srcdir)/share/http/admin/*.html \
909
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
910
	unix2dos $(top_builddir)/vlc-${VERSION}/http/admin/*.html ;
911 912
	cp $(srcdir)/share/http/admin/dboxfiles.html \
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
913
	cp $(srcdir)/share/http/admin/.access \
914
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
915
	unix2dos $(top_builddir)/vlc-${VERSION}/http/admin/.access ;
916
	cp $(srcdir)/share/http/vlm/*.html \
917
           $(top_builddir)/vlc-${VERSION}/http/vlm/ ;
918
	unix2dos $(top_builddir)/vlc-${VERSION}/http/vlm/*.html ;
Gildas Bazin's avatar
 
Gildas Bazin committed
919

920
	cp $(srcdir)/share/vlc48x48new.ico $(top_builddir)/vlc-${VERSION}/ ;
921

922
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
Gildas Bazin's avatar
 
Gildas Bazin committed
923
if BUILD_MOZILLA
924 925 926
	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
927 928
endif

929 930
	mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
if BUILD_ACTIVEX
Christophe Mutricy's avatar
Christophe Mutricy committed
931 932
	cp $(srcdir)/activex/README.TXT  $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(srcdir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
933 934 935 936 937
	unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;

	cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ;
	$(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
endif
938 939 940 941
# 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
942

Gildas Bazin's avatar
 
Gildas Bazin committed
943
package-win32-base-exe:
944
# Create package
945
	wine C:/Program\ Files/NSIS/makensis.exe \
946 947 948 949 950 951
             /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
952

953 954 955 956
package-win32-base-exe-linux:
# Create package
	makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

Gildas Bazin's avatar
 
Gildas Bazin committed
957
package-win32-base-zip:
958
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
959
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
960 961 962

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

965 966 967 968
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
969 970
package-win32-zip: package-win32-base package-win32-base-zip
# Clean up
971
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
972 973

package-win32: package-win32-base package-win32-base-exe package-win32-base-zip
974
# Clean up
975
	rm -Rf $(top_builddir)/vlc-${VERSION}
976 977 978

package-beos:
# Check that tmp isn't in the way
979
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
980
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
981
	  false ; \
982
	else \
983
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
984
	fi
985

986
# Copy relevant files
987
	mkdir -p $(srcdir)/tmp/vlc ;
988 989 990 991 992 993 994 995 996 997
	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 ;
998

999
# Create normal package
1000 1001
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
1002
	  --strip-debug --strip-unneeded "{}" \; ;
1003 1004 1005
	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} ;
1006
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
1007
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
1008

1009
# Clean up
1010
	rm -Rf $(srcdir)/tmp ;
1011 1012 1013

package-macosx:
# Check that tmp isn't in the way
Loïc Minier's avatar
Loïc Minier committed
1014 1015
	@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
1016
	  false; \
1017
	else \
Loïc Minier's avatar
Loïc Minier committed
1018
	  echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
1019 1020 1021
	fi

# Copy relevant files 
1022
	cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/tmp/VLC.app"
Loïc Minier's avatar
Loïc Minier committed
1023
	cd "$(srcdir)" && cp AUTHORS COPYING ChangeLog README README.MacOSX.rtf THANKS NEWS $(top_builddir)/tmp/
1024 1025

# Create disk image 
1026
	$(srcdir)/extras/MacOSX/macosx-dmg "vlc-${VERSION}" $(top_builddir)/tmp
1027 1028

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

1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058
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

1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080
###############################################################################
# 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' \
	    | grep -v '\(vlc_symbols\|misc/modules_\)' \
	    | 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
1081
	cd po && $(MAKE) POTFILES vlc.pot update-po
1082 1083 1084

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

Sam Hocevar's avatar
Sam Hocevar committed
1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096
###############################################################################
# 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

1097
stamp-api: Makefile.in $(HEADERS_include) vlc-config vlc-api.pl
1098
	( cd $(srcdir) && cat $(HEADERS_include) ) | \
1099
	  top_srcdir="$(top_srcdir)" perl $(top_srcdir)/vlc-api.pl
1100 1101
	touch stamp-api

1102 1103 1104 1105
###############################################################################
# Force rule
###############################################################################
FORCE: