Makefile.am 45.7 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

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 \
41
	--disable-ffmpeg --disable-faad --disable-wxwidgets --disable-skins2
42

43
ACLOCAL_AMFLAGS = -I m4
44 45 46 47 48 49
AUTOMAKE_OPTIONS = \
	1.9 \
	-Wall \
	check-news \
	dist-bzip2 \
	no-dist-gzip
50
#	std-options
51 52 53 54 55 56

###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
57 58 59 60 61 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
	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
209 210

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

224
dist-hook:
225
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
226

227 228 229 230 231
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
232
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
233 234
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
235
	touch $@
236

237 238
vlc-config.in: vlc-config.in.in
	./config.status --recheck
239
	touch $@
240

241
CLEANFILES = $(BUILT_SOURCES_clean) stamp-builtin
242
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
243

244 245 246 247
# 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:
248
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
249

250 251
core:
	cd src && $(MAKE) $(AM_MAKEFLAGS) vlc
252

253
.PHONY: libvlc core
254

Christophe Mutricy's avatar
Christophe Mutricy committed
255 256
#To get some nice output
nice:
Christophe Mutricy's avatar
Christophe Mutricy committed
257
	$(top_builddir)/compile
Christophe Mutricy's avatar
Christophe Mutricy committed
258

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

285 286 287 288 289 290
###############################################################################
# Building aliases
###############################################################################

ALL_ALIASES = cvlc rvlc svlc wxvlc qvlc nvlc
bin_SCRIPTS += $(ALIASES)
291
CLEANFILES += $(ALIASES)
292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314
EXTRA_SCRIPTS = $(ALL_ALIASES)

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
315

316
noinst_SCRIPTS = vlc$(EXEEXT)
317 318

vlc$(EXEEXT): core
319
	rm -f vlc$(EXEEXT)
320 321 322 323 324 325
	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
326

327 328
if HAVE_DARWIN
# Create the MacOS X app
329
noinst_DATA = VLC.app
330 331
# VLC-release.app is the old VLC.app target
VLC-release.app: vlc
332
	( cd src && make install )
333
	rm -Rf "$(top_builddir)/tmp"
334
	mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
335
	rm -Rf $(top_builddir)/VLC-release.app
336 337 338 339
	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 \
340 341 342 343 344
	  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 \
345 346
	    AppleRemote.h \
	    AppleRemote.m \
347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371
	    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 \
372 373
	    simple_prefs.h \
	    simple_prefs.m \
374 375 376
	    vout.h \
	    voutqt.m \
	    voutgl.m \
377 378
	    wizard.h \
	    wizard.m \
379 380
	    extended.h \
	    extended.m \
381 382
	    bookmarks.h \
	    bookmarks.m \
383 384
	    sfilters.h \
	    sfilters.m \
385 386 387 388 389 390
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
391 392
	    fspanel.h \
	    fspanel.m \
393 394 395 396
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
397
	cd $(top_builddir)/tmp/extras/package/macosx && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
398
	    cd ../../../../ && \
399
	    cp -R $(top_builddir)/tmp/extras/package/macosx/build/Default/VLC.bundle \
400
	          $(top_builddir)/VLC-release.app; \
401 402
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
403
	ACTION="VLC-release.app" src_dir=$(srcdir) build_dir=$(top_builddir) sh $(srcdir)/projects/macosx/framework/Pre-Compile.sh
404 405 406 407
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/luaplaylist
	for i in $(srcdir)/share/luaplaylist/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/luaplaylist/`basename $${i}` ; \
	done ; \
408 409 410 411
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/luameta
	for i in $(srcdir)/share/luameta/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/luameta/`basename $${i}` ; \
	done ; \
412 413 414 415 416 417 418 419
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/luaintf
	for i in $(srcdir)/share/luaintf/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/luaintf/`basename $${i}` ; \
	done ; \
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/luaintf/modules
	for i in $(srcdir)/share/luaintf/modules/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/luaintf/modules/`basename $${i}` ; \
	done ; \
420 421 422 423 424 425 426
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/dialogs
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/js
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/old
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/old/admin
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/old/vlm
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/images
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/requests
427
	$(INSTALL) -m 644 $(srcdir)/share/http-lua/.hosts $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/.hosts
428 429
	for i in $(srcdir)/share/http-lua/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/`basename $${i}` ; \
430
	done
431 432
	for i in $(srcdir)/share/http-lua/dialogs/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/dialogs/`basename $${i}` ; \
433
	done
434 435
	for i in $(srcdir)/share/http-lua/js/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/js/`basename $${i}` ; \
436
	done
437 438
	for i in $(srcdir)/share/http-lua/old/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/old/`basename $${i}` ; \
439
	done
440 441
	for i in $(srcdir)/share/http-lua/old/admin/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/old/admin/`basename $${i}` ; \
442
	done
443 444
	for i in $(srcdir)/share/http-lua/old/vlm/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/old/vlm/`basename $${i}` ; \
445
	done
446 447
	for i in $(srcdir)/share/http-lua/images/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/images/`basename $${i}` ; \
448
	done
449 450
	for i in $(srcdir)/share/http-lua/requests/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/requests/`basename $${i}` ; \
451
	done
452
	$(INSTALL) -m 644 $(srcdir)/share/http-lua/requests/readme $(top_builddir)/VLC-release.app/Contents/MacOS/share/http-lua/requests/readme.txt
453 454 455 456 457 458 459
	$(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
460 461
	$(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
462
	for i in $(srcdir)/share/http/*.* ; do \
463
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \
464
	done
465 466
	for i in $(srcdir)/share/http/dialogs/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/dialogs/`basename $${i}` ; \
467
	done
468 469
	for i in $(srcdir)/share/http/js/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/js/`basename $${i}` ; \
470
	done
471 472
	for i in $(srcdir)/share/http/old/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old/`basename $${i}` ; \
473
	done
474 475
	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}` ; \
476
	done
477 478
	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}` ; \
479
	done
480 481
	for i in $(srcdir)/share/http/images/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/images/`basename $${i}` ; \
482
	done
483 484
	for i in $(srcdir)/share/http/requests/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/`basename $${i}` ; \
485
	done
486
	$(INSTALL) -m 644 $(srcdir)/share/http/requests/readme $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/readme.txt
487
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
488
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
489 490 491 492 493 494 495 496 497
	  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
498 499
	find $(top_builddir)/VLC-release.app -type d -exec chmod ugo+rx '{}' \;
	find $(top_builddir)/VLC-release.app -type f -exec chmod ugo+r '{}' \;
500

501 502
VLC.app: vlc 
	( cd src && make install )
503 504
	rm -Rf $(top_builddir)/tmp
	mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
Loïc Minier's avatar
Loïc Minier committed
505
	rm -Rf $(top_builddir)/VLC.app
506 507 508 509
	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
510 511 512 513 514
	  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 \
515 516
	    AppleRemote.h \
	    AppleRemote.m \
Loïc Minier's avatar
Loïc Minier committed
517 518 519 520 521 522
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
523 524
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
525 526 527 528 529 530 531 532 533 534 535
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
536 537
	    playlistinfo.h \
	    playlistinfo.m \
538 539
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
540 541
	    prefs.h \
	    prefs.m \
542 543
	    simple_prefs.h \
	    simple_prefs.m \
Loïc Minier's avatar
Loïc Minier committed
544
	    vout.h \
545 546
	    voutqt.m \
	    voutgl.m \
547 548
	    wizard.h \
	    wizard.m \
549 550
	    extended.h \
	    extended.m \
551 552
	    bookmarks.h \
	    bookmarks.m \
553 554
	    sfilters.h \
	    sfilters.m \
555 556 557 558 559 560
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
561 562
	    fspanel.h \
	    fspanel.m \
Loïc Minier's avatar
Loïc Minier committed
563 564 565 566
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
567
	cd $(top_builddir)/tmp/extras/package/macosx && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
568
	    cd ../../../../ && \
569
	    cp -R $(top_builddir)/tmp/extras/package/macosx/build/Default/VLC.bundle \
570
	          $(top_builddir)/VLC.app
Loïc Minier's avatar
Loïc Minier committed
571 572
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
573
	$(INSTALL) $(top_builddir)/src/.libs/vlc \
Loïc Minier's avatar
Loïc Minier committed
574
		   $(top_builddir)/VLC.app/Contents/MacOS/VLC
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
575
	ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
Loïc Minier's avatar
Loïc Minier committed
576
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
577
	for i in `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
578
	  if test -n "$$i" ; \
579 580 581
	   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
Felix Paul Kühne committed
582
	ln -sfn `pwd`/$(srcdir)/share $(top_builddir)/VLC.app/Contents/MacOS/
Loïc Minier's avatar
Loïc Minier committed
583
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
584
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
Loïc Minier's avatar
Loïc Minier committed
585
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
586
	  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
587 588 589 590 591
	  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 ; \
592
	done
Loïc Minier's avatar
Loïc Minier committed
593
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
594 595
endif

596 597 598 599 600
###############################################################################
# Building architecture-specific binary packages
###############################################################################

# XXX: this rule is probably only useful to you if you have exactly
601
# the same setup as the maintaner(s).
602
#
603 604

package-win-common:
605
# Check that tmp isn't in the way
606 607
	@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
608
	  false; \
609
	else \
610
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-$(VERSION)"; \
611
	fi
612

613
# Copy relevant files
614
	cp "$(top_builddir)/src/.libs/vlc$(EXEEXT)" "$(top_builddir)/vlc-$(VERSION)/"
615
	cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(top_builddir)/vlc-$(VERSION)/"
616 617
	cp "$(top_builddir)/src/.libs/libvlc$(LIBEXT)" "vlc-$(VERSION)/"
	cp "$(top_builddir)/src/.libs/libvlc-control$(LIBEXT)" "vlc-$(VERSION)/"
618

619
	for file in AUTHORS MAINTAINERS THANKS ; \
620
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-$(VERSION)/$${file}.txt" ; done;
Christophe Mutricy's avatar
Christophe Mutricy committed
621
	for file in NEWS COPYING README; \
622 623
	   do cp "$(srcdir)/$$file" "$(top_builddir)/vlc-$(VERSION)/$${file}.txt"; done
	  unix2dos "$(top_builddir)/vlc-$(VERSION)/"*.txt
624

625
	mkdir $(top_builddir)/vlc-$(VERSION)/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
626
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
627
	  mkdir -p "$(top_builddir)/vlc-$(VERSION)/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
628
	  cp "$(srcdir)/po/$${i}.gmo" \
629
	    "$(top_builddir)/vlc-$(VERSION)/locale/$${i}/LC_MESSAGES/vlc.mo" \
630
            || true ; \
631 632
	done

633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 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 707
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http-lua/images"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http-lua/requests"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http-lua/js"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http-lua/dialogs"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http-lua/old"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http-lua/old/vlm"
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/http-lua/old/admin"
	cp $(srcdir)/share/http-lua/*.html $(top_builddir)/vlc-$(VERSION)/http-lua/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http-lua/*.html ;
	cp $(srcdir)/share/http-lua/.hosts $(top_builddir)/vlc-$(VERSION)/http-lua/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http-lua/.hosts ;
	cp $(srcdir)/share/http-lua/*.css $(top_builddir)/vlc-$(VERSION)/http-lua/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http-lua/*.css ;
	cp $(srcdir)/share/http-lua/js/*.js $(top_builddir)/vlc-$(VERSION)/http-lua/js/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http-lua/js/*.js ;
	cp $(srcdir)/share/http-lua/dialogs/* $(top_builddir)/vlc-$(VERSION)/http-lua/dialogs/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http-lua/dialogs/* ;
	cp $(srcdir)/share/http-lua/dialogs/.hosts $(top_builddir)/vlc-$(VERSION)/http-lua/dialogs/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http-lua/dialogs/.hosts ;
	cp $(srcdir)/share/http-lua/*.ico $(top_builddir)/vlc-$(VERSION)/http-lua/ ;
	cp $(srcdir)/share/http-lua/images/*.png $(top_builddir)/vlc-$(VERSION)/http-lua/images/
	cp $(srcdir)/share/http-lua/requests/*.xml $(top_builddir)/vlc-$(VERSION)/http-lua/requests/ ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http-lua/requests/*.xml ;
	cp $(srcdir)/share/http-lua/requests/readme $(top_builddir)/vlc-$(VERSION)/http-lua/requests/readme.txt ;
	unix2dos $(top_builddir)/vlc-$(VERSION)/http-lua/requests/readme.txt ;

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

	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)/ ;
708

709
if BUILD_MOZILLA
710
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/mozilla"
711
	cp $(top_builddir)/projects/mozilla/.libs/npvlc$(LIBEXT) $(top_builddir)/vlc-$(VERSION)/mozilla/ ;
712 713
endif

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

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

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

738 739
package-win32-base-debug: package-win-common
# Copy relevant files
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
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/plugins"
743 744
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
745
	    $(INSTALL) "$(top_builddir)/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)" \
746
            "$(top_builddir)/vlc-$(VERSION)/plugins/" ; \
747 748
	  fi ; done

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

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

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


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

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

809
package-win32-base-exe-cygwin: package-win32-base-exe
810
# Create package
811

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

816
package-win32-base-zip: package-win32-base
817
# Create package 
818
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
819

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

824 825
package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
826
	rm -Rf $(top_builddir)/vlc-$(VERSION)
827

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

# 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" ;
949 950 951
	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" ;
952 953

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

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

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

# Create disk image 
974 975 976 977 978 979
	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 \
980 981
	  -scrub -imagekey zlib-level=9 ;
	echo "Disk image creation completed:"
982
	rm -rf "$(top_builddir)/vlc-plugin-$(VERSION)"
983 984
endif

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

	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

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

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

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

Sam Hocevar's avatar
Sam Hocevar committed
1044 1045 1046
###############################################################################
# Stamp rules
###############################################################################
1047 1048 1049 1050
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
1051 1052 1053
	    break; \
	  fi; \
	done
1054 1055

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

1057 1058 1059
###############################################################################
# Enforce Mac OS X deployment target environment variable
###############################################################################
1060
macosx-sdk: Makefile.in $(HEADERS_include) vlc-config
1061
	export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET)