Makefile.am 45.6 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 222
	extras/buildsystem/autotools/m4/autoconf260.m4 \
	extras/misc/mpris.py \
	extras/misc/mpris.glade
223

Gildas Bazin's avatar
 
Gildas Bazin committed
224
dist-hook:
225
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
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
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
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 ; \
Eric Petit's avatar
Eric Petit committed
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)
Christophe Mutricy's avatar
Christophe Mutricy committed
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 317 318 319 320 321 322 323 324
noinst_SCRIPTS = vlc

vlc: core
	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

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

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

594 595 596 597 598
###############################################################################
# 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
599
# the same setup as the maintaner(s).
600
#
601 602

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

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

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

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

631 632 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
	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)/ ;
706

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

# 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" ;
947 948 949
	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" ;
950 951

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

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

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

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

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

	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

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

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

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

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

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

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