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

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

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

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

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

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

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

69 70
SUFFIXES = 

71 72
DISTCHECK_CONFIGURE_FLAGS = \
	--enable-fast-install \
73 74 75
	--disable-a52 \
	--disable-avcodec --disable-avformat \
	--disable-postproc --disable-swscale \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
76
	--disable-dbus \
77 78
	--disable-mad --disable-libmpeg2 \
	--disable-faad --disable-skins2 \
79
	--disable-live555 \
80
	--disable-fribidi --disable-glx
81

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

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

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

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

291 292

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

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

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

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

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

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

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

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

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

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

.PHONY: libvlc core doc
342

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

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

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

dist_noinst_SCRIPTS += make-alias

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

757
prepare-win32-web-plugin: package-win-common-strip
Luca Barbato's avatar
Luca Barbato committed
758
	mkdir -p "$(win32_xpi_destdir)/plugins"
759
	cp $(win32_destdir)/mozilla/npvlc$(LIBEXT) \
Luca Barbato's avatar
Luca Barbato committed
760 761 762 763 764 765 766 767 768 769
		"$(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
770
	cp $(win32_destdir)/plugins/*$(LIBEXT) \
Luca Barbato's avatar
Luca Barbato committed
771
		"$(win32_xpi_destdir)/plugins/plugins"
772 773
	rm -rf "$(win32_xpi_destdir)/plugins/plugins/*qt*"
	rm -rf "$(win32_xpi_destdir)/plugins/plugins/*skins*"
774 775 776 777 778 779 780 781 782 783
package-win32-xpi: prepare-win32-web-plugin
	cp $(top_builddir)/projects/mozilla/install.rdf "$(win32_xpi_destdir)"
	cd $(win32_xpi_destdir) && zip -r "../vlc-$(VERSION).xpi" \
					install.rdf plugins

package-win32-crx: prepare-win32-web-plugin
	cp $(top_builddir)/projects/mozilla/manifest.json "$(win32_xpi_destdir)"
	crxmake --pack-extension "$(win32_xpi_destdir)" \
		--extension-output "$(win32_destdir)/vlc-$(VERSION).crx" \
		--ignore-file install.rdf
Luca Barbato's avatar
Luca Barbato committed
784

785 786
package-win32-base-debug: package-win-common
# Copy relevant files
787
# Script installer
788
	cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/"
789
	cp "$(top_builddir)/extras/package/win32/spad.nsi" "$(win32_destdir)/"
790 791
	mkdir "$(win32_destdir)/languages"
	cp $(srcdir)/extras/package/win32/languages/*.nsh "$(win32_destdir)/languages/"
792

793
# Plugins
794
	mkdir -p "$(win32_destdir)/plugins"
Christophe Mutricy's avatar
Christophe Mutricy committed
795
	find modules/ -name '*_plugin$(LIBEXT)' | while read i; do \
796
	  if test -n "$$i" ; then \
797
	    $(INSTALL) "$$i" "vlc-$(VERSION)/plugins/" ; \
798 799
	  fi ; done

800 801 802 803 804 805 806
#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

807
if BUILD_LUA
808
# Copy the lua scripts (HTTP)
809 810 811 812 813
	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/
814
	$(U2D) $(win32_lua_destdir)/http/*.html
815
	cp $(srcdir)/share/lua/http/.hosts $(win32_lua_destdir)/http/
816
	$(U2D) $(win32_lua_destdir)/http/.hosts
817
	cp $(srcdir)/share/lua/http/*.css $(win32_lua_destdir)/http/
818
	$(U2D) $(win32_lua_destdir)/http/*.css
819
	cp $(srcdir)/share/lua/http/js/*.js $(win32_lua_destdir)/http/js/
820
	$(U2D) $(win32_lua_destdir)/http/js/*.js
821
	cp $(srcdir)/share/lua/http/*.lua $(win32_lua_destdir)/http/
822
	$(U2D) $(win32_lua_destdir)/http/*.lua
823
	cp $(srcdir)/share/lua/http/dialogs/* $(win32_lua_destdir)/http/dialogs/
824
	$(U2D) $(win32_lua_destdir)/http/dialogs/*
825
	cp $(srcdir)/share/lua/http/dialogs/.hosts $(win32_lua_destdir)/http/dialogs/
826
	$(U2D) $(win32_lua_destdir)/http/dialogs/.hosts
827 828 829
	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/
830
	$(U2D) $(win32_lua_destdir)/http/requests/*.xml
831
	cp $(srcdir)/share/lua/http/requests/readme $(win32_lua_destdir)/http/requests/readme.txt
832
	$(U2D) $(win32_lua_destdir)/http/requests/readme.txt
833

834
#Lua Scripts
835 836 837 838
	$(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
839
	$(INSTALL) -d $(win32_lua_destdir)/modules
840 841 842
	for i in $(srcdir)/share/lua/modules/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/modules/`basename $${i}` ; \
	done
843 844 845
	$(INSTALL) -d $(win32_lua_destdir)/extensions
	for i in $(srcdir)/share/lua/extensions/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/extensions/`basename $${i}` ; \
846
	done
847 848 849 850 851 852 853
	$(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}` ; \
854
	done
855
	$(INSTALL) -d $(win32_lua_destdir)/meta/art
856
	for i in $(srcdir)/share/lua/meta/art/*.* ; do \
857 858
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/art/`basename $${i}` ; \
	done
859 860 861 862
	$(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
863
	$(INSTALL) -d $(win32_lua_destdir)/meta/reader
864
	for i in $(srcdir)/share/lua/meta/reader/*.* ; do \
865
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/reader/`basename $${i}` ; \
866
	done
867 868 869
	$(INSTALL) -d $(win32_lua_destdir)/playlist
	for i in $(srcdir)/share/lua/playlist/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/playlist/`basename $${i}` ; \
870
	done
871 872 873
	$(INSTALL) -d $(win32_lua_destdir)/sd
	for i in $(srcdir)/share/lua/sd/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/sd/`basename $${i}` ; \
874
	done
875

876 877 878 879 880 881 882 883
	$(U2D) $(win32_lua_destdir)/README.txt
	$(U2D) $(win32_lua_destdir)/extensions/README.txt
	$(U2D) $(win32_lua_destdir)/intf/README.txt
	$(U2D) $(win32_lua_destdir)/meta/art/README.txt
	$(U2D) $(win32_lua_destdir)/meta/fetcher/README.txt
	$(U2D) $(win32_lua_destdir)/meta/reader/README.txt
	$(U2D) $(win32_lua_destdir)/playlist/README.txt
	$(U2D) $(win32_lua_destdir)/sd/README.txt
884 885 886 887
endif

# Copy the http files
if BUILD_HTTPD
888 889 890 891 892
	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)/
893
	$(U2D) $(win32_http_destdir)/*.html
894
	cp $(srcdir)/share/http/.hosts $(win32_http_destdir)/
895
	$(U2D) $(win32_http_destdir)/.hosts
896
	cp $(srcdir)/share/http/*.css $(win32_http_destdir)/
897
	$(U2D) $(win32_http_destdir)/*.css
898
	cp $(srcdir)/share/http/js/*.js $(win32_http_destdir)/js/
899
	$(U2D) $(win32_http_destdir)/js/*.js
900
	cp $(srcdir)/share/http/dialogs/* $(win32_http_destdir)/dialogs/
901
	$(U2D) $(win32_http_destdir)/dialogs/*
902
	cp $(srcdir)/share/http/dialogs/.hosts $(win32_http_destdir)/dialogs/
903
	$(U2D) $(win32_http_destdir)/dialogs/.hosts
904 905 906
	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/
907
	$(U2D) $(win32_http_destdir)/requests/*.xml
908
	cp $(srcdir)/share/http/requests/readme $(win32_http_destdir)/requests/readme.txt
909
	$(U2D) $(win32_http_destdir)/requests/readme.txt
910

911 912 913 914
endif

if BUILD_SKINS
# Skins
915
	mkdir -p $(win32_destdir)/skins/fonts
916
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
917
	  cp -- "$$i" $(win32_destdir)/skins/fonts/ || true ; \
918
	done
919
	for i in $(top_builddir)/share/skins2/*.*; do \
920
	  cp -- "$$i" $(win32_destdir)/skins/ || true ; \
921
	done
922 923
	cp -- $(srcdir)/share/skins2/skin.catalog $(win32_destdir)/skins/ || true ;
	cp -- $(srcdir)/share/skins2/skin.dtd $(win32_destdir)/skins/ || true ;
924
endif
925

926
if BUILD_OSDMENU
927
#OSD Menu
928 929
	mkdir -p "$(win32_destdir)/osdmenu"
	cp $(srcdir)/share/osdmenu/*.* "$(win32_destdir)/osdmenu"
930
	for dir in default default/selected default/selection default/volume ;do \
931
		mkdir -p "$(win32_destdir)/osdmenu/$$dir"; \
932
		for file in $(srcdir)/share/osdmenu/$${dir}/*.png;do \
933
			 cp -- "$$file" "$(win32_destdir)/osdmenu/$$dir"; \
934 935
		done; \
	done
936
	$(U2D) $(win32_destdir)/osdmenu/*.cfg;
937
	for file in $(win32_destdir)/osdmenu/*.cfg; do \
938 939 940
		sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
		sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
		rm -f -- "$$file.tmp"; \
941
	done
942
endif
943

944
# SDK
945 946
	mkdir -p "$(win32_destdir)/sdk.tmp"
	mkdir -p "$(win32_destdir)/sdk"
947 948 949 950 951 952 953
	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

954
# Strip DLLs
955
package-win-common-strip: package-win32-base-debug
956
	for i in "" $(win32_destdir)/*$(LIBEXT) \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
957
	            $(win32_destdir)/*$(EXEEXT) \
958 959
	            $(win32_destdir)/activex/*$(LIBEXT) \
	            $(win32_destdir)/mozilla/*$(LIBEXT) \
Pierre Ynard's avatar