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

5 6 7
# 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.
8 9
#  - src (libvlc) is nedeed by modules, mozilla and bindings
#  - libs/* are needed by modules
10
BASE_SUBDIRS = po compat src bin modules share doc test
11
EXTRA_SUBDIRS = m4 extras/package/ipkg \
12
	libs/loader libs/srtp libs/unzip \
13
	projects/mozilla projects/activex
14
DIST_SUBDIRS = $(BASE_SUBDIRS) $(EXTRA_SUBDIRS)
15

16
SUBDIRS = po compat src
17 18 19
if LOADER
SUBDIRS += libs/loader
endif
20
if HAVE_GCRYPT
21 22
SUBDIRS += libs/srtp
endif
23
if HAVE_ZLIB
24
if !HAVE_MINIZIP
25 26
SUBDIRS += libs/unzip
endif
27
endif
28 29 30
if BUILD_VLC
SUBDIRS += bin
endif
31
SUBDIRS += modules share doc test
32 33 34 35
if BUILD_MOZILLA
SUBDIRS += projects/mozilla
endif
if BUILD_ACTIVEX
36
SUBDIRS += projects/activex
37
endif
38

39 40 41
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
42
	INSTALL.wince \
43
	extras/package/win32/vlc.exe.manifest \
44
	extras/package/win32/libvlc.dll.manifest \
45
	extras/package/macosx/README.MacOSX.rtf \
Sam Hocevar's avatar
Sam Hocevar committed
46
	vlc-config.in.in \
47 48
	extras/package/rpm/vlc.fedora.spec \
	extras/package/rpm/vlc.altlinux.spec \
49
	extras/package/win32/vlc.win32.nsi.in \
50
	extras/package/win32/spad.nsi.in \
51 52
	extras/package/win32/UAC.nsh \
	extras/package/win32/UAC.dll \
53 54 55
	extras/package/win32/languages/declaration.nsh \
	extras/package/win32/languages/english.nsh \
	extras/package/win32/languages/french.nsh
56

57
dist_noinst_SCRIPTS = bootstrap toolbox
58
nodist_noinst_SCRIPTS = compile
59

60
BUILT_SOURCES_distclean = vlc-config extras/package/win32/vlc.win32.nsi extras/package/win32/spad.nsi
61
if HAVE_DARWIN
62
BUILT_SOURCES_clean = macosx-sdk
63 64 65
else
BUILT_SOURCES_clean =
endif
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
66

67
BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
68

69 70
SUFFIXES = 

71 72
DISTCHECK_CONFIGURE_FLAGS = \
	--enable-fast-install \
73 74 75
	--disable-a52 \
	--disable-avcodec --disable-avformat \
	--disable-postproc --disable-swscale \
76
	--disable-dbus \
77 78
	--disable-mad --disable-libmpeg2 \
	--disable-faad --disable-skins2 \
79
	--disable-live555 \
80
	--disable-fribidi --disable-glx
81

82
ACLOCAL_AMFLAGS = -I m4
83 84 85 86 87 88
AUTOMAKE_OPTIONS = \
	1.9 \
	-Wall \
	check-news \
	dist-bzip2 \
	no-dist-gzip
89
#	std-options
90

91 92
ChangeLog: Makefile.am
	rm -f -- "$@"
93
	cd doc && $(MAKE) $(AM_MAKEFLAGS) changelogs
94
	ln -sf doc/ChangeLog-2009 "$@"
95

96 97 98 99 100
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
101
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib \
102
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
103
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/designable.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
104
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/keyedobjects.nib \
105
	extras/package/macosx/Resources/English.lproj/About.nib/designable.nib \
106
	extras/package/macosx/Resources/English.lproj/About.nib/keyedobjects.nib \
107
	extras/package/macosx/Resources/English.lproj/Open.nib/designable.nib \
108
	extras/package/macosx/Resources/English.lproj/Open.nib/keyedobjects.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
109
	extras/package/macosx/Resources/English.lproj/Preferences.nib/designable.nib \
110
	extras/package/macosx/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
111
	extras/package/macosx/Resources/English.lproj/Wizard.nib/designable.nib \
112
	extras/package/macosx/Resources/English.lproj/Wizard.nib/keyedobjects.nib \
113
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/designable.nib \
114
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
115
	extras/package/macosx/Resources/English.lproj/Extended.nib/designable.nib \
116
	extras/package/macosx/Resources/English.lproj/Extended.nib/keyedobjects.nib \
117
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/designable.nib \
118
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/keyedobjects.nib \
119
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/designable.nib \
120
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/keyedobjects.nib \
121
	extras/package/macosx/Resources/English.lproj/InfoPlist.strings.in \
122
	extras/package/macosx/Resources/dsa_pub.pem \
123 124
	extras/package/macosx/Resources/aiff.icns \
	extras/package/macosx/Resources/audio.icns \
125
	extras/package/macosx/Resources/avi.icns \
126
	extras/package/macosx/Resources/flv.icns \
127
	extras/package/macosx/Resources/generic.icns \
128 129 130
	extras/package/macosx/Resources/m4a.icns \
	extras/package/macosx/Resources/m4v.icns \
	extras/package/macosx/Resources/mkv.icns \
131
	extras/package/macosx/Resources/mov.icns \
132
	extras/package/macosx/Resources/movie.icns \
133 134 135
	extras/package/macosx/Resources/mp3.icns \
	extras/package/macosx/Resources/mpeg.icns \
	extras/package/macosx/Resources/ogg.icns \
136 137 138
	extras/package/macosx/Resources/playlist.icns \
	extras/package/macosx/Resources/rm.icns \
	extras/package/macosx/Resources/subtitle.icns \
139
	extras/package/macosx/Resources/vob.icns \
140 141
	extras/package/macosx/Resources/wav.icns \
	extras/package/macosx/Resources/vlc.icns \
142 143 144 145 146 147 148 149
	extras/package/macosx/Resources/wma.icns \
	extras/package/macosx/Resources/wmv.icns \
	extras/package/macosx/Resources/pause.png \
	extras/package/macosx/Resources/pause_blue.png \
	extras/package/macosx/Resources/play.png \
	extras/package/macosx/Resources/play_blue.png \
	extras/package/macosx/Resources/stop.png \
	extras/package/macosx/Resources/stop_blue.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
150 151 152
	extras/package/macosx/Resources/display_left.png \
	extras/package/macosx/Resources/display_middle.png \
	extras/package/macosx/Resources/display_right.png \
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
	extras/package/macosx/Resources/display_slider.png \
	extras/package/macosx/Resources/display_track.png \
	extras/package/macosx/Resources/equalizerdrawer_active.png \
	extras/package/macosx/Resources/equalizerdrawer_blue.png \
	extras/package/macosx/Resources/fullscreen_active.png \
	extras/package/macosx/Resources/fullscreen_blue.png \
	extras/package/macosx/Resources/next_active.png \
	extras/package/macosx/Resources/next_blue.png \
	extras/package/macosx/Resources/playlistdrawer_active.png \
	extras/package/macosx/Resources/playlistdrawer_blue.png \
	extras/package/macosx/Resources/previous_active.png \
	extras/package/macosx/Resources/previous_blue.png \
	extras/package/macosx/Resources/skip_forward_active.png \
	extras/package/macosx/Resources/skip_forward_blue.png \
	extras/package/macosx/Resources/skip_previous_active.png \
	extras/package/macosx/Resources/skip_previous_blue.png \
	extras/package/macosx/Resources/volume_high.png \
	extras/package/macosx/Resources/volume_low.png \
	extras/package/macosx/Resources/volumeslider_blue.png \
	extras/package/macosx/Resources/volumeslider_normal.png \
	extras/package/macosx/Resources/volumetrack.png \
	extras/package/macosx/Resources/about_bg.png \
	extras/package/macosx/Resources/skip_forward_active_embedded.png \
	extras/package/macosx/Resources/play_embedded.png \
	extras/package/macosx/Resources/pause_embedded.png \
	extras/package/macosx/Resources/skip_previous_active_embedded.png \
	extras/package/macosx/Resources/pause_embedded_blue.png \
	extras/package/macosx/Resources/play_embedded_blue.png \
	extras/package/macosx/Resources/skip_forward_embedded_blue.png \
	extras/package/macosx/Resources/skip_previous_embedded_blue.png \
	extras/package/macosx/Resources/vlc.scriptSuite \
	extras/package/macosx/Resources/vlc.scriptTerminology \
	extras/package/macosx/Resources/README \
	extras/package/macosx/Resources/add_embedded.png \
	extras/package/macosx/Resources/add_embedded_blue.png \
	extras/package/macosx/Resources/repeat_embedded.png \
	extras/package/macosx/Resources/repeat_embedded_blue.png \
	extras/package/macosx/Resources/repeat_single_embedded_blue.png \
	extras/package/macosx/Resources/shuffle_embedded.png \
	extras/package/macosx/Resources/shuffle_embedded_blue.png \
	extras/package/macosx/Resources/fs_volume_slider_knob_highlight.png \
	extras/package/macosx/Resources/fs_volume_slider_knob.png \
	extras/package/macosx/Resources/fs_volume_slider_bar.png \
	extras/package/macosx/Resources/fs_volume_mute_highlight.png \
	extras/package/macosx/Resources/fs_volume_mute.png \
	extras/package/macosx/Resources/fs_volume_max_highlight.png \
	extras/package/macosx/Resources/fs_volume_max.png \
	extras/package/macosx/Resources/fs_time_slider_knob_highlight.png \
	extras/package/macosx/Resources/fs_time_slider_knob.png \
	extras/package/macosx/Resources/fs_time_slider.png \
	extras/package/macosx/Resources/fs_stop_highlight.png \
	extras/package/macosx/Resources/fs_stop.png \
	extras/package/macosx/Resources/fs_skip_previous_highlight.png \
	extras/package/macosx/Resources/fs_skip_previous.png \
	extras/package/macosx/Resources/fs_skip_next_highlight.png \
	extras/package/macosx/Resources/fs_skip_next.png \
	extras/package/macosx/Resources/fs_rewind_highlight.png \
	extras/package/macosx/Resources/fs_rewind.png \
	extras/package/macosx/Resources/fs_play_highlight.png \
	extras/package/macosx/Resources/fs_play.png \
	extras/package/macosx/Resources/fs_pause_highlight.png \
	extras/package/macosx/Resources/fs_pause.png \
	extras/package/macosx/Resources/fs_forward_highlight.png \
	extras/package/macosx/Resources/fs_forward.png \
	extras/package/macosx/Resources/fs_exit_fullscreen_highlight.png \
	extras/package/macosx/Resources/fs_exit_fullscreen.png \
	extras/package/macosx/Resources/fs_background.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238
	extras/package/macosx/Resources/add_embedded_graphite.png \
	extras/package/macosx/Resources/equalizerdrawer_graphite.png \
	extras/package/macosx/Resources/fullscreen_graphite.png \
	extras/package/macosx/Resources/next_graphite.png \
	extras/package/macosx/Resources/pause_embedded_graphite.png \
	extras/package/macosx/Resources/pause_graphite.png \
	extras/package/macosx/Resources/play_embedded_graphite.png \
	extras/package/macosx/Resources/play_graphite.png \
	extras/package/macosx/Resources/playlistdrawer_graphite.png \
	extras/package/macosx/Resources/previous_graphite.png \
	extras/package/macosx/Resources/repeat_embedded_graphite.png \
	extras/package/macosx/Resources/repeat_single_embedded_graphite.png \
	extras/package/macosx/Resources/shuffle_embedded_graphite.png \
	extras/package/macosx/Resources/skip_forward_embedded_graphite.png \
	extras/package/macosx/Resources/skip_forward_graphite.png \
	extras/package/macosx/Resources/skip_previous_embedded_graphite.png \
	extras/package/macosx/Resources/skip_previous_graphite.png \
	extras/package/macosx/Resources/stop_graphite.png \
	extras/package/macosx/Resources/volumeslider_graphite.png \
239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260
	extras/package/macosx/Resources/backward_big_down.png \
	extras/package/macosx/Resources/backward_big.png \
	extras/package/macosx/Resources/eq_sm.pdf \
	extras/package/macosx/Resources/forward_big_down.png \
	extras/package/macosx/Resources/forward_big.png \
	extras/package/macosx/Resources/fs_sm.pdf \
	extras/package/macosx/Resources/list_sm.pdf \
	extras/package/macosx/Resources/next_sm.pdf \
	extras/package/macosx/Resources/pause_big_down.png \
	extras/package/macosx/Resources/pause_big.png \
	extras/package/macosx/Resources/play_big_down.png \
	extras/package/macosx/Resources/play_big.png \
	extras/package/macosx/Resources/prev_sm.pdf \
	extras/package/macosx/Resources/sidebarAdd.png \
	extras/package/macosx/Resources/sidebarRepeat.png \
	extras/package/macosx/Resources/sidebarRepeatOn.png \
	extras/package/macosx/Resources/sidebarRepeatOneOn.png \
	extras/package/macosx/Resources/sidebarResizeWidget.png \
	extras/package/macosx/Resources/sidebarShuffle.png \
	extras/package/macosx/Resources/sidebarShuffleOn.png \
	extras/package/macosx/Resources/sidebarStatusAreaBackground.png \
	extras/package/macosx/Resources/stop_sm.pdf \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
261 262 263 264 265 266 267
	extras/package/macosx/Resources/noart.png \
	extras/package/macosx/Resources/spref_cone_Audio_64.png \
	extras/package/macosx/Resources/spref_cone_Hotkeys_64.png \
	extras/package/macosx/Resources/spref_cone_Input_64.png \
	extras/package/macosx/Resources/spref_cone_Interface_64.png \
	extras/package/macosx/Resources/spref_cone_Subtitles_64.png \
	extras/package/macosx/Resources/spref_cone_Video_64.png \
268 269 270 271 272 273 274 275 276 277
	extras/package/macosx/fullscreen_panel.svg \
	extras/package/macosx/ub.sh \
	extras/package/macosx/vlc.xcodeproj/project.pbxproj \
	extras/package/macosx/Delete_Preferences.app/Contents/Info.plist \
	extras/package/macosx/Delete_Preferences.app/Contents/PkgInfo \
	extras/package/macosx/Delete_Preferences.app/Contents/MacOS/applet \
	extras/package/macosx/Delete_Preferences.app/Contents/Resources/description.rtfd/TXT.rtf \
	extras/package/macosx/Delete_Preferences.app/Contents/Resources/applet.icns \
	extras/package/macosx/Delete_Preferences.app/Contents/Resources/applet.rsrc \
	extras/package/macosx/Delete_Preferences.app/Contents/Resources/Scripts/main.scpt \
278 279
	extras/package/macosx/plugin/Info.plist.in \
	extras/package/macosx/plugin/InstallerInfo.plist.in \
280 281
	extras/package/macosx/plugin/InstallerDescription.plist \
	extras/package/macosx/plugin/pbdevelopment.plist \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
282 283 284 285 286 287
	extras/package/macosx/eyetvplugin/EyeTVPluginDefs.h \
	extras/package/macosx/eyetvplugin/Info.plist \
	extras/package/macosx/eyetvplugin/eyetvplugin.c \
	extras/package/macosx/eyetvplugin/eyetvplugin.h \
	extras/package/macosx/eyetvplugin/English.lproj/InfoPlist.strings \
	extras/package/macosx/eyetvplugin/eyetvplugin.xcodeproj/project.pbxproj \
288
	extras/package/macosx/README.MacOSX.rtf \
289
	extras/package/macosx/Info.plist.in
Felix Paul Kühne's avatar
Felix Paul Kühne committed
290

291 292

###############################################################################
Rafaël Carré's avatar
Rafaël Carré committed
293
# Various utilities ( editor syntax files, D-Bus controller ... )
294 295
##############################################################################
EXTRA_DIST += \
296
	extras/analyser/zsh_completion.sh \
297 298 299 300
	extras/analyser/zsh.cpp \
	extras/analyser/emacs.init \
	extras/analyser/vlc.vim \
	extras/analyser/valgrind.suppressions \
301
	extras/buildsystem/make.pl \
302 303
	extras/misc/mpris.py \
	extras/misc/mpris.glade
304

305
dist-hook:
306
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
307

308 309 310 311
###############################################################################
# Building libvlc
###############################################################################

312
noinst_SCRIPTS = vlc-config
313
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
314 315
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
316
	touch $@
317

318 319
vlc-config.in: vlc-config.in.in
	./config.status --recheck
320
	touch $@
321

322
CLEANFILES = $(BUILT_SOURCES_clean)
323 324
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
MAINTAINERCLEANFILES = ChangeLog
325

326
# Shortcut for developers to rebuild the core (libvlc + vlc)
327 328
# Don't use it if you don't know what it is about.
# Don't complain if it doesn't work. -- Courmisch
329 330 331 332
libcompat:
	cd compat && $(MAKE) $(AM_MAKEFLAGS)

libvlc: libcompat
333
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
334

335 336
core: libvlc vlc
	cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) vlc-static$(EXEEXT)
337

338 339 340 341
doc:
	cd doc && $(MAKE) $(AM_MAKEFLAGS) doc

.PHONY: libvlc core doc
342

343
if HAVE_BEOS
344
noinst_DATA = vlc-bundle
345
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
346 347 348
	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
349 350
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
351 352
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
353 354
	  fi ; \
	done
355
	if test -d $(CONTRIB_DIR)/vlc-lib ; then \
Sam Hocevar's avatar
Sam Hocevar committed
356
	  mkdir -p $(top_builddir)/vlc-bundle/lib ; \
357
	  for i in $(CONTRIB_DIR)/vlc-lib/*.so ; do \
Sam Hocevar's avatar
Sam Hocevar committed
358
	    cp $$i $(top_builddir)/vlc-bundle/lib/ ; \
359 360
	  done ; \
	fi
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
361
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
362
	  mkdir -p "$(top_builddir)/vlc-bundle/share/locale/$$i/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
363
	  cp "$(top_builddir)/po/$$i.gmo" \
364
	    "$(top_builddir)/vlc-bundle/share/locale/$$i/LC_MESSAGES/vlc.mo" || true ; \
365
	done
Sam Hocevar's avatar
Sam Hocevar committed
366
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
367 368
endif

369 370 371 372
###############################################################################
# Building aliases
###############################################################################

373
ALL_ALIASES = cvlc rvlc svlc qvlc nvlc mvlc
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
374
bin_SCRIPTS = $(ALIASES)
375
CLEANFILES += $(ALIASES) $(noinst_SCRIPTS)
376 377 378 379
EXTRA_SCRIPTS = $(ALL_ALIASES)

dist_noinst_SCRIPTS += make-alias

380
MKALIAS = bindir="$(bindir)" transform="$(transform)" program_prefix="$(program_prefix)" program_suffix="$(program_suffix)" $(top_srcdir)/make-alias $@
381

382
cvlc: make-alias Makefile
383
	$(AM_V_GEN)$(MKALIAS) dummy
384

385
rvlc: make-alias Makefile
386
	$(AM_V_GEN)$(MKALIAS) rc
387

388
svlc: make-alias Makefile
389
	$(AM_V_GEN)$(MKALIAS) skins2
390

391
qvlc: make-alias Makefile
392
	$(AM_V_GEN)$(MKALIAS) qt4
393

394
nvlc: make-alias Makefile
395
	$(AM_V_GEN)$(MKALIAS) ncurses
396

397
mvlc: make-alias Makefile
398
	$(AM_V_GEN)$(MKALIAS) maemo
399

400
if BUILD_VLC
401
noinst_SCRIPTS += vlc$(EXEEXT)
402
endif
403

404
vlc$(EXEEXT):
405
	$(AM_V_GEN)ln -sf bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
406

407
if HAVE_DARWIN
408
if BUILD_MACOSX_VLC_APP
409
# Create the MacOS X app
410
noinst_DATA = VLC.app
411
endif
412 413
endif

414
silentstd = $(silentstd_$(V))
415
silentstd_ = $(silentstd_$(AM_DEFAULT_VERBOSITY))
416
silentstd_0 = 2>&1 >/dev/null
417

418 419
# VLC-release.app for packaging and giving it to your friends
# use package-macosx to get a nice dmg
420
VLC-release.app: vlc
421
	( cd src && $(MAKE) $(AM_MAKEFLAGS) install $(silentstd) )
422
	rm -Rf "$(top_builddir)/tmp"
423
	mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
424
	rm -Rf $(top_builddir)/VLC-release.app
425
	for i in vlc.xcodeproj Resources README.MacOSX.rtf ; do \
426 427
	  cp -R $(srcdir)/extras/package/macosx/$$i $(top_builddir)/tmp/extras/package/macosx/; \
	done
428
	REVISION=`(git --git-dir=$(srcdir)/.git describe --always || echo exported)` && \
429 430 431
	cat $(top_builddir)/extras/package/macosx/Info.plist | \
	sed "s/#REVISION#/$$REVISION/g" > $(top_builddir)/tmp/extras/package/macosx/Info.plist
	cp -R $(top_builddir)/extras/package/macosx/Resources $(top_builddir)/tmp/extras/package/macosx/
432
	for i in AUTHORS COPYING THANKS; do \
433 434
	  cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
	done
435
	mkdir -p $(top_builddir)/tmp/extras/contrib/Sparkle
436
	cp -R $(CONTRIB_DIR)/Sparkle/Sparkle.framework $(top_builddir)/tmp/extras/contrib/Sparkle
437 438 439
	mkdir -p $(top_builddir)/tmp/modules/audio_output
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
440 441
	    AppleRemote.h \
	    AppleRemote.m \
442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466
	    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 \
467 468
	    simple_prefs.h \
	    simple_prefs.m \
469 470
	    vout.h \
	    voutgl.m \
471 472
	    wizard.h \
	    wizard.m \
473 474
	    extended.h \
	    extended.m \
475 476
	    bookmarks.h \
	    bookmarks.m \
477 478
	    coredialogs.h \
	    coredialogs.m \
479 480
	    embeddedwindow.h \
	    embeddedwindow.m \
481 482
	    fspanel.h \
	    fspanel.m \
483 484 485 486
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
487
	$(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
488
        xcodebuild -target vlc SYMROOT=../../../build $(silentstd) && \
489
	cd ../../../../ && \
490
	cp -R $(top_builddir)/tmp/build/Default/VLC.bundle $(top_builddir)/VLC-release.app; \
491 492
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
493
	PRODUCT="VLC-release.app" ACTION="release-makefile" src_dir=$(srcdir) build_dir=$(top_builddir) sh $(srcdir)/projects/macosx/framework/Pre-Compile.sh
494 495 496 497
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua
	for i in $(srcdir)/share/lua/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/`basename $${i}` ; \
	done ; \
498 499 500
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/playlist
	for i in $(srcdir)/share/lua/playlist/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/playlist/`basename $${i}` ; \
501
	done ; \
502 503 504
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/meta
	for i in $(srcdir)/share/lua/meta/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/meta/`basename $${i}` ; \
505
	done ; \
506 507 508
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf
	for i in $(srcdir)/share/lua/intf/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf/`basename $${i}` ; \
509
	done ; \
510 511 512
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf/modules
	for i in $(srcdir)/share/lua/intf/modules/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf/modules/`basename $${i}` ; \
513
	done ; \
514 515 516 517 518 519 520
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/dialogs
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/js
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/images
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/requests
	$(INSTALL) -m 644 $(srcdir)/share/lua/http/.hosts $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/.hosts
	for i in $(srcdir)/share/lua/http/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/`basename $${i}` ; \
521
	done
522 523
	for i in $(srcdir)/share/lua/http/dialogs/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/dialogs/`basename $${i}` ; \
524
	done
525 526
	for i in $(srcdir)/share/lua/http/js/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/js/`basename $${i}` ; \
527
	done
528 529
	for i in $(srcdir)/share/lua/http/images/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/images/`basename $${i}` ; \
530
	done
531 532
	for i in $(srcdir)/share/lua/http/requests/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/requests/`basename $${i}` ; \
533
	done
534
	$(INSTALL) -m 644 $(srcdir)/share/lua/http/requests/readme $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/requests/readme.txt
535 536 537 538
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/dialogs
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/js
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/images
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests
539
	$(INSTALL) -m 644 $(srcdir)/share/http/.hosts $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/.hosts
540
	for i in $(srcdir)/share/http/*.* ; do \
541
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \
542
	done
543 544
	for i in $(srcdir)/share/http/dialogs/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/dialogs/`basename $${i}` ; \
545
	done
546 547
	for i in $(srcdir)/share/http/js/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/js/`basename $${i}` ; \
548
	done
549 550
	for i in $(srcdir)/share/http/images/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/images/`basename $${i}` ; \
551
	done
552 553
	for i in $(srcdir)/share/http/requests/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/`basename $${i}` ; \
554
	done
555
	$(INSTALL) -m 644 $(srcdir)/share/http/requests/readme $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/readme.txt
556
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
557
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
558 559
	  $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES ; \
	  $(INSTALL) $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC-release.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
560 561 562 563 564 565 566
	  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 ; \
	done
	printf "APPLVLC#" >| $(top_builddir)/VLC-release.app/Contents/PkgInfo
567
	find $(top_builddir)/VLC-release.app/Contents/Resources/English.lproj -name designable.nib -delete;
568 569
	find $(top_builddir)/VLC-release.app -type d -exec chmod ugo+rx '{}' \;
	find $(top_builddir)/VLC-release.app -type f -exec chmod ugo+r '{}' \;
570

571
# This is just for development purposes. 
572
# The resulting VLC.app will only run in this tree.
573
VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/src/.libs/libvlc.dylib
574
	$(AM_V_GEN)(cd src && make install $(silentstd))
575 576
	rm -Rf $(top_builddir)/tmp
	mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
Loïc Minier's avatar
Loïc Minier committed
577
	rm -Rf $(top_builddir)/VLC.app
578
	for i in vlc.xcodeproj Resources README.MacOSX.rtf; do \
579 580
	  cp -R $(srcdir)/extras/package/macosx/$$i $(top_builddir)/tmp/extras/package/macosx/; \
	done
581
	REVISION=`(git --git-dir=$(srcdir)/.git describe --always || echo exported)` && \
582 583 584
	cat $(top_builddir)/extras/package/macosx/Info.plist | \
	sed "s/#REVISION#/$$REVISION/g" > $(top_builddir)/tmp/extras/package/macosx/Info.plist
	cp -R $(top_builddir)/extras/package/macosx/Resources $(top_builddir)/tmp/extras/package/macosx/
585
	for i in AUTHORS COPYING THANKS; do \
Loïc Minier's avatar
Loïc Minier committed
586 587
	  cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
	done
588
	mkdir -p $(top_builddir)/tmp/extras/contrib/Sparkle
589
	cp -R $(CONTRIB_DIR)/Sparkle/Sparkle.framework $(top_builddir)/tmp/extras/contrib/Sparkle
Loïc Minier's avatar
Loïc Minier committed
590 591 592
	mkdir -p $(top_builddir)/tmp/modules/audio_output
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
593 594
	    AppleRemote.h \
	    AppleRemote.m \
Loïc Minier's avatar
Loïc Minier committed
595 596 597 598 599 600
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
601 602
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
603 604 605 606 607 608 609 610 611 612 613
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
614 615
	    playlistinfo.h \
	    playlistinfo.m \
616 617
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
618 619
	    prefs.h \
	    prefs.m \
620 621
	    simple_prefs.h \
	    simple_prefs.m \
Loïc Minier's avatar
Loïc Minier committed
622
	    vout.h \
623
	    voutgl.m \
624 625
	    wizard.h \
	    wizard.m \
626 627
	    extended.h \
	    extended.m \
628 629
	    bookmarks.h \
	    bookmarks.m \
630 631
	    coredialogs.h \
	    coredialogs.m \
632 633
	    embeddedwindow.h \
	    embeddedwindow.m \
634 635
	    fspanel.h \
	    fspanel.m \
Loïc Minier's avatar
Loïc Minier committed
636 637 638 639
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
640
	$(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
641
	xcodebuild -target vlc SYMROOT=../../../build $(silentstd) && \
642
	cd ../../../../ && \
643
	cp -R $(top_builddir)/tmp/build/Default/VLC.bundle $(top_builddir)/VLC.app
Loïc Minier's avatar
Loïc Minier committed
644
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
645 646
	touch $(top_builddir)/VLC.app/Contents/MacOS/VLC
	chmod +x $(top_builddir)/VLC.app/Contents/MacOS/VLC
647
	$(INSTALL) $(top_builddir)/bin/.libs/vlc $(top_builddir)/VLC.app/Contents/MacOS/VLC
Pierre's avatar
Pierre committed
648
	ln -sf ../../../modules $(top_builddir)/VLC.app/Contents/MacOS/plugins
649 650 651 652
	install -d $(top_builddir)/VLC.app/Contents/MacOS/share
	for i in `ls $(srcdir)/share`; do \
	   ln -sf `pwd`/$(srcdir)/share/$$i $(top_builddir)/VLC.app/Contents/MacOS/share/; \
	done
653
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
654
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
655 656
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES ; \
	  ln -sfn `pwd`/$(srcdir)/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
Loïc Minier's avatar
Loïc Minier committed
657 658 659 660 661
	  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 ; \
662
	done
Loïc Minier's avatar
Loïc Minier committed
663
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
664

665 666 667 668 669
###############################################################################
# Building architecture-specific binary packages
###############################################################################

# XXX: this rule is probably only useful to you if you have exactly
670
# the same setup as the maintaner(s).
671
#
672

673 674 675
############################################################################
## Win                                                                    ##
############################################################################
676
win32_destdir=$(top_builddir)/vlc-$(VERSION)
Luca Barbato's avatar
Luca Barbato committed
677
win32_xpi_destdir=$(win32_destdir)/vlc-plugin
678 679 680
win32_debugdir=$(top_builddir)/symbols-$(VERSION)
npvlc=vlc-$(VERSION)/mozilla/npvlc$(LIBEXT)
axvlc=vlc-$(VERSION)/activex/axvlc$(LIBEXT)
681 682 683
win32_lua_destdir=$(win32_destdir)/lua
win32_http_destdir=$(win32_destdir)/http

684
#Win-common if for win32 and wince
685
package-win-common:
686
# Check that tmp isn't in the way
687 688
	@if test -e "$(win32_destdir)"; then \
	  echo "Error: please remove $(win32_destdir), it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
689
	  false; \
690
	else \
691
	  echo "OK."; mkdir -p "$(win32_destdir)"; \
692
	fi
693 694 695 696 697 698 699
# Same for debug symbols dir
	@if test -e "$(win32_debugdir)"; then \
	  echo "Error: please remove $(win32_debugdir), it is in the way"; \
	  false; \
	else \
	  echo "OK."; mkdir -p "$(win32_debugdir)"; \
	fi
700

701
# Copy relevant files
702
# Copy executables, major libs+manifests
703
	cp "$(top_builddir)/bin/.libs/vlc$(EXEEXT)" "$(win32_destdir)/"
704
	cp "$(top_builddir)/bin/.libs/vlc-cache-gen$(EXEEXT)" "$(win32_destdir)/"
705
	cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win32_destdir)/"
706
	cp "$(top_srcdir)/extras/package/win32/libvlc.dll.manifest" "$(win32_destdir)/"
707 708
	cp "$(top_builddir)/src/.libs/libvlccore$(LIBEXT)" "$(win32_destdir)/"
	cp "$(top_builddir)/src/.libs/libvlc$(LIBEXT)" "$(win32_destdir)/"
709

710
# Copy Text files
Rafaël Carré's avatar
Rafaël Carré committed
711
	for file in AUTHORS THANKS ; \
712
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(win32_destdir)/$${file}.txt" ; done;
Christophe Mutricy's avatar
Christophe Mutricy committed
713
	for file in NEWS COPYING README; \
714
	  do cp "$(srcdir)/$$file" "$(win32_destdir)/$${file}.txt"; done
715
	$(U2D) "$(win32_destdir)/"*.txt || echo "WARNING: this shouldn't happen"
716

717
# Necessary icons
718
	cp $(srcdir)/share/vlc.ico $(win32_destdir)/
719 720

# Copy the locales
721
	mkdir -p $(win32_destdir)/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
722
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
723
	  mkdir -p "$(win32_destdir)/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
724
	  cp "$(srcdir)/po/$${i}.gmo" \
725
	    "$(win32_destdir)/locale/$${i}/LC_MESSAGES/vlc.mo" || true ; \
726
	done
727 728
	mkdir -p $(win32_destdir)/locale/qt4/
	cp $(QT4LOCALEDIR)/*.qm $(win32_destdir)/locale/qt4/ || true
729

730
#  Mozilla plugin
731
if BUILD_MOZILLA
732 733
	mkdir -p "$(win32_destdir)/mozilla"
	cp $(top_builddir)/projects/mozilla/.libs/npvlc$(LIBEXT) $(win32_destdir)/mozilla/
734
	cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_destdir)/mozilla/
735 736
endif

737
# ActiveX plugin
738
if BUILD_ACTIVEX
739 740 741
	mkdir -p "$(win32_destdir)/activex"
	cp $(srcdir)/projects/activex/README.TXT  $(win32_destdir)/activex/
	cp $(srcdir)/projects/activex/test.html  $(win32_destdir)/activex/
742
	$(U2D) $(win32_destdir)/activex/*
743
	cp $(top_builddir)/projects/activex/.libs/axvlc$(LIBEXT) $(win32_destdir)/activex/
744
	cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir)/activex/
745
endif
746

747
# Rebase all those DLLs to speed up loading (need cygwin rebase)
748
	if rebase -b 0x42 /dev/null >/dev/null 2>&1; then \
749
		find $(win32_destdir) -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \
750
	fi
751

752 753 754 755 756
# Copy the UAC NSIS plugin
	mkdir -p "$(win32_destdir)/NSIS"
	cp "$(top_srcdir)/extras/package/win32/UAC.nsh" "$(win32_destdir)/NSIS"
	cp "$(top_srcdir)/extras/package/win32/UAC.dll" "$(win32_destdir)/NSIS"

Luca Barbato's avatar
Luca Barbato committed
757 758 759
package-win32-xpi: package-win-common-strip
	mkdir -p "$(win32_xpi_destdir)/plugins"
	cp $(top_builddir)/projects/mozilla/install.rdf "$(win32_xpi_destdir)"
760
	cp $(win32_destdir)/mozilla/npvlc$(LIBEXT) \
Luca Barbato's avatar
Luca Barbato committed
761 762 763 764 765 766 767 768 769 770
		"$(win32_xpi_destdir)/plugins"
	cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest \
		"$(win32_xpi_destdir)/plugins"
	cp "$(top_srcdir)/extras/package/win32/libvlc.dll.manifest" \
		"$(win32_xpi_destdir)/plugins"
	cp "$(win32_destdir)/libvlccore$(LIBEXT)" \
		"$(win32_xpi_destdir)/plugins"
	cp "$(win32_destdir)/libvlc$(LIBEXT)" \
		"$(win32_xpi_destdir)/plugins"
	mkdir -p "$(win32_xpi_destdir)/plugins/plugins"
Luca Barbato's avatar
Luca Barbato committed
771
	cp $(win32_destdir)/plugins/*$(LIBEXT) \
Luca Barbato's avatar
Luca Barbato committed
772
		"$(win32_xpi_destdir)/plugins/plugins"
773 774
	rm -rf "$(win32_xpi_destdir)/plugins/plugins/*qt*"
	rm -rf "$(win32_xpi_destdir)/plugins/plugins/*skins*"
Luca Barbato's avatar
Luca Barbato committed
775 776
	cd $(win32_xpi_destdir) && zip -r vlc-$(VERSION).xpi install.rdf plugins

777 778
package-win32-base-debug: package-win-common
# Copy relevant files
779
# Script installer
780
	cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/"
781
	cp "$(top_builddir)/extras/package/win32/spad.nsi" "$(win32_destdir)/"
782 783
	mkdir "$(win32_destdir)/languages"
	cp $(srcdir)/extras/package/win32/languages/*.nsh "$(win32_destdir)/languages/"
784

785
# Plugins
786
	mkdir -p "$(win32_destdir)/plugins"
Christophe Mutricy's avatar
Christophe Mutricy committed
787
	find modules/ -name '*_plugin$(LIBEXT)' | while read i; do \
788
	  if test -n "$$i" ; then \
789
	    $(INSTALL) "$$i" "vlc-$(VERSION)/plugins/" ; \
790 791
	  fi ; done

792 793 794 795 796 797 798
#Enable DEP and ASLR for all the binaries
if USE_PEFLAGS
	find $(win32_destdir) -type f -name '*.dll' -print -o -name '*.exe' -print | while read i; do \
	$(PEFLAGS) --dynamicbase=true --nxcompat=true "$$i" ; \
	done
endif

799
if BUILD_LUA
800
# Copy the lua scripts (HTTP)
801 802 803 804 805
	mkdir -p "$(win32_lua_destdir)/http/images"
	mkdir -p "$(win32_lua_destdir)/http/requests"
	mkdir -p "$(win32_lua_destdir)/http/js"
	mkdir -p "$(win32_lua_destdir)/http/dialogs"
	cp $(srcdir)/share/lua/http/*.html $(win32_lua_destdir)/http/
806
	$(U2D) $(win32_lua_destdir)/http/*.html
807
	cp $(srcdir)/share/lua/http/.hosts $(win32_lua_destdir)/http/
808
	$(U2D) $(win32_lua_destdir)/http/.hosts
809
	cp $(srcdir)/share/lua/http/*.css $(win32_lua_destdir)/http/
810
	$(U2D) $(win32_lua_destdir)/http/*.css
811
	cp $(srcdir)/share/lua/http/js/*.js $(win32_lua_destdir)/http/js/
812
	$(U2D) $(win32_lua_destdir)/http/js/*.js
813
	cp $(srcdir)/share/lua/http/*.lua $(win32_lua_destdir)/http/
814
	$(U2D) $(win32_lua_destdir)/http/*.lua
815
	cp $(srcdir)/share/lua/http/dialogs/* $(win32_lua_destdir)/http/dialogs/
816
	$(U2D) $(win32_lua_destdir)/http/dialogs/*
817
	cp $(srcdir)/share/lua/http/dialogs/.hosts $(win32_lua_destdir)/http/dialogs/
818
	$(U2D) $(win32_lua_destdir)/http/dialogs/.hosts
819 820 821
	cp $(srcdir)/share/lua/http/*.ico $(win32_lua_destdir)/http/
	cp $(srcdir)/share/lua/http/images/*.png $(win32_lua_destdir)/http/images/
	cp $(srcdir)/share/lua/http/requests/*.xml $(win32_lua_destdir)/http/requests/
822
	$(U2D) $(win32_lua_destdir)/http/requests/*.xml
823
	cp $(srcdir)/share/lua/http/requests/readme $(win32_lua_destdir)/http/requests/readme.txt
824
	$(U2D) $(win32_lua_destdir)/http/requests/readme.txt
825

826
#Lua Scripts
827 828 829 830
	$(INSTALL) -d $(win32_lua_destdir)
	for i in $(srcdir)/share/lua/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/`basename $${i}` ; \
	done
831
	$(INSTALL) -d $(win32_lua_destdir)/modules
832 833 834
	for i in $(srcdir)/share/lua/modules/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/modules/`basename $${i}` ; \
	done
835 836 837
	$(INSTALL) -d $(win32_lua_destdir)/extensions
	for i in $(srcdir)/share/lua/extensions/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/extensions/`basename $${i}` ; \
838
	done
839 840 841 842 843 844 845
	$(INSTALL) -d $(win32_lua_destdir)/intf
	for i in $(srcdir)/share/lua/intf/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/`basename $${i}` ; \
	done
	$(INSTALL) -d $(win32_lua_destdir)/intf/modules
	for i in $(srcdir)/share/lua/intf/modules/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/modules/`basename $${i}` ; \
846
	done
847
	$(INSTALL) -d $(win32_lua_destdir)/meta/art
848
	for i in $(srcdir)/share/lua/meta/art/*.* ; do \
849 850
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/art/`basename $${i}` ; \
	done
851 852 853 854
	$(INSTALL) -d $(win32_lua_destdir)/meta/fetcher
	for i in $(srcdir)/share/lua/meta/fetcher/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/fetcher/`basename $${i}` ; \
	done
855
	$(INSTALL) -d $(win32_lua_destdir)/meta/reader
856
	for i in $(srcdir)/share/lua/meta/reader/*.* ; do \
857
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/reader/`basename $${i}` ; \
858
	done
859 860 861
	$(INSTALL) -d $(win32_lua_destdir)/playlist
	for i in $(srcdir)/share/lua/playlist/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/playlist/`basename $${i}` ; \
862
	done
863 864 865
	$(INSTALL) -d $(win32_lua_destdir)/sd
	for i in $(srcdir)/share/lua/sd/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/sd/`basename $${i}` ; \
866
	done
867

868 869 870 871 872 873 874 875
	$(U2D) $(win32_lua_destdir)/README.txt
	$(U2D) $(win32_lua_destdir)/extensions/README.txt
	$(U2D) $(win32_lua_destdir)/intf/README.txt
	$(U2D) $(win32_lua_destdir)/meta/art/README.txt
	$(U2D) $(win32_lua_destdir)/meta/fetcher/README.txt
	$(U2D) $(win32_lua_destdir)/meta/reader/README.txt
	$(U2D) $(win32_lua_destdir)/playlist/README.txt
	$(U2D) $(win32_lua_destdir)/sd/README.txt
876 877 878 879
endif

# Copy the http files
if BUILD_HTTPD
880 881 882 883 884
	mkdir -p "$(win32_http_destdir)/images"
	mkdir -p "$(win32_http_destdir)/requests"
	mkdir -p "$(win32_http_destdir)/js"
	mkdir -p "$(win32_http_destdir)/dialogs"
	cp $(srcdir)/share/http/*.html $(win32_http_destdir)/
885
	$(U2D) $(win32_http_destdir)/*.html
886
	cp $(srcdir)/share/http/.hosts $(win32_http_destdir)/
887
	$(U2D) $(win32_http_destdir)/.hosts
888
	cp $(srcdir)/share/http/*.css $(win32_http_destdir)/
889
	$(U2D) $(win32_http_destdir)/*.css
890
	cp $(srcdir)/share/http/js/*.js $(win32_http_destdir)/js/
891
	$(U2D) $(win32_http_destdir)/js/*.js
892
	cp $(srcdir)/share/http/dialogs/* $(win32_http_destdir)/dialogs/
893
	$(U2D) $(win32_http_destdir)/dialogs/*
894
	cp $(srcdir)/share/http/dialogs/.hosts $(win32_http_destdir)/dialogs/
895
	$(U2D) $(win32_http_destdir)/dialogs/.hosts
896 897 898
	cp $(srcdir)/share/http/*.ico $(win32_http_destdir)/
	cp $(srcdir)/share/http/images/*.png $(win32_http_destdir)/images/
	cp $(srcdir)/share/http/requests/*.xml $(win32_http_destdir)/requests/
899
	$(U2D) $(win32_http_destdir)/requests/*.xml
900
	cp $(srcdir)/share/http/requests/readme $(win32_http_destdir)/requests/readme.txt
901
	$(U2D) $(win32_http_destdir)/requests/readme.txt
902

903 904 905 906
endif

if BUILD_SKINS
# Skins
907
	mkdir -p $(win32_destdir)/skins/fonts
908
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
909
	  cp -- "$$i" $(win32_destdir)/skins/fonts/ || true ; \
910
	done
911
	for i in $(top_builddir)/share/skins2/*.*; do \
912
	  cp -- "$$i" $(win32_destdir)/skins/ || true ; \
913
	done
914 915
	cp -- $(srcdir)/share/skins2/skin.catalog $(win32_destdir)/skins/ || true ;
	cp -- $(srcdir)/share/skins2/skin.dtd $(win32_destdir)/skins/ || true ;
916
endif
917

918
if BUILD_OSDMENU
919
#OSD Menu
920 921
	mkdir -p "$(win32_destdir)/osdmenu"
	cp $(srcdir)/share/osdmenu/*.* "$(win32_destdir)/osdmenu"
922
	for dir in default default/selected default/selection default/volume ;do \
923
		mkdir -p "$(win32_destdir)/osdmenu/$$dir"; \
924
		for file in $(srcdir)/share/osdmenu/$${dir}/*.png;do \
925
			 cp -- "$$file" "$(win32_destdir)/osdmenu/$$dir"; \
926 927
		done; \
	done
928
	$(U2D) $(win32_destdir)/osdmenu/*.cfg;
929
	for file in $(win32_destdir)/osdmenu/*.cfg; do \
930 931 932
		sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
		sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
		rm -f -- "$$file.tmp"; \
933
	done
934
endif
935

936
# SDK
937 938
	mkdir -p "$(win32_destdir)/sdk.tmp"
	mkdir -p "$(win32_destdir)/sdk"
939 940 941 942 943 944 945
	d=$$(pwd) && \
	cd src && \
	make install DESTDIR="$$d/vlc-$(VERSION)/sdk.tmp"
	cd vlc-$(VERSION) && mv sdk.tmp/$(prefix)/* sdk/
	find vlc-$(VERSION)/sdk.tmp -type d | sort -r | xargs rmdir
	rm -Rf vlc-$(VERSION)/sdk/bin

946
# Strip DLLs
947
package-win-common-strip: package-win32-base-debug
948
	for i in "" $(win32_destdir)/*$(LIBEXT) \
949
	            $(win32_destdir)/*$(EXEEXT) \
950 951
	            $(win32_destdir)/activex/*$(LIBEXT) \
	            $(win32_destdir)/mozilla/*$(LIBEXT) \
952 953 954 955 956 957 958 959 960 961
	            $(win32_destdir)/plugins/*$(LIBEXT) \
	; do \
	  if test -n "$$i" ; then \
	    $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
	    $(OBJCOPY) --strip-all "$$i" ; \
	    $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
	    mv "$$i.dbg" "$(win32_debugdir)"; \
	  fi ; \
	done

962
package-win32-base: package-win-common-strip
963

964
package-win32-base-exe: package-win32-base
965
# Create package
966
	rm -Rf $(win32_destdir)/sdk
967
	if makensis -VERSION >/dev/null 2>&1; then \
968
	    MAKENSIS="makensis"; \
969
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
970
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
971
	elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
972
	    MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
Rafaël Carré's avatar
Rafaël Carré committed
973
	elif wine --version >/dev/null 2>&1; then \
974
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
975 976 977
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
978
	eval "$$MAKENSIS $(win32_destdir)/spad.nsi"; \
979
	eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
980

981
package-win32-base-zip: package-win32-base
982
# Create package 
983
	rm -f -- vlc-$(VERSION)-win32.zip
984
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
985

986 987 988 989 990
package-win32-base-debug-zip: package-win32-base-debug
# Create package
	rm -f -- vlc-$(VERSION)-win32-debug.zip
	zip -r -9 vlc-$(VERSION)-win32-debug.zip vlc-$(VERSION)

991 992
package-win32-base-7zip: package-win32-base
# Create package 
993
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
994

995 996 997 998
package-win32-base-debug-7zip: package-win32-base-debug
# Create package
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32-debug.7z vlc-$(VERSION)

999
package-win32-cleanup:
1000
	rm -Rf $(win32_destdir)
1001
	rm -Rf $(win32_debugdir)
1002

1003
package-win32-exe: package-win32-base package-win32-base-exe package-win32-cleanup
1004

1005
package-win32-zip: package-win32-base-zip package-win32-cleanup
1006

1007
package-win32-debug-zip: package-win32-base-debug-zip package-win32-cleanup
1008

1009 1010 1011
package-win32-7zip: package-win32-base-7zip package-win32-cleanup

package-win32-debug-7zip: package-win32-base-debug-7zip package-win32-cleanup
1012

1013
package-win32-no-clean: package-win32-base-zip package-win32-base-7zip package-win32-base-exe 
1014

1015
package-win32: package-win32-no-clean package-win32-cleanup
1016

1017
package-win32-debug: package-win32-base-debug-zip package-win32-base-debug-7zip package-win32-cleanup
1018

1019 1020 1021
#######
# WinCE
#######
1022
package-wince-base: package-win-common-strip
1023

1024
package-wince-base-zip: package-wince-base
1025
# Create package 
1026 1027
	rm -f -- vlc-$(VERSION)-wince.zip
	zip -r -9 vlc-$(VERSION)-wince.zip vlc-$(VERSION)
1028

1029
package-wince: package-wince-base-zip package-win32-cleanup
1030 1031


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

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

# Create debug package
1050 1051 1052
	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)
1053
	(cd $(srcdir)/tmp && zip -9 -r vlc-$(VERSION)-BeOS-debug.zip vlc-$(VERSION) )
1054 1055
	mv $(srcdir)/tmp/vlc-$(VERSION)-BeOS-debug.zip $(srcdir)/
	mv $(srcdir)/tmp/vlc-$(VERSION) $(srcdir)/tmp/vlc
1056

1057
# Create normal package
1058
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc
1059
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
1060 1061 1062 1063
	  --strip-debug --strip-unneeded "{}" \;
	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)
1064
	(cd $(srcdir)/tmp &&  zip -9 -r vlc-$(VERSION)-BeOS.zip vlc-$(VERSION) )
1065
	mv $(srcdir)/tmp/vlc-$(VERSION)-BeOS.zip $(srcdir)/
1066

1067
# Clean up
1068
	rm -Rf $(srcdir)/tmp
1069

1070 1071 1072
#########################################################################
## MacOS X                                                             ##
#########################################################################
1073
package-macosx: VLC-release.app ChangeLog
1074
# Check that the temporary location isn't in the way
1075 1076
	@if test -e "$(top_builddir)/vlc-$(VERSION)/"; then \
	  rm -Rf "$(top_builddir)/vlc-$(VERSION)/" ; \
1077 1078
	fi

1079 1080
	echo "Create package directory: vlc-$(VERSION)/";
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/";
1081

1082
# Copy relevant files 
1083
	@if test -e "$(top_builddir)/VLC-release.app/"; then \
1084
	  cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
1085
	else \
1086
	  cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
1087
	fi
1088
	mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies/ && \