Makefile.am 50.3 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 \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
71
	--disable-dbus \
72
	--disable-dvd --disable-mad --disable-libmpeg2 \
73
	--disable-ffmpeg --disable-faad --disable-skins2 \
74
	--disable-live555 \
75
	--disable-fribidi --disable-glx
76

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

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

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

EXTRA_DIST += \
96
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib \
97
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
98
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/designable.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
99
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/keyedobjects.nib \
100
	extras/package/macosx/Resources/English.lproj/About.nib/designable.nib \
101
	extras/package/macosx/Resources/English.lproj/About.nib/keyedobjects.nib \
102
	extras/package/macosx/Resources/English.lproj/Open.nib/designable.nib \
103
	extras/package/macosx/Resources/English.lproj/Open.nib/keyedobjects.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
104
	extras/package/macosx/Resources/English.lproj/Preferences.nib/designable.nib \
105
	extras/package/macosx/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
106
	extras/package/macosx/Resources/English.lproj/Wizard.nib/designable.nib \
107
	extras/package/macosx/Resources/English.lproj/Wizard.nib/keyedobjects.nib \
108
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/designable.nib \
109
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
110
	extras/package/macosx/Resources/English.lproj/Extended.nib/designable.nib \
111
	extras/package/macosx/Resources/English.lproj/Extended.nib/keyedobjects.nib \
112
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/designable.nib \
113
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/keyedobjects.nib \
114
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/designable.nib \
115
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/keyedobjects.nib \
116
	extras/package/macosx/Resources/English.lproj/InfoPlist.strings.in \
117
	extras/package/macosx/Resources/dsa_pub.pem \
118 119
	extras/package/macosx/Resources/aiff.icns \
	extras/package/macosx/Resources/audio.icns \
120
	extras/package/macosx/Resources/avi.icns \
121
	extras/package/macosx/Resources/flv.icns \
122
	extras/package/macosx/Resources/generic.icns \
123 124 125
	extras/package/macosx/Resources/m4a.icns \
	extras/package/macosx/Resources/m4v.icns \
	extras/package/macosx/Resources/mkv.icns \
126
	extras/package/macosx/Resources/mov.icns \
127
	extras/package/macosx/Resources/movie.icns \
128 129 130
	extras/package/macosx/Resources/mp3.icns \
	extras/package/macosx/Resources/mpeg.icns \
	extras/package/macosx/Resources/ogg.icns \
131 132 133
	extras/package/macosx/Resources/playlist.icns \
	extras/package/macosx/Resources/rm.icns \
	extras/package/macosx/Resources/subtitle.icns \
134
	extras/package/macosx/Resources/vob.icns \
135 136
	extras/package/macosx/Resources/wav.icns \
	extras/package/macosx/Resources/vlc.icns \
137 138 139 140 141 142 143 144
	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
145 146 147
	extras/package/macosx/Resources/display_left.png \
	extras/package/macosx/Resources/display_middle.png \
	extras/package/macosx/Resources/display_right.png \
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
	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
215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
	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 \
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
	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
256 257 258 259 260 261 262
	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 \
263 264 265 266 267 268 269 270 271 272
	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 \
273 274
	extras/package/macosx/plugin/Info.plist.in \
	extras/package/macosx/plugin/InstallerInfo.plist.in \
275 276
	extras/package/macosx/plugin/InstallerDescription.plist \
	extras/package/macosx/plugin/pbdevelopment.plist \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
277 278 279 280 281 282
	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
283
	extras/package/macosx/README.MacOSX.rtf \
284
	extras/package/macosx/Info.plist.in
Felix Paul Kühne's avatar
Felix Paul Kühne committed
285

286 287

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

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

303 304 305 306
###############################################################################
# Building libvlc
###############################################################################

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

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

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

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

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

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

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

.PHONY: libvlc core doc
337

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

364 365 366 367
###############################################################################
# Building aliases
###############################################################################

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

dist_noinst_SCRIPTS += make-alias

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

377
cvlc: make-alias Makefile
378
	$(AM_V_GEN)$(MKALIAS) dummy
379

380
rvlc: make-alias Makefile
381
	$(AM_V_GEN)$(MKALIAS) rc
382

383
svlc: make-alias Makefile
384
	$(AM_V_GEN)$(MKALIAS) skins2
385

386
qvlc: make-alias Makefile
387
	$(AM_V_GEN)$(MKALIAS) qt4
388

389
nvlc: make-alias Makefile
390
	$(AM_V_GEN)$(MKALIAS) ncurses
391

392
mvlc: make-alias Makefile
393
	$(AM_V_GEN)$(MKALIAS) maemo
394

395
if BUILD_VLC
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
396
noinst_SCRIPTS += vlc$(EXEEXT)
397
endif
398

399
vlc$(EXEEXT):
400
	$(AM_V_GEN)ln -sf bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
401

402
if HAVE_DARWIN
403
if BUILD_MACOSX_VLC_APP
404
# Create the MacOS X app
405
noinst_DATA = VLC.app
406
endif
407 408
endif

409
silentstd = $(silentstd_$(V))
410
silentstd_ = $(silentstd_$(AM_DEFAULT_VERBOSITY))
411
silentstd_0 = 2>&1 >/dev/null
412

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

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

660 661 662 663 664
###############################################################################
# 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
665
# the same setup as the maintaner(s).
666
#
667

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

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

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

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

712
# Necessary icons
713
	cp $(srcdir)/share/vlc.ico $(win32_destdir)/
714 715

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

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

733
# ActiveX plugin
734
if BUILD_ACTIVEX
735 736 737 738
	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/*
739

740
	cp $(top_builddir)/projects/activex/.libs/axvlc$(LIBEXT) $(win32_destdir)/activex/
741
	cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir)/activex/
742
endif
743

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

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

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

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

784 785 786 787 788 789 790
#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

791 792
# Copy the lua scripts (HTTP)
if BUILD_LUA
793 794 795 796 797 798 799 800 801 802 803 804
	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
805 806
	cp $(srcdir)/share/lua/http/*.lua $(win32_lua_destdir)/http/
	unix2dos $(win32_lua_destdir)/http/*.lua
807 808 809 810 811 812 813 814 815 816
	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
817
endif
818

819
if BUILD_LUA
820
#Lua Scripts
821 822 823 824
	$(INSTALL) -d $(win32_lua_destdir)
	for i in $(srcdir)/share/lua/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/`basename $${i}` ; \
	done
825
	$(INSTALL) -d $(win32_lua_destdir)/playlist
826
	for i in $(srcdir)/share/lua/playlist/*.* ; do \
827
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/playlist/`basename $${i}` ; \
828
	done
829 830 831 832 833 834 835
	$(INSTALL) -d $(win32_lua_destdir)/meta/art
	for i in $(srcdir)/share/lua/meta/art/*.lua ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/art/`basename $${i}` ; \
	done
	$(INSTALL) -d $(win32_lua_destdir)/meta/reader
	for i in $(srcdir)/share/lua/meta/reader/*.lua ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/reader/`basename $${i}` ; \
836
	done
837
	$(INSTALL) -d $(win32_lua_destdir)/intf
838
	for i in $(srcdir)/share/lua/intf/*.* ; do \
839
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/`basename $${i}` ; \
840
	done
841
	$(INSTALL) -d $(win32_lua_destdir)/intf/modules
842
	for i in $(srcdir)/share/lua/intf/modules/*.* ; do \
843
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/modules/`basename $${i}` ; \
844 845 846 847 848
	done
endif

# Copy the http files
if BUILD_HTTPD
849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871
	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

872 873 874 875
endif

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

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

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

915
# Strip DLLs
916
package-win-common-strip: package-win32-base-debug
917
	for i in "" $(win32_destdir)/*$(LIBEXT) \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
918
	            $(win32_destdir)/*$(EXEEXT) \
919 920
	            $(win32_destdir)/activex/*$(LIBEXT) \
	            $(win32_destdir)/mozilla/*$(LIBEXT) \
921 922 923 924 925 926 927 928 929 930
	            $(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

931
package-win32-base: package-win-common-strip
932

933
package-win32-base-exe: package-win32-base
934
# Create package
935
	rm -Rf $(win32_destdir)/sdk
936
	if makensis -VERSION >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
937
	    MAKENSIS="makensis"; \
938
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
939
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
940
	elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
941
	    MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
Rafaël Carré's avatar
typo  
Rafaël Carré committed
942
	elif wine --version >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
943
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
944 945 946
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
947
	eval "$$MAKENSIS $(win32_destdir)/spad.nsi"; \
948
	eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
949

950
package-win32-base-zip: package-win32-base
951
# Create package 
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
952
	rm -f -- vlc-$(VERSION)-win32.zip
953
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
954

955 956 957 958 959
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)

960 961
package-win32-base-7zip: package-win32-base
# Create package 
962
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
963

964 965 966 967
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)

968
package-win32-cleanup:
969
	rm -Rf $(win32_destdir)
970
	rm -Rf $(win32_debugdir)
971

972
package-win32-exe: package-win32-base package-win32-base-exe package-win32-cleanup
Gildas Bazin's avatar
 
Gildas Bazin committed
973

974
package-win32-zip: package-win32-base-zip package-win32-cleanup
975