Makefile.am 44.8 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
SUBDIRS = po libs/loader libs/srtp src modules \
11
		projects/mozilla bindings projects/activex share doc
12
DIST_SUBDIRS = $(SUBDIRS) m4  extras/package/ipkg
13

14 15 16
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
17
	INSTALL.wince \
18
	extras/package/win32/vlc.exe.manifest \
19
	MAINTAINERS \
20
	extras/package/macosx/README.MacOSX.rtf \
Sam Hocevar's avatar
Sam Hocevar committed
21
	vlc-config.in.in \
22 23 24 25
	extras/package/rpm/vlc.fedora.spec \
	extras/package/rpm/vlc.mandriva.spec \
	extras/package/rpm/vlc.altlinux.spec \
	extras/package/win32/vlc.win32.nsi.in
26

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
27 28
dist_noinst_SCRIPTS = bootstrap toolbox

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
29
BUILT_SOURCES_distclean = vlc-config compile extras/package/win32/vlc.win32.nsi
30
if HAVE_DARWIN
31
BUILT_SOURCES_clean = macosx-sdk
32 33 34
else
BUILT_SOURCES_clean =
endif
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
35

36
BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
37

38 39
SUFFIXES = 

40
DISTCHECK_CONFIGURE_FLAGS = --disable-dvd --disable-mad --disable-libmpeg2 \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
41 42
	--disable-ffmpeg --disable-faad --disable-wxwidgets --disable-skins2 \
	--disable-fribidi
43

44
ACLOCAL_AMFLAGS = -I m4
45 46 47 48 49 50
AUTOMAKE_OPTIONS = \
	1.9 \
	-Wall \
	check-news \
	dist-bzip2 \
	no-dist-gzip
Christophe Mutricy's avatar
Christophe Mutricy committed
51
#	std-options
52

53 54 55 56
ChangeLog: Makefile.am
	rm -f -- "$@"
	ln -sf doc/ChangeLog-2008 "$@"

57 58 59 60 61
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 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
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/classes.nib \
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/info.nib \
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
	extras/package/macosx/Resources/English.lproj/About.nib/classes.nib \
	extras/package/macosx/Resources/English.lproj/About.nib/info.nib \
	extras/package/macosx/Resources/English.lproj/About.nib/keyedobjects.nib \
	extras/package/macosx/Resources/English.lproj/Open.nib/classes.nib \
	extras/package/macosx/Resources/English.lproj/Open.nib/info.nib \
	extras/package/macosx/Resources/English.lproj/Open.nib/keyedobjects.nib \
	extras/package/macosx/Resources/English.lproj/Preferences.nib/classes.nib \
	extras/package/macosx/Resources/English.lproj/Preferences.nib/info.nib \
	extras/package/macosx/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
	extras/package/macosx/Resources/English.lproj/Wizard.nib/classes.nib \
	extras/package/macosx/Resources/English.lproj/Wizard.nib/info.nib \
	extras/package/macosx/Resources/English.lproj/Wizard.nib/keyedobjects.nib \
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/classes.nib \
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/info.nib \
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
	extras/package/macosx/Resources/English.lproj/Extended.nib/classes.nib \
	extras/package/macosx/Resources/English.lproj/Extended.nib/info.nib \
	extras/package/macosx/Resources/English.lproj/Extended.nib/keyedobjects.nib \
	extras/package/macosx/Resources/English.lproj/SFilters.nib/classes.nib \
	extras/package/macosx/Resources/English.lproj/SFilters.nib/info.nib \
	extras/package/macosx/Resources/English.lproj/SFilters.nib/keyedobjects.nib \
	extras/package/macosx/Resources/English.lproj/Update.nib/classes.nib \
	extras/package/macosx/Resources/English.lproj/Update.nib/info.nib \
	extras/package/macosx/Resources/English.lproj/Update.nib/keyedobjects.nib \
	extras/package/macosx/Resources/English.lproj/Interaction.nib/classes.nib \
	extras/package/macosx/Resources/English.lproj/Interaction.nib/info.nib \
	extras/package/macosx/Resources/English.lproj/Interaction.nib/keyedobjects.nib \
	extras/package/macosx/Resources/English.lproj/InteractionErrorPanel.nib/classes.nib \
	extras/package/macosx/Resources/English.lproj/InteractionErrorPanel.nib/info.nib \
	extras/package/macosx/Resources/English.lproj/InteractionErrorPanel.nib/keyedobjects.nib \
	extras/package/macosx/Resources/English.lproj/InfoPlist.strings \
	extras/package/macosx/Resources/a52.icns \
	extras/package/macosx/Resources/aac.icns \
	extras/package/macosx/Resources/asf.icns \
	extras/package/macosx/Resources/asx.icns \
	extras/package/macosx/Resources/avi.icns \
	extras/package/macosx/Resources/bin.icns \
	extras/package/macosx/Resources/cue.icns \
	extras/package/macosx/Resources/dat.icns \
	extras/package/macosx/Resources/divx.icns \
	extras/package/macosx/Resources/dv.icns \
	extras/package/macosx/Resources/generic.icns \
	extras/package/macosx/Resources/m3u.icns \
	extras/package/macosx/Resources/mov.icns \
	extras/package/macosx/Resources/mp3.icns \
	extras/package/macosx/Resources/mp4.icns \
	extras/package/macosx/Resources/mpeg.icns \
	extras/package/macosx/Resources/mpeg1.icns \
	extras/package/macosx/Resources/mpeg2.icns \
	extras/package/macosx/Resources/mpeg4.icns \
	extras/package/macosx/Resources/mpg.icns \
	extras/package/macosx/Resources/ogg.icns \
	extras/package/macosx/Resources/ogm.icns \
	extras/package/macosx/Resources/pls.icns \
	extras/package/macosx/Resources/srt.icns \
	extras/package/macosx/Resources/sub.icns \
	extras/package/macosx/Resources/vlc.icns \
	extras/package/macosx/Resources/vob.icns \
	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 \
	extras/package/macosx/Resources/display.png \
	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 \
	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 \
	extras/package/macosx/plugin/Info.plist \
	extras/package/macosx/plugin/InstallerInfo.plist \
	extras/package/macosx/plugin/InstallerDescription.plist \
	extras/package/macosx/plugin/pbdevelopment.plist \
	extras/package/macosx/plugin/English.lproj/InfoPlist.strings
214 215

###############################################################################
Rafaël Carré's avatar
Rafaël Carré committed
216
# Various utilities ( editor syntax files, D-Bus controller ... )
217 218
##############################################################################
EXTRA_DIST += \
219
	extras/analyser/zsh_completion.sh \
220 221 222 223
	extras/analyser/zsh.cpp \
	extras/analyser/emacs.init \
	extras/analyser/vlc.vim \
	extras/analyser/valgrind.suppressions \
224
	extras/buildsystem/make.pl \
225 226
	extras/misc/mpris.py \
	extras/misc/mpris.glade
227

Gildas Bazin's avatar
 
Gildas Bazin committed
228
dist-hook:
229
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
230

231 232 233 234 235
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
236
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
237 238
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
239
	touch $@
240

241 242
vlc-config.in: vlc-config.in.in
	./config.status --recheck
243
	touch $@
244

245
CLEANFILES = $(BUILT_SOURCES_clean) stamp-builtin
246
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile ChangeLog
247

248 249 250 251
# Shortcut for developpers to rebuild the core (libvlc + vlc)
# Don't use it if you don't know what it is about.
# Don't complain if it doesn't work. -- Courmisch
libvlc:
252
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
253

254 255
core:
	cd src && $(MAKE) $(AM_MAKEFLAGS) vlc
256

257
.PHONY: libvlc core
258

Christophe Mutricy's avatar
Christophe Mutricy committed
259 260
#To get some nice output
nice:
Christophe Mutricy's avatar
Christophe Mutricy committed
261
	$(top_builddir)/compile
Christophe Mutricy's avatar
Christophe Mutricy committed
262

263
if HAVE_BEOS
264
noinst_DATA = vlc-bundle
265
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
266 267 268
	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
269 270
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
271 272
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
273 274
	  fi ; \
	done
Sam Hocevar's avatar
Sam Hocevar committed
275 276 277 278
	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/ ; \
279 280
	  done ; \
	fi
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
281
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
Sam Hocevar's avatar
Sam Hocevar committed
282 283 284
	  mkdir -p "$(top_builddir)/vlc-bundle/locale/$$i/LC_MESSAGES" ; \
	  cp "$(top_builddir)/po/$$i.gmo" \
	    "$(top_builddir)/vlc-bundle/locale/$$i/LC_MESSAGES/vlc.mo" || true ; \
Eric Petit's avatar
Eric Petit committed
285
	done
Sam Hocevar's avatar
Sam Hocevar committed
286
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
287 288
endif

289 290 291 292 293 294
###############################################################################
# Building aliases
###############################################################################

ALL_ALIASES = cvlc rvlc svlc wxvlc qvlc nvlc
bin_SCRIPTS += $(ALIASES)
Christophe Mutricy's avatar
Christophe Mutricy committed
295
CLEANFILES += $(ALIASES)
296
if BUILD_VLC
297
EXTRA_SCRIPTS = $(ALL_ALIASES)
298
endif
299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320

dist_noinst_SCRIPTS += make-alias

MKALIAS = bindir="$(bindir)" transform="$(transform)" $(top_srcdir)/make-alias $@

cvlc: make-alias
	$(MKALIAS) dummy

rvlc: make-alias
	$(MKALIAS) rc

svlc: make-alias
	$(MKALIAS) skins2

wxvlc: make-alias
	$(MKALIAS) wx

qvlc: make-alias
	$(MKALIAS) qt4

nvlc: make-alias
	$(MKALIAS) ncurses
321

322
if BUILD_VLC
323
noinst_SCRIPTS = vlc$(EXEEXT)
324
endif
325 326

vlc$(EXEEXT): core
327
	rm -f vlc$(EXEEXT)
328 329 330 331 332 333
	ln -s src/vlc$(EXEEXT)
#	rm -f -- vlc vlc.tmp
#	echo '#! /bin/sh' > vlc.tmp
#	echo 'exec "$$(dirname "$$0")/src/vlc$(EXEEXT)" "--plugin-path=$$(dirname "$$0")/modules" "$$@"' >> vlc.tmp
#	chmod +x vlc.tmp
#	mv -f -- vlc.tmp vlc
334

335 336
if HAVE_DARWIN
# Create the MacOS X app
337
if BUILD_VLC
338
noinst_DATA = VLC.app
339
endif
340 341
# VLC-release.app for packaging and giving it to your friends
# use package-macosx to get a nice dmg
342
VLC-release.app: vlc
343
	( cd src && make install )
344
	rm -Rf "$(top_builddir)/tmp"
345
	mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
346
	rm -Rf $(top_builddir)/VLC-release.app
347 348 349 350
	for i in vlc.xcodeproj Resources README.MacOSX.rtf; do \
	  cp -R $(srcdir)/extras/package/macosx/$$i $(top_builddir)/tmp/extras/package/macosx/; \
	done
	for i in AUTHORS COPYING THANKS; do \
351 352 353 354 355
	  cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
	done
	mkdir -p $(top_builddir)/tmp/modules/audio_output
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
356 357
	    AppleRemote.h \
	    AppleRemote.m \
358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382
	    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 \
383 384
	    simple_prefs.h \
	    simple_prefs.m \
385 386 387
	    vout.h \
	    voutqt.m \
	    voutgl.m \
388 389
	    wizard.h \
	    wizard.m \
390 391
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
392 393
	    bookmarks.h \
	    bookmarks.m \
394 395
	    sfilters.h \
	    sfilters.m \
396 397 398 399 400 401
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
402 403
	    fspanel.h \
	    fspanel.m \
404 405 406 407
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
408
	cd $(top_builddir)/tmp/extras/package/macosx && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
409
	    cd ../../../../ && \
410
	    cp -R $(top_builddir)/tmp/extras/package/macosx/build/Default/VLC.bundle \
411
	          $(top_builddir)/VLC-release.app; \
412 413
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
414 415 416 417 418 419 420 421 422 423 424 425 426
	$(INSTALL) $(top_builddir)/src/.libs/vlc \
		   $(top_builddir)/VLC-release.app/Contents/MacOS/VLC
	ln -sf ./VLC $(top_builddir)/VLC-release.app/Contents/MacOS/clivlc
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/modules
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; \
	    then $(INSTALL) "`pwd`/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)" \
			   "$(top_builddir)/VLC-release.app/Contents/MacOS/modules" ; \
	  fi ; done
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/lib ; \
	  for i in $(srcdir)/src/.libs/*.dylib ; do \
	    $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/lib/`basename $${i}` ; \
	  done ;
427 428 429
	$(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}` ; \
430
	done ; \
431 432 433
	$(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}` ; \
434
	done ; \
435 436 437
	$(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}` ; \
438
	done ; \
439 440 441
	$(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}` ; \
442
	done ; \
443 444 445 446 447 448 449
	$(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}` ; \
450
	done
451 452
	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}` ; \
453
	done
454 455
	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}` ; \
456
	done
457 458
	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}` ; \
459
	done
460 461
	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}` ; \
462
	done
463
	$(INSTALL) -m 644 $(srcdir)/share/lua/http/requests/readme $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/requests/readme.txt
464 465 466 467 468 469 470
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/dialogs
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/js
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old/admin
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old/vlm
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/images
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests
471 472
	$(INSTALL) -m 644 $(srcdir)/share/http/.hosts $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/.hosts
	$(INSTALL) -m 644 $(srcdir)/share/http/old/.hosts $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old/.hosts
473
	for i in $(srcdir)/share/http/*.* ; do \
474
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \
475
	done
476 477
	for i in $(srcdir)/share/http/dialogs/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/dialogs/`basename $${i}` ; \
478
	done
479 480
	for i in $(srcdir)/share/http/js/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/js/`basename $${i}` ; \
481
	done
482 483
	for i in $(srcdir)/share/http/old/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old/`basename $${i}` ; \
484
	done
485 486
	for i in $(srcdir)/share/http/old/admin/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old/admin/`basename $${i}` ; \
487
	done
488 489
	for i in $(srcdir)/share/http/old/vlm/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old/vlm/`basename $${i}` ; \
490
	done
491 492
	for i in $(srcdir)/share/http/images/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/images/`basename $${i}` ; \
493
	done
494 495
	for i in $(srcdir)/share/http/requests/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/`basename $${i}` ; \
496
	done
497
	$(INSTALL) -m 644 $(srcdir)/share/http/requests/readme $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/readme.txt
498
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
499
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
500 501 502 503 504 505 506 507 508
	  mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
	  cp $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
	  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
509 510
	find $(top_builddir)/VLC-release.app -type d -exec chmod ugo+rx '{}' \;
	find $(top_builddir)/VLC-release.app -type f -exec chmod ugo+r '{}' \;
511

512 513
# This is just for development purposes. 
# The resulting VLC.app will only in this tree.
514 515
VLC.app: vlc 
	( cd src && make install )
516 517
	rm -Rf $(top_builddir)/tmp
	mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
Loïc Minier's avatar
Loïc Minier committed
518
	rm -Rf $(top_builddir)/VLC.app
519 520 521 522
	for i in vlc.xcodeproj Resources README.MacOSX.rtf; do \
	  cp -R $(srcdir)/extras/package/macosx/$$i $(top_builddir)/tmp/extras/package/macosx/; \
	done
	for i in AUTHORS COPYING THANKS; do \
Loïc Minier's avatar
Loïc Minier committed
523 524 525 526 527
	  cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
	done
	mkdir -p $(top_builddir)/tmp/modules/audio_output
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
528 529
	    AppleRemote.h \
	    AppleRemote.m \
Loïc Minier's avatar
Loïc Minier committed
530 531 532 533 534 535
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
536 537
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
538 539 540 541 542 543 544 545 546 547 548
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
549 550
	    playlistinfo.h \
	    playlistinfo.m \
551 552
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
553 554
	    prefs.h \
	    prefs.m \
555 556
	    simple_prefs.h \
	    simple_prefs.m \
Loïc Minier's avatar
Loïc Minier committed
557
	    vout.h \
558 559
	    voutqt.m \
	    voutgl.m \
560 561
	    wizard.h \
	    wizard.m \
562 563
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
564 565
	    bookmarks.h \
	    bookmarks.m \
566 567
	    sfilters.h \
	    sfilters.m \
568 569 570 571 572 573
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
574 575
	    fspanel.h \
	    fspanel.m \
Loïc Minier's avatar
Loïc Minier committed
576 577 578 579
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
580
	cd $(top_builddir)/tmp/extras/package/macosx && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
581
	    cd ../../../../ && \
582
	    cp -R $(top_builddir)/tmp/extras/package/macosx/build/Default/VLC.bundle \
583
	          $(top_builddir)/VLC.app
Loïc Minier's avatar
Loïc Minier committed
584 585
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
586
	$(INSTALL) $(top_builddir)/src/.libs/vlc \
Loïc Minier's avatar
Loïc Minier committed
587
		   $(top_builddir)/VLC.app/Contents/MacOS/VLC
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
588
	ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
Loïc Minier's avatar
Loïc Minier committed
589
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
Jérome Decoodt's avatar
Jérome Decoodt committed
590
	for i in `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
591
	  if test -n "$$i" ; \
592 593 594
	   then ln -sfn "`pwd`/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)" \
				   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
	  fi ; done && \
Felix Paul Kühne's avatar
arf  
Felix Paul Kühne committed
595
	ln -sfn `pwd`/$(srcdir)/share $(top_builddir)/VLC.app/Contents/MacOS/
Loïc Minier's avatar
Loïc Minier committed
596
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
597
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
Loïc Minier's avatar
Loïc Minier committed
598
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
599
	  ln -sfn `pwd`/$(srcdir)/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
Loïc Minier's avatar
Loïc Minier committed
600 601 602 603 604
	  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 ; \
605
	done
Loïc Minier's avatar
Loïc Minier committed
606
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
607 608
endif

609 610 611 612 613
###############################################################################
# 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
614
# the same setup as the maintaner(s).
615
#
616 617

package-win-common:
618
# Check that tmp isn't in the way
619 620
	@if test -e "$(top_builddir)/vlc-$(VERSION)"; then \
	  echo "Error: please remove $(top_builddir)/vlc-$(VERSION), it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
621
	  false; \
622
	else \
623
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-$(VERSION)"; \
624
	fi
625

626
# Copy relevant files
627
	cp "$(top_builddir)/src/.libs/vlc$(EXEEXT)" "$(top_builddir)/vlc-$(VERSION)/"
628
	cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(top_builddir)/vlc-$(VERSION)/"
629 630
	cp "$(top_builddir)/src/.libs/libvlc$(LIBEXT)" "vlc-$(VERSION)/"
	cp "$(top_builddir)/src/.libs/libvlc-control$(LIBEXT)" "vlc-$(VERSION)/"
631

632
	for file in AUTHORS MAINTAINERS THANKS ; \
633
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-$(VERSION)/$${file}.txt" ; done;
Christophe Mutricy's avatar
Christophe Mutricy committed
634
	for file in NEWS COPYING README; \
635 636
	  do cp "$(srcdir)/$$file" "$(top_builddir)/vlc-$(VERSION)/$${file}.txt"; done
	unix2dos "$(top_builddir)/vlc-$(VERSION)/"*.txt
Gildas Bazin's avatar
 
Gildas Bazin committed
637

638
	mkdir $(top_builddir)/vlc-$(VERSION)/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
639
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
640
	  mkdir -p "$(top_builddir)/vlc-$(VERSION)/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
641
	  cp "$(srcdir)/po/$${i}.gmo" \
642
	    "$(top_builddir)/vlc-$(VERSION)/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
643
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
644 645
	done

646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/lua/http/images"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/lua/http/requests"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/lua/http/js"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/lua/http/dialogs"
	cp $(srcdir)/share/lua/http/*.html $(top_builddir)/vlc-$(VERSION)/lua/http/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/lua/http/*.html ;
	cp $(srcdir)/share/lua/http/.hosts $(top_builddir)/vlc-$(VERSION)/lua/http/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/lua/http/.hosts ;
	cp $(srcdir)/share/lua/http/*.css $(top_builddir)/vlc-$(VERSION)/lua/http/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/lua/http/*.css ;
	cp $(srcdir)/share/lua/http/js/*.js $(top_builddir)/vlc-$(VERSION)/lua/http/js/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/lua/http/js/*.js ;
	cp $(srcdir)/share/lua/http/dialogs/* $(top_builddir)/vlc-$(VERSION)/lua/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/lua/http/dialogs/* ;
	cp $(srcdir)/share/lua/http/dialogs/.hosts $(top_builddir)/vlc-$(VERSION)/lua/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/lua/http/dialogs/.hosts ;
	cp $(srcdir)/share/lua/http/*.ico $(top_builddir)/vlc-$(VERSION)/lua/http/ ;
	cp $(srcdir)/share/lua/http/images/*.png $(top_builddir)/vlc-$(VERSION)/lua/http/images/
	cp $(srcdir)/share/lua/http/requests/*.xml $(top_builddir)/vlc-$(VERSION)/lua/http/requests/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/lua/http/requests/*.xml ;
	cp $(srcdir)/share/lua/http/requests/readme $(top_builddir)/vlc-$(VERSION)/lua/http/requests/readme.txt ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/lua/http/requests/readme.txt ;

669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http/images"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http/requests"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http/js"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http/dialogs"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http/old"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http/old/vlm"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http/old/admin"
	cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-$(VERSION)/http/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http/*.html ;
	cp $(srcdir)/share/http/.hosts $(top_builddir)/vlc-$(VERSION)/http/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http/.hosts ;
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-$(VERSION)/http/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http/*.css ;
	cp $(srcdir)/share/http/js/*.js $(top_builddir)/vlc-$(VERSION)/http/js/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http/js/*.js ;
	cp $(srcdir)/share/http/dialogs/* $(top_builddir)/vlc-$(VERSION)/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http/dialogs/* ;
	cp $(srcdir)/share/http/dialogs/.hosts $(top_builddir)/vlc-$(VERSION)/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http/dialogs/.hosts ;
	cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-$(VERSION)/http/ ;
	cp $(srcdir)/share/http/images/*.png $(top_builddir)/vlc-$(VERSION)/http/images/
	cp $(srcdir)/share/http/requests/*.xml $(top_builddir)/vlc-$(VERSION)/http/requests/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http/requests/*.xml ;
	cp $(srcdir)/share/http/requests/readme $(top_builddir)/vlc-$(VERSION)/http/requests/readme.txt ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http/requests/readme.txt ;

	cp $(srcdir)/share/http/old/*.html $(top_builddir)/vlc-$(VERSION)/http/old/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http/old/*.html ;
	cp $(srcdir)/share/http/old/*.css $(top_builddir)/vlc-$(VERSION)/http/old/ ;
	cp $(srcdir)/share/http/old/.hosts $(top_builddir)/vlc-$(VERSION)/http/old/ ;
	cp $(srcdir)/share/http/old/*.png $(top_builddir)/vlc-$(VERSION)/http/old/ ;
	cp $(srcdir)/share/http/old/vlm/*.html $(top_builddir)/vlc-$(VERSION)/http/old/vlm/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http/old/vlm/*.html ;
	cp $(srcdir)/share/http/old/admin/*.html $(top_builddir)/vlc-$(VERSION)/http/old/admin/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http/old/admin/*.html ;
	cp $(srcdir)/share/http/old/admin/.access $(top_builddir)/vlc-$(VERSION)/http/old/admin/ ;

	cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-$(VERSION)/ ;
707

Gildas Bazin's avatar
 
Gildas Bazin committed
708
if BUILD_MOZILLA
709
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/mozilla"
710
	cp $(top_builddir)/projects/mozilla/.libs/npvlc$(LIBEXT) $(top_builddir)/vlc-$(VERSION)/mozilla/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
711 712
endif

713
if BUILD_ACTIVEX
714
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/activex"
715 716
	cp $(srcdir)/projects/activex/README.TXT  $(top_builddir)/vlc-$(VERSION)/activex/ ;
	cp $(srcdir)/projects/activex/test.html  $(top_builddir)/vlc-$(VERSION)/activex/ ;
717
	unix2dos $(top_builddir)/vlc-$(VERSION)/activex/* ;
718

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
719
	cp $(top_builddir)/projects/activex/.libs/axvlc$(LIBEXT) $(top_builddir)/vlc-$(VERSION)/activex/ ;
720
endif
721
# Rebase all those DLLs to speed up loading (need cygwin rebase)
722
	if rebase -b 0x42 /dev/null >/dev/null 2>&1; then \
723
		find $(top_builddir)/vlc-$(VERSION) -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \
724
	fi
725

726
package-win-common-strip:
727 728 729
	$(STRIP) "$(top_builddir)/vlc-$(VERSION)/vlc$(EXEEXT)"
	$(STRIP) "vlc-$(VERSION)/libvlc$(LIBEXT)"
	$(STRIP) "vlc-$(VERSION)/libvlc-control$(LIBEXT)"
730
if BUILD_MOZILLA
731
	$(STRIP) $(top_builddir)/vlc-$(VERSION)/mozilla/npvlc$(LIBEXT);
732 733
endif
if BUILD_ACTIVEX
734
	$(STRIP) $(top_builddir)/vlc-$(VERSION)/activex/axvlc$(LIBEXT);
735 736
endif

737 738
package-win32-base-debug: package-win-common
# Copy relevant files
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
739
	cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(top_builddir)/vlc-$(VERSION)/"
740

741
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/plugins"
742 743
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
744
	    $(INSTALL) "$(top_builddir)/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)" \
745
            "$(top_builddir)/vlc-$(VERSION)/plugins/" ; \
746 747
	  fi ; done

748
	mkdir -p $(top_builddir)/vlc-$(VERSION)/skins/fonts
749
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
750
	  cp $$i $(top_builddir)/vlc-$(VERSION)/skins/fonts/ || true ; \
751 752
	done
	for i in $(srcdir)/share/skins2/*.*; do \
753
	  cp $$i $(top_builddir)/vlc-$(VERSION)/skins/ || true ; \
754 755
	done

756 757 758
	$(INSTALL) -d $(top_builddir)/vlc-$(VERSION)/share/lua/playlist
	for i in $(srcdir)/share/lua/playlist/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/vlc-$(VERSION)/share/lua/playlist/`basename $${i}` ; \
Rafaël Carré's avatar
Rafaël Carré committed
759
	done ;
760 761 762
	$(INSTALL) -d $(top_builddir)/vlc-$(VERSION)/share/lua/meta
	for i in $(srcdir)/share/lua/meta/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/vlc-$(VERSION)/share/lua/meta/`basename $${i}` ; \
763
	done ;
764 765 766
	$(INSTALL) -d $(top_builddir)/vlc-$(VERSION)/share/lua/intf
	for i in $(srcdir)/share/lua/intf/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/vlc-$(VERSION)/share/lua/intf/`basename $${i}` ; \
767
	done ;
768 769 770
	$(INSTALL) -d $(top_builddir)/vlc-$(VERSION)/share/lua/intf/modules
	for i in $(srcdir)/share/lua/intf/modules/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/vlc-$(VERSION)/share/lua/intf/modules/`basename $${i}` ; \
771
	done ;
772

773 774
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/osdmenu"
	cp $(srcdir)/share/osdmenu/*.* "$(top_builddir)/vlc-$(VERSION)/osdmenu"
775
	for dir in dvd dvd/selected dvd/unselect dvd/selection dvd/volume default default/selected default/selection default/volume minimal;do \
776
		mkdir -p "$(top_builddir)/vlc-$(VERSION)/osdmenu/$$dir"; \
777
		for file in $(srcdir)/share/osdmenu/$${dir}/*.*;do \
778
			 cp $$file "$(top_builddir)/vlc-$(VERSION)/osdmenu/$$dir" || true; \
779 780
		done; \
	done
781 782
	unix2dos $(top_builddir)/vlc-$(VERSION)/osdmenu/*.cfg;
	for file in $(top_builddir)/vlc-$(VERSION)/osdmenu/*.cfg; do \
783 784 785 786
		if sed 's%share/osdmenu%osdmenu%g' $$file >$$file.tmp; then :; else exit 1; fi; \
		if sed 's%/%\\%g' $$file.tmp >$$file; then :; else exit 1; fi; \
		rm -f $$file.tmp; \
	done
787 788


789
package-win32-base: package-win32-base-debug package-win-common-strip
790
	for i in "" $(top_builddir)/vlc-$(VERSION)/plugins/*$(LIBEXT) ; \
791 792
	  do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done

793
package-win32-base-exe: package-win32-base
794
# Create package
795
	if makensis -VERSION >/dev/null 2>&1; then \
796
	    MAKENSIS="makensis -DVERSION=$(VERSION)"; \
797
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
798 799 800
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis /DVERSION=$(VERSION)"; \
	elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
	    MAKENSIS="$(PROGRAMFILES)/NSIS/makensis -DVERSION=$(VERSION)"; \
Rafaël Carré's avatar
typo  
Rafaël Carré committed
801
	elif wine --version >/dev/null 2>&1; then \
802
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe /DVERSION=$(VERSION)"; \
803 804 805
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
806
	eval "$$MAKENSIS $(top_builddir)/vlc-$(VERSION)/vlc.win32.nsi"
807

808
package-win32-base-exe-cygwin: package-win32-base-exe
809
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
810

811 812
package-win32-base-exe-linux:
# Create package
813
	makensis -DVERSION=$(VERSION) $(top_builddir)/vlc-$(VERSION)/vlc.win32.nsi
814

815
package-win32-base-zip: package-win32-base
816
# Create package 
817
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
818

819 820
package-win32-base-7zip: package-win32-base
# Create package 
821
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
822

Gildas Bazin's avatar
 
Gildas Bazin committed
823 824
package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
825
	rm -Rf $(top_builddir)/vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
826

827 828
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
829
	rm -Rf $(top_builddir)/vlc-$(VERSION)
830

831
package-win32-zip: package-win32-base-zip
Gildas Bazin's avatar
 
Gildas Bazin committed
832
# Clean up
833
	rm -Rf $(top_builddir)/vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
834

835 836
package-win32-7zip: package-win32-base-7zip
# Clean up
837
	rm -Rf $(top_builddir)/vlc-$(VERSION)
838

839 840 841
package-win32-no-clean: package-win32-base-exe package-win32-base-zip package-win32-base-7zip

package-win32: package-win32-no-clean
842
# Clean up
843
	rm -Rf $(top_builddir)/vlc-$(VERSION)
844

845
package-wince-base: package-win-common package-win-common-strip
846 847 848

package-wince-base-zip:
# Create package 
849
	zip -r vlc-$(VERSION)-wince.zip vlc-$(VERSION)
850 851 852

package-wince: package-wince-base  package-wince-base-zip
# Clean up
853
	rm -Rf $(top_builddir)/vlc-$(VERSION)
854 855


856 857
package-beos:
# Check that tmp isn't in the way
858
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
859
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
860
	  false ; \
861
	else \
862
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
863
	fi
864

865
# Copy relevant files
866
	mkdir -p $(srcdir)/tmp/vlc ;
867 868 869 870 871 872
	cd $(srcdir) && cp -R vlc-bundle/* AUTHORS COPYING ChangeLog README \
	  THANKS NEWS tmp/vlc/ ;

# Create debug package
	xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
	find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
873 874 875 876
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-$(VERSION) ;
	(cd $(srcdir)/tmp && zip -9 -r vlc-$(VERSION)-BeOS-debug.zip vlc-$(VERSION) )
	mv $(srcdir)/tmp/vlc-$(VERSION)-BeOS-debug.zip $(srcdir)/ ;
	mv $(srcdir)/tmp/vlc-$(VERSION) $(srcdir)/tmp/vlc ;
877

878
# Create normal package
879 880
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
881
	  --strip-debug --strip-unneeded "{}" \; ;
882 883
	xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
	find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
884 885 886
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-$(VERSION) ;
	(cd $(srcdir)/tmp &&  zip -9 -r vlc-$(VERSION)-BeOS.zip vlc-$(VERSION) )
	mv $(srcdir)/tmp/vlc-$(VERSION)-BeOS.zip $(srcdir)/ ;
887

888
# Clean up
889
	rm -Rf $(srcdir)/tmp ;
890 891

package-macosx:
892
# Check that the temporary location isn't in the way
893 894
	@if test -e "$(top_builddir)/vlc-$(VERSION)/"; then \
	  rm -Rf "$(top_builddir)/vlc-$(VERSION)/" ; \
895 896
	fi

897 898
	echo "Create package directory: vlc-$(VERSION)/";
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/";
899

900
# Copy relevant files 
901
	@if test -e "$(top_builddir)/VLC-release.app/"; then \
902
	  cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
903
	else \
904
	  cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
905
	fi
906 907 908
	cd "$(srcdir)" && mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies/ && \
          mkdir -p $(top_builddir)/vlc-$(VERSION)/.background/ && \
          cp AUTHORS COPYING ChangeLog README THANKS NEWS $(top_builddir)/vlc-$(VERSION)/Goodies/ && \
909
          cp -R  extras/package/macosx/Delete_Preferences.app $(top_builddir)/vlc-$(VERSION)/Goodies/Delete\ VLC\ Preferences.app && \
Rafaël Carré's avatar
Rafaël Carré committed
910
	  cp extras/package/macosx/README.MacOSX.rtf $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf && \
911
	  cp extras/package/macosx/Resources/about_bg.png $(top_builddir)/vlc-$(VERSION)/.background/background.png ;
912 913

# Place a link to the application folder
914
	ln -s /Applications $(top_builddir)/vlc-$(VERSION)/Applications ;
915

916
# Create disk image (temporarily taken from the 0.8.6-bugfix branch to provide reliable NBs)
917
	echo "Creating disk image" ;
918 919 920
	rm -f "$(top_builddir)/vlc-$(VERSION).dmg" ;
	hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" \
	  "$(top_builddir)/vlc-$(VERSION).dmg" -scrub ;
921
	echo "Disk image creation completed:" ;
922
	ls -la "$(top_builddir)/vlc-$(VERSION).dmg" ; echo ;
923 924 925

# Create disk image 
#	echo "Creating disk image" ;
926 927 928
#	rm -f "$(top_builddir)/vlc-$(VERSION).dmg" ;
#	hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" \
#	  "$(top_builddir)/vlc-$(VERSION).dmg" -format UDRW \
929
#	  -scrub -imagekey zlib-level=9 -attach ;
930 931 932 933

# Make sure the root window of the dmg will pop up when the dmg is mounted.
# Note: We dont mount in /Volumes to be sure we won't collide with an other
# finder mounted dmg with the same name.
934
#	echo "Make sure the root window of the dmg will pop up when the dmg is mounted" ;
935
#	mkdir -p $(top_builddir)/vlcmnt ;
936 937
#	hdiutil attach -nokernel -readwrite -noverify -noautoopen -private "$(top_builddir)/vlc-$(VERSION).dmg" -mountpoint "$(top_builddir)/vlcmnt/vlc-$(VERSION)" ;
#	bless --folder "$(top_builddir)/vlcmnt/vlc-$(VERSION)/" --openfolder "$(top_builddir)/vlcmnt/vlc-$(VERSION)" ;
938
#	sleep 1 # Make sure operation completes
939
#	cd "$(srcdir)"
940 941

# Unmount the image now
942
#	hdiutil detach "$(top_builddir)/vlcmnt/vlc-$(VERSION)" ;
943
#	rm -R $(top_builddir)/vlcmnt ;
944 945 946 947

# Make sure the image is not writable
# Note: We can't directly create a read only dmg as we do the bless stuff
	echo "Make the disk image read-only" ;
948 949 950
	mv "$(top_builddir)/vlc-$(VERSION).dmg" "$(top_builddir)/vlc-$(VERSION)-rw.dmg" ;
	hdiutil convert "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -format UDZO -o "$(top_builddir)/vlc-$(VERSION).dmg" ;
	rm "$(top_builddir)/vlc-$(VERSION)-rw.dmg" ;
951 952

# We are done
953
	echo "Disk image creation completed:" ;
954
	ls -la "$(top_builddir)/vlc-$(VERSION).dmg" ; echo ;
955 956

# Clean up
957
	rm -Rf "$(top_builddir)/vlc-$(VERSION)" ;
958

959 960
package-macosx-plugin:
if BUILD_MOZILLA
961 962
# Create Installer
	rm -rf "$(top_builddir)/macosx-plugin-instdata/"; true
963
	mkdir -p "$(top_builddir)/macosx-plugin-instdata"
964
	cp -R "$(top_builddir)/projects/mozilla/VLC Plugin.plugin" "$(top_builddir)/macosx-plugin-instdata"
965
	rm -rf "$(top_builddir)/VLC Internet Plug-In.pkg"
966
	PATH=/Developer/usr/bin:/Developer/Tools:$$PATH packagemaker -build -ds -p "$(top_builddir)/VLC Internet Plug-In.pkg" \
967
	-f "$(top_builddir)/macosx-plugin-instdata" \
968 969
	-i "$(srcdir)/extras/package/macosx/plugin/InstallerInfo.plist" \
	-d "$(srcdir)/extras/package/macosx/plugin/InstallerDescription.plist"; true