Makefile.am 48 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 20 21 22
if LOADER
SUBDIRS += libs/loader
endif
if HAVE_LIBGCRYPT
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
	MAINTAINERS \
46
	extras/package/macosx/README.MacOSX.rtf \
Sam Hocevar's avatar
Sam Hocevar committed
47
	vlc-config.in.in \
48 49
	extras/package/rpm/vlc.fedora.spec \
	extras/package/rpm/vlc.altlinux.spec \
50 51 52 53
	extras/package/win32/vlc.win32.nsi.in \
	extras/package/win32/languages/declaration.nsh \
	extras/package/win32/languages/english.nsh \
	extras/package/win32/languages/french.nsh
54

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
55
dist_noinst_SCRIPTS = bootstrap toolbox
56
nodist_noinst_SCRIPTS = compile
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
57

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

65
BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
66

67 68
SUFFIXES = 

69 70
DISTCHECK_CONFIGURE_FLAGS = \
	--enable-fast-install \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
71
	--disable-dbus \
72
	--disable-dvd --disable-mad --disable-libmpeg2 \
73
	--disable-ffmpeg --disable-faad --disable-skins2 \
74
	--disable-live555 \
75
	--disable-fribidi --disable-glx
76

77
ACLOCAL_AMFLAGS = -I m4
78 79 80 81 82 83
AUTOMAKE_OPTIONS = \
	1.9 \
	-Wall \
	check-news \
	dist-bzip2 \
	no-dist-gzip
Christophe Mutricy's avatar
Christophe Mutricy committed
84
#	std-options
85

86 87
ChangeLog: Makefile.am
	rm -f -- "$@"
88
	cd doc && $(MAKE) $(AM_MAKEFLAGS) changelogs
89
	ln -sf doc/ChangeLog-2009 "$@"
90

91 92 93 94 95
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
96
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib \
97
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
98
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/designable.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
99
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/keyedobjects.nib \
100
	extras/package/macosx/Resources/English.lproj/About.nib/designable.nib \
101
	extras/package/macosx/Resources/English.lproj/About.nib/keyedobjects.nib \
102
	extras/package/macosx/Resources/English.lproj/Open.nib/designable.nib \
103
	extras/package/macosx/Resources/English.lproj/Open.nib/keyedobjects.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
104
	extras/package/macosx/Resources/English.lproj/Preferences.nib/designable.nib \
105
	extras/package/macosx/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
106
	extras/package/macosx/Resources/English.lproj/Wizard.nib/designable.nib \
107
	extras/package/macosx/Resources/English.lproj/Wizard.nib/keyedobjects.nib \
108
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/designable.nib \
109
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
110
	extras/package/macosx/Resources/English.lproj/Extended.nib/designable.nib \
111
	extras/package/macosx/Resources/English.lproj/Extended.nib/keyedobjects.nib \
112
	extras/package/macosx/Resources/English.lproj/Update.nib/designable.nib \
113
	extras/package/macosx/Resources/English.lproj/Update.nib/keyedobjects.nib \
114
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/designable.nib \
115
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/keyedobjects.nib \
116
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/designable.nib \
117
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/keyedobjects.nib \
118
	extras/package/macosx/Resources/English.lproj/InfoPlist.strings.in \
119 120
	extras/package/macosx/Resources/aiff.icns \
	extras/package/macosx/Resources/audio.icns \
121
	extras/package/macosx/Resources/avi.icns \
122
	extras/package/macosx/Resources/flv.icns \
123
	extras/package/macosx/Resources/generic.icns \
124 125 126
	extras/package/macosx/Resources/m4a.icns \
	extras/package/macosx/Resources/m4v.icns \
	extras/package/macosx/Resources/mkv.icns \
127
	extras/package/macosx/Resources/mov.icns \
128
	extras/package/macosx/Resources/movie.icns \
129 130 131
	extras/package/macosx/Resources/mp3.icns \
	extras/package/macosx/Resources/mpeg.icns \
	extras/package/macosx/Resources/ogg.icns \
132 133 134
	extras/package/macosx/Resources/playlist.icns \
	extras/package/macosx/Resources/rm.icns \
	extras/package/macosx/Resources/subtitle.icns \
135
	extras/package/macosx/Resources/vob.icns \
136 137
	extras/package/macosx/Resources/wav.icns \
	extras/package/macosx/Resources/vlc.icns \
138 139 140 141 142 143 144 145
	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
146 147 148
	extras/package/macosx/Resources/display_left.png \
	extras/package/macosx/Resources/display_middle.png \
	extras/package/macosx/Resources/display_right.png \
149 150 151 152 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
	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
216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
	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 \
235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
	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
257 258 259 260 261 262 263
	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 \
264 265 266 267 268 269 270 271 272 273
	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 \
274 275
	extras/package/macosx/plugin/Info.plist.in \
	extras/package/macosx/plugin/InstallerInfo.plist.in \
276 277
	extras/package/macosx/plugin/InstallerDescription.plist \
	extras/package/macosx/plugin/pbdevelopment.plist \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
278 279 280 281 282 283
	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 \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
284
	extras/package/macosx/README.MacOSX.rtf \
285
	extras/package/macosx/Info.plist.in
Felix Paul Kühne's avatar
Felix Paul Kühne committed
286

287 288

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

Gildas Bazin's avatar
 
Gildas Bazin committed
301
dist-hook:
302
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
303

304 305 306 307
###############################################################################
# Building libvlc
###############################################################################

308
noinst_SCRIPTS = vlc-config
309
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
310 311
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
312
	touch $@
313

314 315
vlc-config.in: vlc-config.in.in
	./config.status --recheck
316
	touch $@
317

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
318
CLEANFILES = $(BUILT_SOURCES_clean)
319 320
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
MAINTAINERCLEANFILES = ChangeLog
321

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

libvlc: libcompat
329
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
330

331 332
core: libvlc
	cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT)
333

334 335 336 337
doc:
	cd doc && $(MAKE) $(AM_MAKEFLAGS) doc

.PHONY: libvlc core doc
338

Christophe Mutricy's avatar
Christophe Mutricy committed
339 340
#To get some nice output
nice:
Christophe Mutricy's avatar
Christophe Mutricy committed
341
	$(top_builddir)/compile
Christophe Mutricy's avatar
Christophe Mutricy committed
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
Sam Hocevar's avatar
Sam Hocevar committed
355 356 357 358
	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/ ; \
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 ; \
Eric Petit's avatar
Eric Petit committed
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 384
	$(MKALIAS) dummy

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

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

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

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

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

400
if BUILD_VLC
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
401
noinst_SCRIPTS += vlc$(EXEEXT)
402
endif
403

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

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

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

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

661 662 663 664 665
###############################################################################
# Building architecture-specific binary packages
###############################################################################

# XXX: this rule is probably only useful to you if you have exactly
Christophe Mutricy's avatar
Christophe Mutricy committed
666
# the same setup as the maintaner(s).
667
#
668

669 670 671
############################################################################
## Win                                                                    ##
############################################################################
672
win32_destdir=$(top_builddir)/vlc-$(VERSION)
673 674 675
win32_debugdir=$(top_builddir)/symbols-$(VERSION)
npvlc=vlc-$(VERSION)/mozilla/npvlc$(LIBEXT)
axvlc=vlc-$(VERSION)/activex/axvlc$(LIBEXT)
676 677 678
win32_lua_destdir=$(win32_destdir)/lua
win32_http_destdir=$(win32_destdir)/http

679
#Win-common if for win32 and wince
680
package-win-common:
681
# Check that tmp isn't in the way
682 683
	@if test -e "$(win32_destdir)"; then \
	  echo "Error: please remove $(win32_destdir), it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
684
	  false; \
685
	else \
686
	  echo "OK."; mkdir -p "$(win32_destdir)"; \
687
	fi
688

689
# Copy relevant files
690
# Copy executables and libs
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
691
	cp "$(top_builddir)/bin/.libs/vlc$(EXEEXT)" "$(win32_destdir)/"
692
	cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win32_destdir)/"
693
		cp "$(top_srcdir)/extras/package/win32/libvlc.dll.manifest" "$(win32_destdir)/"
694 695
	cp "$(top_builddir)/src/.libs/libvlccore$(LIBEXT)" "$(win32_destdir)/"
	cp "$(top_builddir)/src/.libs/libvlc$(LIBEXT)" "$(win32_destdir)/"
696

697
# Copy Text files
698
	for file in AUTHORS MAINTAINERS THANKS ; \
699
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(win32_destdir)/$${file}.txt" ; done;
Christophe Mutricy's avatar
Christophe Mutricy committed
700
	for file in NEWS COPYING README; \
701
	  do cp "$(srcdir)/$$file" "$(win32_destdir)/$${file}.txt"; done
702
	unix2dos "$(win32_destdir)/"*.txt || echo "WARNING: this shouldn't happen"
Gildas Bazin's avatar
 
Gildas Bazin committed
703

704
# Necessary icons
705
	cp $(srcdir)/share/vlc.ico $(win32_destdir)/
706 707

# Copy the locales
708
	mkdir -p $(win32_destdir)/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
709
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
710
	  mkdir -p "$(win32_destdir)/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
711
	  cp "$(srcdir)/po/$${i}.gmo" \
712
	    "$(win32_destdir)/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
713
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
714
	done
715 716
	mkdir -p $(win32_destdir)/locale/qt4/
	cp $(QT4LOCALEDIR)/*.qm $(win32_destdir)/locale/qt4/ || true
Gildas Bazin's avatar
 
Gildas Bazin committed
717

718
#  Mozilla plugin
Gildas Bazin's avatar
 
Gildas Bazin committed
719
if BUILD_MOZILLA
720 721
	mkdir -p "$(win32_destdir)/mozilla"
	cp $(top_builddir)/projects/mozilla/.libs/npvlc$(LIBEXT) $(win32_destdir)/mozilla/
722
	cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_destdir)/mozilla/
Gildas Bazin's avatar
 
Gildas Bazin committed
723 724
endif

725
# ActiveX plugin
726
if BUILD_ACTIVEX
727 728 729 730
	mkdir -p "$(win32_destdir)/activex"
	cp $(srcdir)/projects/activex/README.TXT  $(win32_destdir)/activex/
	cp $(srcdir)/projects/activex/test.html  $(win32_destdir)/activex/
	unix2dos $(win32_destdir)/activex/*
731

732
	cp $(top_builddir)/projects/activex/.libs/axvlc$(LIBEXT) $(win32_destdir)/activex/
733
	cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir)/activex/
734
endif
735

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

741 742
package-win32-base-debug: package-win-common
# Copy relevant files
743
# Script installer
744
	cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/"
745 746
	mkdir "$(win32_destdir)/languages"
	cp $(srcdir)/extras/package/win32/languages/*.nsh "$(win32_destdir)/languages/"
747

748
# Plugins
749
	mkdir -p "$(win32_destdir)/plugins"
Christophe Mutricy's avatar
Christophe Mutricy committed
750
	find modules/ -name '*_plugin$(LIBEXT)' | while read i; do \
751
	  if test -n "$$i" ; then \
752
	    $(INSTALL) "$$i" "vlc-$(VERSION)/plugins/" ; \
753 754
	  fi ; done

755
# Contrib *.dll's
756
	cp $(srcdir)/extras/contrib/lib/*.dll "vlc-$(VERSION)/" || true
757

758 759
# Copy the lua scripts (HTTP)
if BUILD_LUA
760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781
	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/
	unix2dos $(win32_lua_destdir)/http/*.html
	cp $(srcdir)/share/lua/http/.hosts $(win32_lua_destdir)/http/
	unix2dos $(win32_lua_destdir)/http/.hosts
	cp $(srcdir)/share/lua/http/*.css $(win32_lua_destdir)/http/
	unix2dos $(win32_lua_destdir)/http/*.css
	cp $(srcdir)/share/lua/http/js/*.js $(win32_lua_destdir)/http/js/
	unix2dos $(win32_lua_destdir)/http/js/*.js
	cp $(srcdir)/share/lua/http/dialogs/* $(win32_lua_destdir)/http/dialogs/
	unix2dos $(win32_lua_destdir)/http/dialogs/*
	cp $(srcdir)/share/lua/http/dialogs/.hosts $(win32_lua_destdir)/http/dialogs/
	unix2dos $(win32_lua_destdir)/http/dialogs/.hosts
	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/
	unix2dos $(win32_lua_destdir)/http/requests/*.xml
	cp $(srcdir)/share/lua/http/requests/readme $(win32_lua_destdir)/http/requests/readme.txt
	unix2dos $(win32_lua_destdir)/http/requests/readme.txt
782
endif
783

784
if BUILD_LUA
785
#Lua Scripts
786 787 788 789
	$(INSTALL) -d $(win32_lua_destdir)
	for i in $(srcdir)/share/lua/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/`basename $${i}` ; \
	done
790
	$(INSTALL) -d $(win32_lua_destdir)/playlist
791
	for i in $(srcdir)/share/lua/playlist/*.* ; do \
792
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/playlist/`basename $${i}` ; \
793
	done
794
	$(INSTALL) -d $(win32_lua_destdir)/meta
795
	for i in $(srcdir)/share/lua/meta/*.* ; do \
796
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/`basename $${i}` ; \
797
	done
798
	$(INSTALL) -d $(win32_lua_destdir)/intf
799
	for i in $(srcdir)/share/lua/intf/*.* ; do \
800
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/`basename $${i}` ; \
801
	done
802
	$(INSTALL) -d $(win32_lua_destdir)/intf/modules
803
	for i in $(srcdir)/share/lua/intf/modules/*.* ; do \
804
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/modules/`basename $${i}` ; \
805 806 807 808 809
	done
endif

# Copy the http files
if BUILD_HTTPD
810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832
	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)/
	unix2dos $(win32_http_destdir)/*.html
	cp $(srcdir)/share/http/.hosts $(win32_http_destdir)/
	unix2dos $(win32_http_destdir)/.hosts
	cp $(srcdir)/share/http/*.css $(win32_http_destdir)/
	unix2dos $(win32_http_destdir)/*.css
	cp $(srcdir)/share/http/js/*.js $(win32_http_destdir)/js/
	unix2dos $(win32_http_destdir)/js/*.js
	cp $(srcdir)/share/http/dialogs/* $(win32_http_destdir)/dialogs/
	unix2dos $(win32_http_destdir)/dialogs/*
	cp $(srcdir)/share/http/dialogs/.hosts $(win32_http_destdir)/dialogs/
	unix2dos $(win32_http_destdir)/dialogs/.hosts
	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/
	unix2dos $(win32_http_destdir)/requests/*.xml
	cp $(srcdir)/share/http/requests/readme $(win32_http_destdir)/requests/readme.txt
	unix2dos $(win32_http_destdir)/requests/readme.txt

833 834 835 836
endif

if BUILD_SKINS
# Skins
837
	mkdir -p $(win32_destdir)/skins/fonts
838
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
839
	  cp -- "$$i" $(win32_destdir)/skins/fonts/ || true ; \
840
	done
841
	for i in $(top_builddir)/share/skins2/*.*; do \
842
	  cp -- "$$i" $(win32_destdir)/skins/ || true ; \
843
	done
844 845
	cp -- $(srcdir)/share/skins2/skin.catalog $(win32_destdir)/skins/ || true ;
	cp -- $(srcdir)/share/skins2/skin.dtd $(win32_destdir)/skins/ || true ;
846
endif
847

848
if BUILD_OSDMENU
849
#OSD Menu
850 851
	mkdir -p "$(win32_destdir)/osdmenu"
	cp $(srcdir)/share/osdmenu/*.* "$(win32_destdir)/osdmenu"
852
	for dir in default default/selected default/selection default/volume ;do \
853
		mkdir -p "$(win32_destdir)/osdmenu/$$dir"; \
854
		for file in $(srcdir)/share/osdmenu/$${dir}/*.png;do \
855
			 cp -- "$$file" "$(win32_destdir)/osdmenu/$$dir"; \
856 857
		done; \
	done
858 859
	unix2dos $(win32_destdir)/osdmenu/*.cfg;
	for file in $(win32_destdir)/osdmenu/*.cfg; do \
860 861 862
		sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
		sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
		rm -f -- "$$file.tmp"; \
863
	done
864
endif
865

866
# SDK
867 868
	mkdir -p "$(win32_destdir)/sdk.tmp"
	mkdir -p "$(win32_destdir)/sdk"
869 870 871 872 873 874 875
	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

876
#strip exe and main dll
877
package-win-common-strip: package-win32-base-debug
878 879 880 881 882 883
	@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
884
	for i in "" vlc-$(VERSION)/*$(LIBEXT) ; \
885 886
      do if test -n "$$i" ; then \
      $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
887
      $(OBJCOPY) --strip-all "$$i" ; \
888 889 890 891
      $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
	  mv "$$i.dbg" "$(win32_debugdir)"; \
    fi; done

892
#strip all plugins dll
893
package-win32-base: package-win-common-strip
894
	for i in "" $(win32_destdir)/plugins/*$(LIBEXT) ; \
895 896
	  do if test -n "$$i" ; then \
	  $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
897
	  $(OBJCOPY) --strip-all "$$i" ; \
898 899 900
	  $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
	  mv "$$i.dbg" "$(win32_debugdir)"; \
	fi ; done
901

902
package-win32-base-exe: package-win32-base
903
# Create package
904
	rm -Rf $(win32_destdir)/sdk
905
	if makensis -VERSION >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
906
	    MAKENSIS="makensis"; \
907
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
908
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
909
	elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
910
	    MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
Rafaël Carré's avatar
typo  
Rafaël Carré committed
911
	elif wine --version >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
912
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
913 914 915
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
916
	eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
917

918
package-win32-base-zip: package-win32-base
919
# Create package 
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
920
	rm -f -- vlc-$(VERSION)-win32.zip
921
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
922

923 924 925 926 927
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)

928 929
package-win32-base-7zip: package-win32-base
# Create package 
930
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
931

932 933 934 935
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)

Gildas Bazin's avatar
 
Gildas Bazin committed
936 937
package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
938
	rm -Rf $(win32_destdir)
939

940
package-win32-zip: package-win32-base-zip
Gildas Bazin's avatar
 
Gildas Bazin committed
941
# Clean up
942
	rm -Rf $(win32_destdir)
Gildas Bazin's avatar
 
Gildas Bazin committed
943

944 945 946 947
package-win32-debug-zip: package-win32-base-debug-zip
# Clean up
	rm -Rf $(win32_destdir)

948 949
package-win32-7zip: package-win32-base-7zip
# Clean up
950
	rm -Rf $(win32_destdir)
951

952 953 954 955
package-win32-debug-7zip: package-win32-base-debug-7zip
# Clean up
	rm -Rf $(win32_destdir)

956
package-win32-no-clean: package-win32-base-zip package-win32-base-7zip package-win32-base-exe 
957 958

package-win32: package-win32-no-clean
959
# Clean up
960
	rm -Rf $(win32_destdir)
961

962 963 964 965
package-win32-debug: package-win32-base-debug-zip package-win32-base-debug-7zip
# Clean up
	rm -Rf $(win32_destdir)

966
package-wince-base: package-win-common package-win-common-strip
967 968 969

package-wince-base-zip:
# Create package 
970
	zip -r vlc-$(VERSION)-wince.zip vlc-$(VERSION)
971 972 973

package-wince: package-wince-base  package-wince-base-zip
# Clean up
974
	rm -Rf $(win32_destdir)
975 976


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