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

297 298

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

Gildas Bazin's avatar
 
Gildas Bazin committed
311
dist-hook:
312
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
313

314 315 316 317
###############################################################################
# Building libvlc
###############################################################################

318
noinst_SCRIPTS = vlc-config
319
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
320 321
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
322
	touch $@
323

324 325
vlc-config.in: vlc-config.in.in
	./config.status --recheck
326
	touch $@
327

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
328
CLEANFILES = $(BUILT_SOURCES_clean)
329 330
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
MAINTAINERCLEANFILES = ChangeLog
331

332 333 334 335
# 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
libvlc:
336
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
337

338 339
core: libvlc
	cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT)
340

341 342 343 344
doc:
	cd doc && $(MAKE) $(AM_MAKEFLAGS) doc

.PHONY: libvlc core doc
345

Christophe Mutricy's avatar
Christophe Mutricy committed
346 347
#To get some nice output
nice:
Christophe Mutricy's avatar
Christophe Mutricy committed
348
	$(top_builddir)/compile
Christophe Mutricy's avatar
Christophe Mutricy committed
349

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

376 377 378 379
###############################################################################
# Building aliases
###############################################################################

380
ALL_ALIASES = cvlc rvlc svlc wxvlc qvlc nvlc mvlc
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
381
bin_SCRIPTS = $(ALIASES)
382
CLEANFILES += $(ALIASES) $(noinst_SCRIPTS)
383 384 385 386
EXTRA_SCRIPTS = $(ALL_ALIASES)

dist_noinst_SCRIPTS += make-alias

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

389
cvlc: make-alias Makefile
390 391
	$(MKALIAS) dummy

392
rvlc: make-alias Makefile
393 394
	$(MKALIAS) rc

395
svlc: make-alias Makefile
396 397
	$(MKALIAS) skins2

398
wxvlc: make-alias Makefile
399 400
	$(MKALIAS) wx

401
qvlc: make-alias Makefile
402 403
	$(MKALIAS) qt4

404
nvlc: make-alias Makefile
405
	$(MKALIAS) ncurses
406

407
mvlc: make-alias Makefile
408 409
	$(MKALIAS) maemo

410
if BUILD_VLC
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
411
noinst_SCRIPTS += vlc$(EXEEXT)
412
endif
413

414 415
vlc$(EXEEXT):
	ln -sf bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
416

417
if HAVE_DARWIN
418
if BUILD_VLC
419
# Create the MacOS X app
420
noinst_DATA = VLC.app
421
endif
422 423
endif

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

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

685 686 687 688 689
###############################################################################
# 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
690
# the same setup as the maintaner(s).
691
#
692

693 694 695
############################################################################
## Win                                                                    ##
############################################################################
696
win32_destdir=$(top_builddir)/vlc-$(VERSION)
697 698 699
win32_debugdir=$(top_builddir)/symbols-$(VERSION)
npvlc=vlc-$(VERSION)/mozilla/npvlc$(LIBEXT)
axvlc=vlc-$(VERSION)/activex/axvlc$(LIBEXT)
700 701 702
win32_lua_destdir=$(win32_destdir)/lua
win32_http_destdir=$(win32_destdir)/http

703
#Win-common if for win32 and wince
704
package-win-common:
705
# Check that tmp isn't in the way
706 707
	@if test -e "$(win32_destdir)"; then \
	  echo "Error: please remove $(win32_destdir), it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
708
	  false; \
709
	else \
710
	  echo "OK."; mkdir -p "$(win32_destdir)"; \
711
	fi
712

713
# Copy relevant files
714
# Copy executables and libs
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
715
	cp "$(top_builddir)/bin/.libs/vlc$(EXEEXT)" "$(win32_destdir)/"
716
	cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win32_destdir)/"
717
		cp "$(top_srcdir)/extras/package/win32/libvlc.dll.manifest" "$(win32_destdir)/"
718 719
	cp "$(top_builddir)/src/.libs/libvlccore$(LIBEXT)" "$(win32_destdir)/"
	cp "$(top_builddir)/src/.libs/libvlc$(LIBEXT)" "$(win32_destdir)/"
720

721
# Copy Text files
722
	for file in AUTHORS MAINTAINERS THANKS ; \
723
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(win32_destdir)/$${file}.txt" ; done;
Christophe Mutricy's avatar
Christophe Mutricy committed
724
	for file in NEWS COPYING README; \
725
	  do cp "$(srcdir)/$$file" "$(win32_destdir)/$${file}.txt"; done
726
	unix2dos "$(win32_destdir)/"*.txt || echo "WARNING: this shouldn't happen"
Gildas Bazin's avatar
 
Gildas Bazin committed
727

728
# Necessary icons
729
	cp $(srcdir)/share/vlc.ico $(win32_destdir)/
730 731

# Copy the locales
732
	mkdir -p $(win32_destdir)/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
733
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
734
	  mkdir -p "$(win32_destdir)/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
735
	  cp "$(srcdir)/po/$${i}.gmo" \
736
	    "$(win32_destdir)/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
737
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
738
	done
739 740
	mkdir -p $(win32_destdir)/locale/qt4/
	cp $(QT4LOCALEDIR)/*.qm $(win32_destdir)/locale/qt4/ || true
Gildas Bazin's avatar
 
Gildas Bazin committed
741

742
#  Mozilla plugin
Gildas Bazin's avatar
 
Gildas Bazin committed
743
if BUILD_MOZILLA
744 745
	mkdir -p "$(win32_destdir)/mozilla"
	cp $(top_builddir)/projects/mozilla/.libs/npvlc$(LIBEXT) $(win32_destdir)/mozilla/
746
	cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_destdir)/mozilla/
Gildas Bazin's avatar
 
Gildas Bazin committed
747 748
endif

749
# ActiveX plugin
750
if BUILD_ACTIVEX
751 752 753 754
	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/*
755

756
	cp $(top_builddir)/projects/activex/.libs/axvlc$(LIBEXT) $(win32_destdir)/activex/
757
	cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir)/activex/
758
endif
759

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

765 766
package-win32-base-debug: package-win-common
# Copy relevant files
767
# Script installer
768
	cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/"
769 770
	mkdir "$(win32_destdir)/languages"
	cp $(srcdir)/extras/package/win32/languages/*.nsh "$(win32_destdir)/languages/"
771

772
# Plugins
773
	mkdir -p "$(win32_destdir)/plugins"
Christophe Mutricy's avatar
Christophe Mutricy committed
774
	find modules/ -name '*_plugin$(LIBEXT)' | while read i; do \
775
	  if test -n "$$i" ; then \
776
	    $(INSTALL) "$$i" "vlc-$(VERSION)/plugins/" ; \
777 778
	  fi ; done

779
# Contrib *.dll's
780
	cp $(srcdir)/extras/contrib/lib/*.dll "vlc-$(VERSION)/" || true
781

782 783
# Copy the lua scripts (HTTP)
if BUILD_LUA
784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 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/
	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
806
endif
807

808
if BUILD_LUA
809
#Lua Scripts
810 811 812 813
	$(INSTALL) -d $(win32_lua_destdir)
	for i in $(srcdir)/share/lua/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/`basename $${i}` ; \
	done
814
	$(INSTALL) -d $(win32_lua_destdir)/playlist
815
	for i in $(srcdir)/share/lua/playlist/*.* ; do \
816
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/playlist/`basename $${i}` ; \
817
	done
818
	$(INSTALL) -d $(win32_lua_destdir)/meta
819
	for i in $(srcdir)/share/lua/meta/*.* ; do \
820
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/`basename $${i}` ; \
821
	done
822
	$(INSTALL) -d $(win32_lua_destdir)/intf
823
	for i in $(srcdir)/share/lua/intf/*.* ; do \
824
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/`basename $${i}` ; \
825
	done
826
	$(INSTALL) -d $(win32_lua_destdir)/intf/modules
827
	for i in $(srcdir)/share/lua/intf/modules/*.* ; do \
828
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/modules/`basename $${i}` ; \
829 830 831 832 833
	done
endif

# Copy the http files
if BUILD_HTTPD
834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869
	mkdir -p "$(win32_http_destdir)/images"
	mkdir -p "$(win32_http_destdir)/requests"
	mkdir -p "$(win32_http_destdir)/js"
	mkdir -p "$(win32_http_destdir)/dialogs"
	mkdir -p "$(win32_http_destdir)/old"
	mkdir -p "$(win32_http_destdir)/old/vlm"
	mkdir -p "$(win32_http_destdir)/old/admin"
	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

	cp $(srcdir)/share/http/old/*.html $(win32_http_destdir)/old/
	unix2dos $(win32_http_destdir)/old/*.html
	cp $(srcdir)/share/http/old/*.css $(win32_http_destdir)/old/
	cp $(srcdir)/share/http/old/.hosts $(win32_http_destdir)/old/
	cp $(srcdir)/share/http/old/*.png $(win32_http_destdir)/old/
	cp $(srcdir)/share/http/old/vlm/*.html $(win32_http_destdir)/old/vlm/
	unix2dos $(win32_http_destdir)/old/vlm/*.html
	cp $(srcdir)/share/http/old/admin/*.html $(win32_http_destdir)/old/admin/
	unix2dos $(win32_http_destdir)/old/admin/*.html
	cp $(srcdir)/share/http/old/admin/.access $(win32_http_destdir)/old/admin/
870 871 872 873
endif

if BUILD_SKINS
# Skins
874
	mkdir -p $(win32_destdir)/skins/fonts
875
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
876
	  cp -- "$$i" $(win32_destdir)/skins/fonts/ || true ; \
877
	done
878
	for i in $(top_builddir)/share/skins2/*.*; do \
879
	  cp -- "$$i" $(win32_destdir)/skins/ || true ; \
880
	done
881 882
	cp -- $(srcdir)/share/skins2/skin.catalog $(win32_destdir)/skins/ || true ;
	cp -- $(srcdir)/share/skins2/skin.dtd $(win32_destdir)/skins/ || true ;
883
endif
884

885
if BUILD_OSDMENU
886
#OSD Menu
887 888
	mkdir -p "$(win32_destdir)/osdmenu"
	cp $(srcdir)/share/osdmenu/*.* "$(win32_destdir)/osdmenu"
889
	for dir in default default/selected default/selection default/volume ;do \
890
		mkdir -p "$(win32_destdir)/osdmenu/$$dir"; \
891
		for file in $(srcdir)/share/osdmenu/$${dir}/*.png;do \
892
			 cp -- "$$file" "$(win32_destdir)/osdmenu/$$dir"; \
893 894
		done; \
	done
895 896
	unix2dos $(win32_destdir)/osdmenu/*.cfg;
	for file in $(win32_destdir)/osdmenu/*.cfg; do \
897 898 899
		sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
		sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
		rm -f -- "$$file.tmp"; \
900
	done
901
endif
902

903
# SDK
904 905
	mkdir -p "$(win32_destdir)/sdk.tmp"
	mkdir -p "$(win32_destdir)/sdk"
906 907 908 909 910 911 912
	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

913
#strip exe and main dll
914
package-win-common-strip: package-win32-base-debug
915 916 917 918 919 920
	@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
921
	for i in "" vlc-$(VERSION)/*$(LIBEXT) ; \
922 923 924 925 926 927 928
      do if test -n "$$i" ; then \
      $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
      $(OBJCOPY) --strip-debug "$$i" ; \
      $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
	  mv "$$i.dbg" "$(win32_debugdir)"; \
    fi; done

929
if BUILD_MOZILLA
930 931 932 933
	$(OBJCOPY) --only-keep-debug "$(npvlc)" "$(npvlc).dbg"
	$(OBJCOPY) --strip-debug "$(npvlc)"
	$(OBJCOPY) --add-gnu-debuglink="$(npvlc).dbg" "$(npvlc)"
	mv "$(npvlc).dbg" "$(win32_debugdir)"
934 935
endif
if BUILD_ACTIVEX
936 937 938 939
	$(OBJCOPY) --only-keep-debug "$(axvlc)" "$(axvlc).dbg"
	$(OBJCOPY) --strip-debug "$(axvlc)"
	$(OBJCOPY) --add-gnu-debuglink="$(axvlc).dbg" "$(axvlc)"
	mv "$(axvlc).dbg" "$(win32_debugdir)"
940 941
endif

942
#strip all plugins dll
943
package-win32-base: package-win-common-strip
944
	for i in "" $(win32_destdir)/plugins/*$(LIBEXT) ; \
945 946 947 948 949 950
	  do if test -n "$$i" ; then \
	  $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
	  $(OBJCOPY) --strip-debug "$$i" ; \
	  $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
	  mv "$$i.dbg" "$(win32_debugdir)"; \
	fi ; done
951

952
package-win32-base-exe: package-win32-base
953
# Create package
954
	rm -Rf $(win32_destdir)/sdk
955
	if makensis -VERSION >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
956
	    MAKENSIS="makensis"; \
957
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
958
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
959
	elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
960
	    MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
Rafaël Carré's avatar
typo  
Rafaël Carré committed
961
	elif wine --version >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
962
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
963 964 965
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
966
	eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
967

968
package-win32-base-zip: package-win32-base
969
# Create package 
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
970
	rm -f -- vlc-$(VERSION)-win32.zip
971
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
972

973 974 975 976 977
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)

978 979
package-win32-base-7zip: package-win32-base
# Create package 
980
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
981

982 983 984 985
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
986 987
package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
988
	rm -Rf $(win32_destdir)
989

990
package-win32-zip: package-win32-base-zip
Gildas Bazin's avatar
 
Gildas Bazin committed
991
# Clean up
992
	rm -Rf $(win32_destdir)
Gildas Bazin's avatar
 
Gildas Bazin committed
993

994 995 996 997
package-win32-debug-zip: package-win32-base-debug-zip
# Clean up
	rm -Rf $(win32_destdir)

998 999
package-win32-7zip: package-win32-base-7zip
# Clean up
1000
	rm -Rf $(win32_destdir)
1001

1002 1003 1004 1005
package-win32-debug-7zip: package-win32-base-debug-7zip
# Clean up
	rm -Rf $(win32_destdir)

1006
package-win32-no-clean: package-win32-base-zip package-win32-base-7zip package-win32-base-exe 
1007 1008

package-win32: package-win32-no-clean
1009
# Clean up
1010
	rm -Rf $(win32_destdir)
1011

1012 1013 1014 1015
package-win32-debug: package-win32-base-debug-zip package-win32-base-debug-7zip
# Clean up
	rm -Rf $(win32_destdir)

1016
package-wince-base: package-win-common package-win-common-strip
1017 1018 1019

package-wince-base-zip:
# Create package 
1020
	zip -r vlc-$(VERSION)-wince.zip vlc-$(VERSION)
1021 1022 1023

package-wince: package-wince-base  package-wince-base-zip
# Clean up
1024
	rm -Rf $(win32_destdir)
1025 1026


1027 1028 1029
#####################################################################
##   BeOS                                                          ##
#####################################################################
1030 1031
package-beos:
# Check that tmp isn't in the way