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

5 6
# Pass --quiet to make when we are not verbose.
AM_MAKEFLAGS = $(makesilentflags_$(V))
Pierre's avatar
Pierre committed
7
makesilentflags_ = $(makesilentflags__$(AM_DEFAULT_VERBOSITY))
8 9
makesilentflags_0 = --quiet
makesilentflags__0 = $(makesilentflags_0)
10

11 12 13
# 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.
14 15
#  - src (libvlc) is nedeed by modules, mozilla and bindings
#  - libs/* are needed by modules
16
BASE_SUBDIRS = po compat src bin modules share doc test
17
EXTRA_SUBDIRS = m4 extras/package/ipkg \
18
	libs/loader libs/srtp libs/unzip \
19
	projects/mozilla projects/activex
20
DIST_SUBDIRS = $(BASE_SUBDIRS) $(EXTRA_SUBDIRS)
21

22
SUBDIRS = po compat src
23 24 25 26 27 28
if LOADER
SUBDIRS += libs/loader
endif
if HAVE_LIBGCRYPT
SUBDIRS += libs/srtp
endif
29
if HAVE_ZLIB
30
if !HAVE_MINIZIP
31 32
SUBDIRS += libs/unzip
endif
33
endif
34 35 36
if BUILD_VLC
SUBDIRS += bin
endif
37
SUBDIRS += modules share doc test
38 39 40 41
if BUILD_MOZILLA
SUBDIRS += projects/mozilla
endif
if BUILD_ACTIVEX
42
SUBDIRS += projects/activex
43
endif
44

45 46 47
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
48
	INSTALL.wince \
49
	extras/package/win32/vlc.exe.manifest \
50
	extras/package/win32/libvlc.dll.manifest \
51
	MAINTAINERS \
52
	extras/package/macosx/README.MacOSX.rtf \
Sam Hocevar's avatar
Sam Hocevar committed
53
	vlc-config.in.in \
54 55
	extras/package/rpm/vlc.fedora.spec \
	extras/package/rpm/vlc.altlinux.spec \
56 57 58 59
	extras/package/win32/vlc.win32.nsi.in \
	extras/package/win32/languages/declaration.nsh \
	extras/package/win32/languages/english.nsh \
	extras/package/win32/languages/french.nsh
60

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
61
dist_noinst_SCRIPTS = bootstrap toolbox
62
nodist_noinst_SCRIPTS = compile
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
63

64
BUILT_SOURCES_distclean = vlc-config extras/package/win32/vlc.win32.nsi
65
if HAVE_DARWIN
66
BUILT_SOURCES_clean = macosx-sdk
67 68 69
else
BUILT_SOURCES_clean =
endif
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
70

71
BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
72

73 74
SUFFIXES = 

75 76
DISTCHECK_CONFIGURE_FLAGS = \
	--enable-fast-install \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
77
	--disable-dbus \
78
	--disable-dvd --disable-mad --disable-libmpeg2 \
79
	--disable-ffmpeg --disable-faad --disable-skins2 \
80
	--disable-live555 \
81
	--disable-fribidi --disable-glx
82

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

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

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

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

292 293

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

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

309 310 311 312
###############################################################################
# Building libvlc
###############################################################################

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

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

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

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

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

336 337
core: libvlc
	cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT)
338

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

.PHONY: libvlc core doc
343

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

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

374 375 376 377
###############################################################################
# Building aliases
###############################################################################

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

dist_noinst_SCRIPTS += make-alias

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

387
cvlc: make-alias Makefile
388 389
	$(MKALIAS) dummy

390
rvlc: make-alias Makefile
391 392
	$(MKALIAS) rc

393
svlc: make-alias Makefile
394 395
	$(MKALIAS) skins2

396
qvlc: make-alias Makefile
397 398
	$(MKALIAS) qt4

399
nvlc: make-alias Makefile
400
	$(MKALIAS) ncurses
401

402
mvlc: make-alias Makefile
403 404
	$(MKALIAS) maemo

405
if BUILD_VLC
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
406
noinst_SCRIPTS += vlc$(EXEEXT)
407
endif
408

409 410
vlc$(EXEEXT):
	ln -sf bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
411

412
if HAVE_DARWIN
413
if BUILD_VLC
414
# Create the MacOS X app
415
noinst_DATA = VLC.app
416
endif
417 418
endif

419 420 421 422 423 424
xcodebuild_FLAGS = $(xcodebuildsilentflags_$(V))
xcodebuildsilentflags_ = $(xcodebuildsilentflags__$(AM_DEFAULT_VERBOSITY))
xcodebuildsilentflags_0 = 2>&1 >/dev/null
# '__' prefix trick for old automake version.
xcodebuildsilentflags__0 = $(xcodebuildsilentflags_0)

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

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

672 673 674 675 676
###############################################################################
# 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
677
# the same setup as the maintaner(s).
678
#
679

680 681 682
############################################################################
## Win                                                                    ##
############################################################################
683
win32_destdir=$(top_builddir)/vlc-$(VERSION)
684 685 686
win32_debugdir=$(top_builddir)/symbols-$(VERSION)
npvlc=vlc-$(VERSION)/mozilla/npvlc$(LIBEXT)
axvlc=vlc-$(VERSION)/activex/axvlc$(LIBEXT)
687 688 689
win32_lua_destdir=$(win32_destdir)/lua
win32_http_destdir=$(win32_destdir)/http

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

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

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

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

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

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

736
# ActiveX plugin
737
if BUILD_ACTIVEX
738 739 740 741
	mkdir -p "$(win32_destdir)/activex"
	cp $(srcdir)/projects/activex/README.TXT  $(win32_destdir)/activex/
	cp $(srcdir)/projects/activex/test.html  $(win32_destdir)/activex/
	unix2dos $(win32_destdir)/activex/*
742

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

752 753
package-win32-base-debug: package-win-common
# Copy relevant files
754
# Script installer
755
	cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/"
756 757
	mkdir "$(win32_destdir)/languages"
	cp $(srcdir)/extras/package/win32/languages/*.nsh "$(win32_destdir)/languages/"
758

759
# Plugins
760
	mkdir -p "$(win32_destdir)/plugins"
Christophe Mutricy's avatar
Christophe Mutricy committed
761
	find modules/ -name '*_plugin$(LIBEXT)' | while read i; do \
762
	  if test -n "$$i" ; then \
763
	    $(INSTALL) "$$i" "vlc-$(VERSION)/plugins/" ; \
764 765
	  fi ; done

766
# Contrib *.dll's
767
	cp $(srcdir)/extras/contrib/lib/*.dll "vlc-$(VERSION)/" || true
768

769 770
# Copy the lua scripts (HTTP)
if BUILD_LUA
771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792
	mkdir -p "$(win32_lua_destdir)/http/images"
	mkdir -p "$(win32_lua_destdir)/http/requests"
	mkdir -p "$(win32_lua_destdir)/http/js"
	mkdir -p "$(win32_lua_destdir)/http/dialogs"
	cp $(srcdir)/share/lua/http/*.html $(win32_lua_destdir)/http/
	unix2dos $(win32_lua_destdir)/http/*.html
	cp $(srcdir)/share/lua/http/.hosts $(win32_lua_destdir)/http/
	unix2dos $(win32_lua_destdir)/http/.hosts
	cp $(srcdir)/share/lua/http/*.css $(win32_lua_destdir)/http/
	unix2dos $(win32_lua_destdir)/http/*.css
	cp $(srcdir)/share/lua/http/js/*.js $(win32_lua_destdir)/http/js/
	unix2dos $(win32_lua_destdir)/http/js/*.js
	cp $(srcdir)/share/lua/http/dialogs/* $(win32_lua_destdir)/http/dialogs/
	unix2dos $(win32_lua_destdir)/http/dialogs/*
	cp $(srcdir)/share/lua/http/dialogs/.hosts $(win32_lua_destdir)/http/dialogs/
	unix2dos $(win32_lua_destdir)/http/dialogs/.hosts
	cp $(srcdir)/share/lua/http/*.ico $(win32_lua_destdir)/http/
	cp $(srcdir)/share/lua/http/images/*.png $(win32_lua_destdir)/http/images/
	cp $(srcdir)/share/lua/http/requests/*.xml $(win32_lua_destdir)/http/requests/
	unix2dos $(win32_lua_destdir)/http/requests/*.xml
	cp $(srcdir)/share/lua/http/requests/readme $(win32_lua_destdir)/http/requests/readme.txt
	unix2dos $(win32_lua_destdir)/http/requests/readme.txt
793
endif
794

795
if BUILD_LUA
796
#Lua Scripts
797 798 799 800
	$(INSTALL) -d $(win32_lua_destdir)
	for i in $(srcdir)/share/lua/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/`basename $${i}` ; \
	done
801
	$(INSTALL) -d $(win32_lua_destdir)/playlist
802
	for i in $(srcdir)/share/lua/playlist/*.* ; do \
803
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/playlist/`basename $${i}` ; \
804
	done
805
	$(INSTALL) -d $(win32_lua_destdir)/meta
806
	for i in $(srcdir)/share/lua/meta/*.* ; do \
807
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/`basename $${i}` ; \
808
	done
809
	$(INSTALL) -d $(win32_lua_destdir)/intf
810
	for i in $(srcdir)/share/lua/intf/*.* ; do \
811
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/`basename $${i}` ; \
812
	done
813
	$(INSTALL) -d $(win32_lua_destdir)/intf/modules
814
	for i in $(srcdir)/share/lua/intf/modules/*.* ; do \
815
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/modules/`basename $${i}` ; \
816 817 818 819 820
	done
endif

# Copy the http files
if BUILD_HTTPD
821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843
	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

844 845 846 847
endif

if BUILD_SKINS
# Skins
848
	mkdir -p $(win32_destdir)/skins/fonts
849
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
850
	  cp -- "$$i" $(win32_destdir)/skins/fonts/ || true ; \
851
	done
852
	for i in $(top_builddir)/share/skins2/*.*; do \
853
	  cp -- "$$i" $(win32_destdir)/skins/ || true ; \
854
	done
855 856
	cp -- $(srcdir)/share/skins2/skin.catalog $(win32_destdir)/skins/ || true ;
	cp -- $(srcdir)/share/skins2/skin.dtd $(win32_destdir)/skins/ || true ;
857
endif
858

859
if BUILD_OSDMENU
860
#OSD Menu
861 862
	mkdir -p "$(win32_destdir)/osdmenu"
	cp $(srcdir)/share/osdmenu/*.* "$(win32_destdir)/osdmenu"
863
	for dir in default default/selected default/selection default/volume ;do \
864
		mkdir -p "$(win32_destdir)/osdmenu/$$dir"; \
865
		for file in $(srcdir)/share/osdmenu/$${dir}/*.png;do \
866
			 cp -- "$$file" "$(win32_destdir)/osdmenu/$$dir"; \
867 868
		done; \
	done
869 870
	unix2dos $(win32_destdir)/osdmenu/*.cfg;
	for file in $(win32_destdir)/osdmenu/*.cfg; do \
871 872 873
		sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
		sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
		rm -f -- "$$file.tmp"; \
874
	done
875
endif
876

877
# SDK
878 879
	mkdir -p "$(win32_destdir)/sdk.tmp"
	mkdir -p "$(win32_destdir)/sdk"
880 881 882 883 884 885 886
	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

887
#strip exe and main dll
888
package-win-common-strip: package-win32-base-debug
889 890 891 892 893 894
	@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
895
	for i in "" vlc-$(VERSION)/*$(LIBEXT) ; \
896 897
      do if test -n "$$i" ; then \
      $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
898
      $(OBJCOPY) --strip-all "$$i" ; \
899 900 901 902
      $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
	  mv "$$i.dbg" "$(win32_debugdir)"; \
    fi; done

903
#strip all plugins dll
904
package-win32-base: package-win-common-strip
905
	for i in "" $(win32_destdir)/plugins/*$(LIBEXT) ; \
906 907
	  do if test -n "$$i" ; then \
	  $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
908
	  $(OBJCOPY) --strip-all "$$i" ; \
909 910 911
	  $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
	  mv "$$i.dbg" "$(win32_debugdir)"; \
	fi ; done
912

913
package-win32-base-exe: package-win32-base
914
# Create package
915
	rm -Rf $(win32_destdir)/sdk
916
	if makensis -VERSION >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
917
	    MAKENSIS="makensis"; \
918
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
919
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
920
	elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
921
	    MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
Rafaël Carré's avatar
typo  
Rafaël Carré committed
922
	elif wine --version >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
923
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
924 925 926
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
927
	eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
928

929
package-win32-base-zip: package-win32-base
930
# Create package 
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
931
	rm -f -- vlc-$(VERSION)-win32.zip
932
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
933

934 935 936 937 938
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)

939 940
package-win32-base-7zip: package-win32-base
# Create package 
941
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
942

943 944 945 946
package-win32-base-debug-7zip: package-win32-base-debug
# Create package
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32-debug.7z vlc-$(VERSION)

Gildas Bazin's avatar
 
Gildas Bazin committed
947 948
package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
949
	rm -Rf $(win32_destdir)
950

951
package-win32-zip: package-win32-base-zip
Gildas Bazin's avatar
 
Gildas Bazin committed
952
# Clean up
953
	rm -Rf $(win32_destdir)
Gildas Bazin's avatar
 
Gildas Bazin committed
954

955 956 957 958
package-win32-debug-zip: package-win32-base-debug-zip
# Clean up
	rm -Rf $(win32_destdir)

959 960
package-win32-7zip: package-win32-base-7zip
# Clean up
961
	rm -Rf $(win32_destdir)
962

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

967
package-win32-no-clean: package-win32-base-zip package-win32-base-7zip package-win32-base-exe 
968 969

package-win32: package-win32-no-clean
970
# Clean up
971
	rm -Rf $(win32_destdir)
972

973 974 975 976
package-win32-debug: package-win32-base-debug-zip package-win32-base-debug-7zip
# Clean up
	rm -Rf $(win32_destdir)

977
package-wince-base: package-win-common package-win-common-strip
978 979 980

package-wince-base-zip:
# Create package 
981
	zip -r vlc-$(VERSION)-wince.zip vlc-$(VERSION)
982 983 984

package-wince: package-wince-base  package-wince-base-zip
# Clean up
985
	rm -Rf $(win32_destdir)
986 987


988 989 990
#####################################################################
##   BeOS                                                          ##
#####################################################################
991 992
package-beos:
# Check that tmp isn't in the way