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
739
# Script installer
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
740
	cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(top_builddir)/vlc-$(VERSION)/"
741

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

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

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

777
#OSD Menu
778 779
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/osdmenu"
	cp $(srcdir)/share/osdmenu/*.* "$(top_builddir)/vlc-$(VERSION)/osdmenu"
780
	for dir in dvd dvd/selected dvd/unselect dvd/selection dvd/volume default default/selected default/selection default/volume minimal;do \
781
		mkdir -p "$(top_builddir)/vlc-$(VERSION)/osdmenu/$$dir"; \
782
		for file in $(srcdir)/share/osdmenu/$${dir}/*.*;do \
783
			 cp $$file "$(top_builddir)/vlc-$(VERSION)/osdmenu/$$dir" || true; \
784 785
		done; \
	done
786 787
	unix2dos $(top_builddir)/vlc-$(VERSION)/osdmenu/*.cfg;
	for file in $(top_builddir)/vlc-$(VERSION)/osdmenu/*.cfg; do \
788 789 790 791
		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
792 793


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

798
package-win32-base-exe: package-win32-base
799
# Create package
800
	if makensis -VERSION >/dev/null 2>&1; then \
801
	    MAKENSIS="makensis -DVERSION=$(VERSION)"; \
802
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
803 804 805
	    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
806
	elif wine --version >/dev/null 2>&1; then \
807
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe /DVERSION=$(VERSION)"; \
808 809 810
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
811
	eval "$$MAKENSIS $(top_builddir)/vlc-$(VERSION)/vlc.win32.nsi"
812

813
package-win32-base-exe-cygwin: package-win32-base-exe
814
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
815

816 817
package-win32-base-exe-linux:
# Create package
818
	makensis -DVERSION=$(VERSION) $(top_builddir)/vlc-$(VERSION)/vlc.win32.nsi
819

820
package-win32-base-zip: package-win32-base
821
# Create package 
822
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
823

824 825
package-win32-base-7zip: package-win32-base
# Create package 
826
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
827

Gildas Bazin's avatar
 
Gildas Bazin committed
828 829
package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
830
	rm -Rf $(top_builddir)/vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
831

832 833
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
834
	rm -Rf $(top_builddir)/vlc-$(VERSION)
835

836
package-win32-zip: package-win32-base-zip
Gildas Bazin's avatar
 
Gildas Bazin committed
837
# Clean up
838
	rm -Rf $(top_builddir)/vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
839

840 841
package-win32-7zip: package-win32-base-7zip
# Clean up
842
	rm -Rf $(top_builddir)/vlc-$(VERSION)
843

844 845 846
package-win32-no-clean: package-win32-base-exe package-win32-base-zip package-win32-base-7zip

package-win32: package-win32-no-clean
847
# Clean up
848
	rm -Rf $(top_builddir)/vlc-$(VERSION)
849

850
package-wince-base: package-win-common package-win-common-strip
851 852 853

package-wince-base-zip:
# Create package 
854
	zip -r vlc-$(VERSION)-wince.zip vlc-$(VERSION)
855 856 857

package-wince: package-wince-base  package-wince-base-zip
# Clean up
858
	rm -Rf $(top_builddir)/vlc-$(VERSION)
859 860


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

870
# Copy relevant files
871
	mkdir -p $(srcdir)/tmp/vlc ;
872 873 874 875 876 877
	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 {} \; ;
878 879 880 881
	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 ;
882

883
# Create normal package
884 885
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
886
	  --strip-debug --strip-unneeded "{}" \; ;
887 888
	xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
	find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
889 890 891
	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)/ ;
892

893
# Clean up
894
	rm -Rf $(srcdir)/tmp ;
895 896

package-macosx:
897
# Check that the temporary location isn't in the way
898 899
	@if test -e "$(top_builddir)/vlc-$(VERSION)/"; then \
	  rm -Rf "$(top_builddir)/vlc-$(VERSION)/" ; \
900 901
	fi

902 903
	echo "Create package directory: vlc-$(VERSION)/";
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/";
904

905
# Copy relevant files 
906
	@if test -e "$(top_builddir)/VLC-release.app/"; then \
907
	  cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
908
	else \
909
	  cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
910
	fi
911 912 913
	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/ && \
914
          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
915
	  cp extras/package/macosx/README.MacOSX.rtf $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf && \
916
	  cp extras/package/macosx/Resources/about_bg.png $(top_builddir)/vlc-$(VERSION)/.background/background.png ;
917 918

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

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

# Create disk image 
#	echo "Creating disk image" ;
931 932 933
#	rm -f "$(top_builddir)/vlc-$(VERSION).dmg" ;
#	hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" \
#	  "$(top_builddir)/vlc-$(VERSION).dmg" -format UDRW \
934
#	  -scrub -imagekey zlib-level=9 -attach ;
935 936 937 938

# 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.
939
#	echo "Make sure the root window of the dmg will pop up when the dmg is mounted" ;
940
#	mkdir -p $(top_builddir)/vlcmnt ;
941 942
#	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)" ;
943
#	sleep 1 # Make sure operation completes
944
#	cd "$(srcdir)"
945 946

# Unmount the image now
947
#	hdiutil detach "$(top_builddir)/vlcmnt/vlc-$(VERSION)" ;
948
#	rm -R $(top_builddir)/vlcmnt ;
949 950 951 952

# 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" ;
953 954 955
	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" ;
956 957

# We are done
958
	echo "Disk image creation completed:" ;
959
	ls -la "$(top_builddir)/vlc-$(VERSION).dmg" ; echo ;
960 961

# Clean up
962
	rm -Rf "$(top_builddir)/vlc-$(VERSION)" ;
963

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

# Create disk image 
978 979 980 981 982 983
	rm -f "$(top_builddir)/vlc-plugin-$(VERSION).dmg"; true
	rm -rf "$(top_builddir)/vlc-plugin-$(VERSION)/"; true
	mkdir -p "$(top_builddir)/vlc-plugin-$(VERSION)/"
	mv "$(top_builddir)/VLC Internet Plug-In.pkg" "$(top_builddir)/vlc-plugin-$(VERSION)/"
	hdiutil create -srcfolder "$(top_builddir)/vlc-plugin-$(VERSION)" \
	  "$(top_builddir)/vlc-plugin-$(VERSION).dmg" -format UDZO \
984 985
	  -scrub -imagekey zlib-level=9 ;
	echo "Disk image creation completed:"
986
	rm -rf "$(top_builddir)/vlc-plugin-$(VERSION)"
987 988
endif

989
package-translations:
990 991
	@if test -e "$(srcdir)/vlc-translations-$(VERSION)"; then \
	  echo "Error: please remove $(srcdir)/vlc-translations-$(VERSION), it is in the way"; \
992 993
	  false; \
	else \
994
	  echo "OK."; mkdir -p "$(srcdir)/vlc-translations-$(VERSION)"; \
995 996
	fi
# Copy translations
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
997
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
998
	  cp "$(srcdir)/po/$${i}.po" \
999
	    "$(srcdir)/vlc-translations-$(VERSION)/$${i}.po" \
1000 1001 1002
	    || true ; \
	done
	cp "$(srcdir)/doc/translations.txt" \
1003
	  "$(srcdir)/vlc-translations-$(VERSION)/README.txt"
1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016

	echo "#!/bin/sh" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo 'if test $$# != 1; then' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "	echo \"Usage: convert-po.sh <.po file>\"" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "	exit 1" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "fi" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo 'msgfmt --statistics -o vlc.mo $$1' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"

	$(AMTAR) chof - $(srcdir)/vlc-translations-$(VERSION) \
	  | GZIP=$(GZIP_ENV) gzip -c >$(srcdir)/vlc-translations-$(VERSION).tar.gz

1017 1018
###############################################################################
# PO translation files update
Christophe Mutricy's avatar
Christophe Mutricy committed
1019 1020
# Generate po/POTFILES.in which lists all the files containing translatable
# strings. Find all source files and remove the generated files
1021 1022 1023 1024 1025 1026
###############################################################################
.PHONY: update-po

update-po:
	rm -f $(top_srcdir)/po/POTFILES.in
	{ \
1027
	  cd $(top_srcdir) && \
1028 1029 1030 1031
	  echo "# automatically created by make update-po" ; \
	  echo "" ; \
	  echo "# main sources" ; \
	  find include src -name '*.[chm]' -o -name '*.[ch]pp' \
1032
	    | grep -v '\(misc/modules_\|src/misc/revision.c\|modules/builtin.h\|include/vlc_about.h\)' \
1033 1034 1035
	    | sort ; \
	  echo "" ; \
	  echo "# modules" ; \
1036
	  find modules -name '*.[chm]' -o -name '*.[ch]pp' -o -name '*.ui' \
1037
	    | grep -v '\(\.moc\.\|gui/gtk2/\)' \
1038 1039 1040
	    | grep -vE 'qt4/ui/.*.h' \
	    | grep -v 'qt4/resources.cpp\|qt4/dialogs/about.hpp' \
	    | grep -v 'gui/opie' \
1041 1042 1043
	    | sort ; \
	} > $(top_srcdir)/po/POTFILES.in
	rm -f $(top_srcdir)/po/vlc.pot
1044
	cd po && $(MAKE) POTFILES vlc.pot update-po
1045 1046 1047

#cd po && $(MAKE) update-po

Sam Hocevar's avatar
Sam Hocevar committed
1048 1049 1050
###############################################################################
# Stamp rules
###############################################################################
1051 1052 1053 1054
stamp-builtin:
	@for dep in "" `$(VLC_CONFIG) --target plugin`; do \
	  if test "$${dep}.la" -nt "$(top_builddir)/vlc$(EXEEXT)"; then \
	    touch "$@"; \
Sam Hocevar's avatar
Sam Hocevar committed
1055 1056 1057
	    break; \
	  fi; \
	done
1058 1059

.PHONY: stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
1060

1061 1062 1063
###############################################################################
# Enforce Mac OS X deployment target environment variable
###############################################################################
1064
macosx-sdk: Makefile.in $(HEADERS_include) vlc-config
1065
	export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET)