Makefile.am 46.4 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 \
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
Christophe Mutricy's avatar
Christophe Mutricy committed
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
	extras/misc/mpris.py \
	extras/misc/mpris.glade
222

Gildas Bazin's avatar
 
Gildas Bazin committed
223
dist-hook:
224
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
225

226 227 228 229 230
###############################################################################
# Building libvlc
###############################################################################

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

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

240
CLEANFILES = $(BUILT_SOURCES_clean) stamp-builtin
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
241
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
242

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

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

252
.PHONY: libvlc core
253

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

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

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

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

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
316

317
if BUILD_VLC
318
noinst_SCRIPTS = vlc$(EXEEXT)
319
endif
320 321

vlc$(EXEEXT): core
322
	rm -f vlc$(EXEEXT)
323 324 325 326 327 328
	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
329

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

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

616 617 618 619 620
###############################################################################
# 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
621
# the same setup as the maintaner(s).
622
#
623 624

package-win-common:
625
# Check that tmp isn't in the way
626 627
	@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
628
	  false; \
629
	else \
630
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-$(VERSION)"; \
631
	fi
632

633
# Copy relevant files
634
	cp "$(top_builddir)/src/.libs/vlc$(EXEEXT)" "$(top_builddir)/vlc-$(VERSION)/"
635
	cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(top_builddir)/vlc-$(VERSION)/"
636 637
	cp "$(top_builddir)/src/.libs/libvlc$(LIBEXT)" "vlc-$(VERSION)/"
	cp "$(top_builddir)/src/.libs/libvlc-control$(LIBEXT)" "vlc-$(VERSION)/"
638

639
	for file in AUTHORS MAINTAINERS THANKS ; \
640
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-$(VERSION)/$${file}.txt" ; done;
Christophe Mutricy's avatar
Christophe Mutricy committed
641
	for file in NEWS COPYING README; \
642 643
	  do cp "$(srcdir)/$$file" "$(top_builddir)/vlc-$(VERSION)/$${file}.txt"; done
	unix2dos "$(top_builddir)/vlc-$(VERSION)/"*.txt
Gildas Bazin's avatar
 
Gildas Bazin committed
644

645
	mkdir $(top_builddir)/vlc-$(VERSION)/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
646
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
647
	  mkdir -p "$(top_builddir)/vlc-$(VERSION)/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
648
	  cp "$(srcdir)/po/$${i}.gmo" \
649
	    "$(top_builddir)/vlc-$(VERSION)/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
650
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
651 652
	done

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 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727
	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)/ ;
728

Gildas Bazin's avatar
 
Gildas Bazin committed
729
if BUILD_MOZILLA
730
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/mozilla"
731
	cp $(top_builddir)/projects/mozilla/.libs/npvlc$(LIBEXT) $(top_builddir)/vlc-$(VERSION)/mozilla/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
732 733
endif

734
if BUILD_ACTIVEX
735
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/activex"
736 737
	cp $(srcdir)/projects/activex/README.TXT  $(top_builddir)/vlc-$(VERSION)/activex/ ;
	cp $(srcdir)/projects/activex/test.html  $(top_builddir)/vlc-$(VERSION)/activex/ ;
738
	unix2dos $(top_builddir)/vlc-$(VERSION)/activex/* ;
739

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

747
package-win-common-strip:
748 749 750
	$(STRIP) "$(top_builddir)/vlc-$(VERSION)/vlc$(EXEEXT)"
	$(STRIP) "vlc-$(VERSION)/libvlc$(LIBEXT)"
	$(STRIP) "vlc-$(VERSION)/libvlc-control$(LIBEXT)"
751
if BUILD_MOZILLA
752
	$(STRIP) $(top_builddir)/vlc-$(VERSION)/mozilla/npvlc$(LIBEXT);
753 754
endif
if BUILD_ACTIVEX
755
	$(STRIP) $(top_builddir)/vlc-$(VERSION)/activex/axvlc$(LIBEXT);
756 757
endif

758 759
package-win32-base-debug: package-win-common
# Copy relevant files
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
760
	cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(top_builddir)/vlc-$(VERSION)/"
761

762
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/plugins"
763 764
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
765
	    $(INSTALL) "$(top_builddir)/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)" \
766
            "$(top_builddir)/vlc-$(VERSION)/plugins/" ; \
767 768
	  fi ; done

769
	mkdir -p $(top_builddir)/vlc-$(VERSION)/skins/fonts
770
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
771
	  cp $$i $(top_builddir)/vlc-$(VERSION)/skins/fonts/ || true ; \
772 773
	done
	for i in $(srcdir)/share/skins2/*.*; do \
774
	  cp $$i $(top_builddir)/vlc-$(VERSION)/skins/ || true ; \
775 776
	done

777
	$(INSTALL) -d $(top_builddir)/vlc-$(VERSION)/share/luaplaylist
Rafaël Carré's avatar
Rafaël Carré committed
778
	for i in $(srcdir)/share/luaplaylist/*.* ; do \
779
	  $(INSTALL) -m 644 $${i} $(top_builddir)/vlc-$(VERSION)/share/luaplaylist/`basename $${i}` ; \
Rafaël Carré's avatar
Rafaël Carré committed
780
	done ;
781
	$(INSTALL) -d $(top_builddir)/vlc-$(VERSION)/share/luameta
782
	for i in $(srcdir)/share/luameta/*.* ; do \
783
	  $(INSTALL) -m 644 $${i} $(top_builddir)/vlc-$(VERSION)/share/luameta/`basename $${i}` ; \
784
	done ;
785
	$(INSTALL) -d $(top_builddir)/vlc-$(VERSION)/share/luaintf
786
	for i in $(srcdir)/share/luaintf/*.* ; do \
787
	  $(INSTALL) -m 644 $${i} $(top_builddir)/vlc-$(VERSION)/share/luaintf/`basename $${i}` ; \
788
	done ;
789
	$(INSTALL) -d $(top_builddir)/vlc-$(VERSION)/share/luaintf/modules
790
	for i in $(srcdir)/share/luaintf/modules/*.* ; do \
791
	  $(INSTALL) -m 644 $${i} $(top_builddir)/vlc-$(VERSION)/share/luaintf/modules/`basename $${i}` ; \
792
	done ;
793

794 795
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/osdmenu"
	cp $(srcdir)/share/osdmenu/*.* "$(top_builddir)/vlc-$(VERSION)/osdmenu"
796
	for dir in dvd dvd/selected dvd/unselect dvd/selection dvd/volume default default/selected default/selection default/volume minimal;do \
797
		mkdir -p "$(top_builddir)/vlc-$(VERSION)/osdmenu/$$dir"; \
798
		for file in $(srcdir)/share/osdmenu/$${dir}/*.*;do \
799
			 cp $$file "$(top_builddir)/vlc-$(VERSION)/osdmenu/$$dir" || true; \
800 801
		done; \
	done
802 803
	unix2dos $(top_builddir)/vlc-$(VERSION)/osdmenu/*.cfg;
	for file in $(top_builddir)/vlc-$(VERSION)/osdmenu/*.cfg; do \
804 805 806 807
		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
808 809


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

814
package-win32-base-exe: package-win32-base
815
# Create package
816
	if makensis -VERSION >/dev/null 2>&1; then \
817
	    MAKENSIS="makensis -DVERSION=$(VERSION)"; \
818
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
819 820 821
	    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
822
	elif wine --version >/dev/null 2>&1; then \
823
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe /DVERSION=$(VERSION)"; \
824 825 826
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
827
	eval "$$MAKENSIS $(top_builddir)/vlc-$(VERSION)/vlc.win32.nsi"
828

829
package-win32-base-exe-cygwin: package-win32-base-exe
830
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
831

832 833
package-win32-base-exe-linux:
# Create package
834
	makensis -DVERSION=$(VERSION) $(top_builddir)/vlc-$(VERSION)/vlc.win32.nsi
835

836
package-win32-base-zip: package-win32-base
837
# Create package 
838
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
839

840 841
package-win32-base-7zip: package-win32-base
# Create package 
842
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
843

Gildas Bazin's avatar
 
Gildas Bazin committed
844 845
package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
846
	rm -Rf $(top_builddir)/vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
847

848 849
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
850
	rm -Rf $(top_builddir)/vlc-$(VERSION)
851

852
package-win32-zip: package-win32-base-zip
Gildas Bazin's avatar
 
Gildas Bazin committed
853
# Clean up
854
	rm -Rf $(top_builddir)/vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
855

856 857
package-win32-7zip: package-win32-base-7zip
# Clean up
858
	rm -Rf $(top_builddir)/vlc-$(VERSION)
859

860 861 862
package-win32-no-clean: package-win32-base-exe package-win32-base-zip package-win32-base-7zip

package-win32: package-win32-no-clean
863
# Clean up
864
	rm -Rf $(top_builddir)/vlc-$(VERSION)
865

866
package-wince-base: package-win-common package-win-common-strip
867 868 869

package-wince-base-zip:
# Create package 
870
	zip -r vlc-$(VERSION)-wince.zip vlc-$(VERSION)
871 872 873

package-wince: package-wince-base  package-wince-base-zip
# Clean up
874
	rm -Rf $(top_builddir)/vlc-$(VERSION)
875 876


877 878
package-beos:
# Check that tmp isn't in the way
879
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
880
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
881
	  false ; \
882
	else \
883
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
884
	fi
885

886
# Copy relevant files
887
	mkdir -p $(srcdir)/tmp/vlc ;
888 889 890 891 892 893
	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 {} \; ;
894 895 896 897
	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 ;
898

899
# Create normal package
900 901
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
902
	  --strip-debug --strip-unneeded "{}" \; ;
903 904
	xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
	find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
905 906 907
	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)/ ;
908

909
# Clean up
910
	rm -Rf $(srcdir)/tmp ;
911 912

package-macosx:
913
# Check that the temporary location isn't in the way
914 915
	@if test -e "$(top_builddir)/vlc-$(VERSION)/"; then \
	  rm -Rf "$(top_builddir)/vlc-$(VERSION)/" ; \
916 917
	fi

918 919
	echo "Create package directory: vlc-$(VERSION)/";
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/";
920

921
# Copy relevant files 
922
	@if test -e "$(top_builddir)/VLC-release.app/"; then \
923
	  cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
924
	else \
925
	  cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
926
	fi
927 928 929
	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/ && \
930
          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
931
	  cp extras/package/macosx/README.MacOSX.rtf $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf && \
932
	  cp extras/package/macosx/Resources/about_bg.png $(top_builddir)/vlc-$(VERSION)/.background/background.png ;
933 934

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

937
# Create disk image (temporarily taken from the 0.8.6-bugfix branch to provide reliable NBs)
938
	echo "Creating disk image" ;
939 940 941
	rm -f "$(top_builddir)/vlc-$(VERSION).dmg" ;
	hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" \
	  "$(top_builddir)/vlc-$(VERSION).dmg" -scrub ;
942
	echo "Disk image creation completed:" ;
943
	ls -la "$(top_builddir)/vlc-$(VERSION).dmg" ; echo ;
944 945 946

# Create disk image 
#	echo "Creating disk image" ;
947 948 949
#	rm -f "$(top_builddir)/vlc-$(VERSION).dmg" ;
#	hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" \
#	  "$(top_builddir)/vlc-$(VERSION).dmg" -format UDRW \
950
#	  -scrub -imagekey zlib-level=9 -attach ;
951 952 953 954

# 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.
955
#	echo "Make sure the root window of the dmg will pop up when the dmg is mounted" ;
956
#	mkdir -p $(top_builddir)/vlcmnt ;
957 958
#	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)" ;
959
#	sleep 1 # Make sure operation completes
960
#	cd "$(srcdir)"
961 962

# Unmount the image now
963
#	hdiutil detach "$(top_builddir)/vlcmnt/vlc-$(VERSION)" ;
964
#	rm -R $(top_builddir)/vlcmnt ;
965 966 967 968

# 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" ;
969 970 971
	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" ;
972 973

# We are done
974
	echo "Disk image creation completed:" ;
975
	ls -la "$(top_builddir)/vlc-$(VERSION).dmg" ; echo ;
976 977

# Clean up
978
	rm -Rf "$(top_builddir)/vlc-$(VERSION)" ;
979

980 981
package-macosx-plugin:
if BUILD_MOZILLA
982 983
# Create Installer
	rm -rf "$(top_builddir)/macosx-plugin-instdata/"; true
984
	mkdir -p "$(top_builddir)/macosx-plugin-instdata"
985
	cp -R "$(top_builddir)/projects/mozilla/VLC Plugin.plugin" "$(top_builddir)/macosx-plugin-instdata"
986
	rm -rf "$(top_builddir)/VLC Internet Plug-In.pkg"
987
	PATH=/Developer/usr/bin:/Developer/Tools:$$PATH packagemaker -build -ds -p "$(top_builddir)/VLC Internet Plug-In.pkg" \
988
	-f "$(top_builddir)/macosx-plugin-instdata" \
989 990
	-i "$(srcdir)/extras/package/macosx/plugin/InstallerInfo.plist" \
	-d "$(srcdir)/extras/package/macosx/plugin/InstallerDescription.plist"; true
991
	rm -rf "$(top_builddir)/macosx-plugin-instdata/"
992 993

# Create disk image 
994 995 996 997 998 999
	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 \
1000 1001
	  -scrub -imagekey zlib-level=9 ;
	echo "Disk image creation completed:"
1002
	rm -rf "$(top_builddir)/vlc-plugin-$(VERSION)"
1003 1004
endif

1005
package-translations:
1006 1007
	@if test -e "$(srcdir)/vlc-translations-$(VERSION)"; then \
	  echo "Error: please remove $(srcdir)/vlc-translations-$(VERSION), it is in the way"; \
1008 1009
	  false; \
	else \
1010
	  echo "OK."; mkdir -p "$(srcdir)/vlc-translations-$(VERSION)"; \
1011 1012
	fi
# Copy translations
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
1013
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
1014
	  cp "$(srcdir)/po/$${i}.po" \
1015
	    "$(srcdir)/vlc-translations-$(VERSION)/$${i}.po" \
1016 1017 1018
	    || true ; \
	done
	cp "$(srcdir)/doc/translations.txt" \
1019
	  "$(srcdir)/vlc-translations-$(VERSION)/README.txt"
1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032

	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

1033 1034
###############################################################################
# PO translation files update
Christophe Mutricy's avatar
Christophe Mutricy committed
1035 1036
# Generate po/POTFILES.in which lists all the files containing translatable
# strings. Find all source files and remove the generated files
1037 1038 1039 1040 1041 1042
###############################################################################
.PHONY: update-po

update-po:
	rm -f $(top_srcdir)/po/POTFILES.in
	{ \
1043
	  cd $(top_srcdir) && \
1044 1045 1046 1047
	  echo "# automatically created by make update-po" ; \
	  echo "" ; \
	  echo "# main sources" ; \
	  find include src -name '*.[chm]' -o -name '*.[ch]pp' \
1048
	    | grep -v '\(misc/modules_\|src/misc/revision.c\|modules/builtin.h\|include/vlc_about.h\)' \
1049 1050 1051
	    | sort ; \
	  echo "" ; \
	  echo "# modules" ; \
1052
	  find modules -name '*.[chm]' -o -name '*.[ch]pp' -o -name '*.ui' \
1053
	    | grep -v '\(\.moc\.\|gui/gtk2/\)' \
1054 1055 1056
	    | grep -vE 'qt4/ui/.*.h' \
	    | grep -v 'qt4/resources.cpp\|qt4/dialogs/about.hpp' \
	    | grep -v 'gui/opie' \
1057 1058 1059
	    | sort ; \
	} > $(top_srcdir)/po/POTFILES.in
	rm -f $(top_srcdir)/po/vlc.pot
1060
	cd po && $(MAKE) POTFILES vlc.pot update-po
1061 1062 1063

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

Sam Hocevar's avatar
Sam Hocevar committed
1064 1065 1066
###############################################################################
# Stamp rules
###############################################################################
1067 1068 1069 1070
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
1071 1072 1073
	    break; \
	  fi; \
	done
1074 1075

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

1077 1078 1079
###############################################################################
# Enforce Mac OS X deployment target environment variable
###############################################################################
1080
macosx-sdk: Makefile.in $(HEADERS_include) vlc-config
1081
	export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET)