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

5 6 7
# SUBDIRS stores the directories where a "make" is required when building
# something. DIST_SUBDIRS stores the directories where nothing is built but
# which have makefiles with distribution information.
8 9
#  - src (libvlc) is nedeed by modules, mozilla and bindings
#  - libs/* are needed by modules
10
BASE_SUBDIRS = po compat src bin modules share doc test
11
EXTRA_SUBDIRS = m4 extras/package/ipkg \
12
	libs/loader libs/srtp libs/unzip \
13
	projects/mozilla projects/activex
14
DIST_SUBDIRS = $(BASE_SUBDIRS) $(EXTRA_SUBDIRS)
15

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

39 40 41
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
42
	INSTALL.wince \
43
	extras/package/win32/vlc.exe.manifest \
44
	extras/package/win32/libvlc.dll.manifest \
45
	extras/package/macosx/README.MacOSX.rtf \
Sam Hocevar's avatar
Sam Hocevar committed
46
	vlc-config.in.in \
47 48
	extras/package/rpm/vlc.fedora.spec \
	extras/package/rpm/vlc.altlinux.spec \
49
	extras/package/win32/vlc.win32.nsi.in \
50
	extras/package/win32/spad.nsi.in \
51 52 53
	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 extras/package/win32/spad.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 \
71 72 73
	--disable-a52 \
	--disable-avcodec --disable-avformat \
	--disable-postproc --disable-swscale \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
74
	--disable-dbus \
75 76
	--disable-mad --disable-libmpeg2 \
	--disable-faad --disable-skins2 \
77
	--disable-live555 \
78
	--disable-fribidi --disable-glx
79

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

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

94 95 96 97 98
###############################################################################
# MacOS X project
###############################################################################

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

289 290

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

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

306 307 308 309
###############################################################################
# Building libvlc
###############################################################################

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

316 317
vlc-config.in: vlc-config.in.in
	./config.status --recheck
318
	touch $@
319

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

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

libvlc: libcompat
331
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
332

333 334
core: libvlc
	cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT)
335

336 337 338 339
doc:
	cd doc && $(MAKE) $(AM_MAKEFLAGS) doc

.PHONY: libvlc core doc
340

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

367 368 369 370
###############################################################################
# Building aliases
###############################################################################

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

dist_noinst_SCRIPTS += make-alias

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

380
cvlc: make-alias Makefile
381
	$(AM_V_GEN)$(MKALIAS) dummy
382

383
rvlc: make-alias Makefile
384
	$(AM_V_GEN)$(MKALIAS) rc
385

386
svlc: make-alias Makefile
387
	$(AM_V_GEN)$(MKALIAS) skins2
388

389
qvlc: make-alias Makefile
390
	$(AM_V_GEN)$(MKALIAS) qt4
391

392
nvlc: make-alias Makefile
393
	$(AM_V_GEN)$(MKALIAS) ncurses
394

395
mvlc: make-alias Makefile
396
	$(AM_V_GEN)$(MKALIAS) maemo
397

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

402
vlc$(EXEEXT):
403
	$(AM_V_GEN)ln -sf bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
404

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

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

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

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

663 664 665 666 667
###############################################################################
# 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
668
# the same setup as the maintaner(s).
669
#
670

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

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

699
# Copy relevant files
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
700
# Copy executables, major libs+manifests
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
701
	cp "$(top_builddir)/bin/.libs/vlc$(EXEEXT)" "$(win32_destdir)/"
702
	cp "$(top_builddir)/bin/.libs/vlc-cache-gen$(EXEEXT)" "$(win32_destdir)/"
703
	cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win32_destdir)/"
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
704
	cp "$(top_srcdir)/extras/package/win32/libvlc.dll.manifest" "$(win32_destdir)/"
705 706
	cp "$(top_builddir)/src/.libs/libvlccore$(LIBEXT)" "$(win32_destdir)/"
	cp "$(top_builddir)/src/.libs/libvlc$(LIBEXT)" "$(win32_destdir)/"
707

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

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

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

728
#  Mozilla plugin
Gildas Bazin's avatar
 
Gildas Bazin committed
729
if BUILD_MOZILLA
730 731
	mkdir -p "$(win32_destdir)/mozilla"
	cp $(top_builddir)/projects/mozilla/.libs/npvlc$(LIBEXT) $(win32_destdir)/mozilla/
732
	cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_destdir)/mozilla/
Gildas Bazin's avatar
 
Gildas Bazin committed
733 734
endif

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

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

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

770 771
package-win32-base-debug: package-win-common
# Copy relevant files
772
# Script installer
773
	cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/"
774
	cp "$(top_builddir)/extras/package/win32/spad.nsi" "$(win32_destdir)/"
775 776
	mkdir "$(win32_destdir)/languages"
	cp $(srcdir)/extras/package/win32/languages/*.nsh "$(win32_destdir)/languages/"
777

778
# Plugins
779
	mkdir -p "$(win32_destdir)/plugins"
Christophe Mutricy's avatar
Christophe Mutricy committed
780
	find modules/ -name '*_plugin$(LIBEXT)' | while read i; do \
781
	  if test -n "$$i" ; then \
782
	    $(INSTALL) "$$i" "vlc-$(VERSION)/plugins/" ; \
783 784
	  fi ; done

785 786 787 788 789 790 791
#Enable DEP and ASLR for all the binaries
if USE_PEFLAGS
	find $(win32_destdir) -type f -name '*.dll' -print -o -name '*.exe' -print | while read i; do \
	$(PEFLAGS) --dynamicbase=true --nxcompat=true "$$i" ; \
	done
endif

792
if BUILD_LUA
793
# Copy the lua scripts (HTTP)
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
806 807
	cp $(srcdir)/share/lua/http/*.lua $(win32_lua_destdir)/http/
	unix2dos $(win32_lua_destdir)/http/*.lua
808 809 810 811 812 813 814 815 816 817
	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
818

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

	unix2dos $(win32_lua_destdir)/README.txt
	unix2dos $(win32_lua_destdir)/extensions/README.txt
	unix2dos $(win32_lua_destdir)/intf/README.txt
	unix2dos $(win32_lua_destdir)/meta/art/README.txt
	unix2dos $(win32_lua_destdir)/meta/fetcher/README.txt
	unix2dos $(win32_lua_destdir)/meta/reader/README.txt
	unix2dos $(win32_lua_destdir)/playlist/README.txt
	unix2dos $(win32_lua_destdir)/sd/README.txt
869 870 871 872
endif

# Copy the http files
if BUILD_HTTPD
873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895
	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

896 897 898 899
endif

if BUILD_SKINS
# Skins
900
	mkdir -p $(win32_destdir)/skins/fonts
901
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
902
	  cp -- "$$i" $(win32_destdir)/skins/fonts/ || true ; \
903
	done
904
	for i in $(top_builddir)/share/skins2/*.*; do \
905
	  cp -- "$$i" $(win32_destdir)/skins/ || true ; \
906
	done
907 908
	cp -- $(srcdir)/share/skins2/skin.catalog $(win32_destdir)/skins/ || true ;
	cp -- $(srcdir)/share/skins2/skin.dtd $(win32_destdir)/skins/ || true ;
909
endif
910

911
if BUILD_OSDMENU
912
#OSD Menu
913 914
	mkdir -p "$(win32_destdir)/osdmenu"
	cp $(srcdir)/share/osdmenu/*.* "$(win32_destdir)/osdmenu"
915
	for dir in default default/selected default/selection default/volume ;do \
916
		mkdir -p "$(win32_destdir)/osdmenu/$$dir"; \
917
		for file in $(srcdir)/share/osdmenu/$${dir}/*.png;do \
918
			 cp -- "$$file" "$(win32_destdir)/osdmenu/$$dir"; \
919 920
		done; \
	done
921 922
	unix2dos $(win32_destdir)/osdmenu/*.cfg;
	for file in $(win32_destdir)/osdmenu/*.cfg; do \
923 924 925
		sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
		sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
		rm -f -- "$$file.tmp"; \
926
	done
927
endif
928

929
# SDK
930 931
	mkdir -p "$(win32_destdir)/sdk.tmp"
	mkdir -p "$(win32_destdir)/sdk"
932 933 934 935 936 937 938
	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

939
# Strip DLLs
940
package-win-common-strip: package-win32-base-debug
941
	for i in "" $(win32_destdir)/*$(LIBEXT) \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
942
	            $(win32_destdir)/*$(EXEEXT) \
943 944
	            $(win32_destdir)/activex/*$(LIBEXT) \
	            $(win32_destdir)/mozilla/*$(LIBEXT) \
945 946 947 948 949 950 951 952 953 954
	            $(win32_destdir)/plugins/*$(LIBEXT) \
	; do \
	  if test -n "$$i" ; then \
	    $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
	    $(OBJCOPY) --strip-all "$$i" ; \
	    $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
	    mv "$$i.dbg" "$(win32_debugdir)"; \
	  fi ; \
	done

955
package-win32-base: package-win-common-strip
956

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

974
package-win32-base-zip: package-win32-base
975
# Create package 
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
976
	rm -f -- vlc-$(VERSION)-win32.zip
977
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
978

979 980 981 982 983
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)

984 985
package-win32-base-7zip: package-win32-base
# Create package 
986
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
987

988 989 990 991
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)

992
package-win32-cleanup:
993
	rm -Rf $(win32_destdir)
Jean-Baptiste Kempf's avatar