Makefile.am 41.3 KB
Newer Older
1 2 3
###############################################################################
# Automake targets and declarations
###############################################################################
4

5 6
NULL =

7 8 9
# 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.
10 11
#  - intl should come before modules and . because all the code uses gettext
#  - modules should come before . because vlc needs the builtins
12
#  - . should come before mozilla/bindings because the plugin needs libvlc.a
13
#  - po should come before . because VLC.app needs the pofiles
14
#  - loader should come before modules because some plugins need it
15 16
SUBDIRS = intl po libs/loader libs/srtp \
		src modules . \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
17 18
		mozilla bindings activex share doc
DIST_SUBDIRS = $(SUBDIRS) m4 ipkg
19

20 21 22
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
23
	INSTALL.wince \
24
	vlc.exe.manifest \
25 26 27 28
	MAINTAINERS \
	README.MacOSX.rtf \
	bootstrap \
	toolbox \
29
	vlc-api.pl \
Sam Hocevar's avatar
Sam Hocevar committed
30
	vlc-config.in.in \
Christophe Mutricy's avatar
Hrm  
Christophe Mutricy committed
31
	vlc.fedora.spec \
32 33
	vlc.mandriva.spec \
	vlc.altlinux.spec \
34
	vlc.win32.nsi.in \
35 36
	$(NULL)

37
BUILT_SOURCES_distclean = vlc-config compile vlc.win32.nsi
38
BUILT_SOURCES_clean = macosx-sdk
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
39

40
BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
41

42 43
SUFFIXES = 

44
DISTCHECK_CONFIGURE_FLAGS = --disable-dvd --disable-mad --disable-libmpeg2 \
45
	--disable-ffmpeg --disable-faad --disable-wxwidgets --disable-skins2
46

47 48 49 50 51 52 53 54 55 56
# Tell aclocal to use -I m4. Wonder if it really works.
ACLOCAL_AMFLAGS = -I m4

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

EXTRA_DIST += \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib \
57
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
58 59
	extras/MacOSX/Resources/English.lproj/About.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/About.nib/info.nib \
60
	extras/MacOSX/Resources/English.lproj/About.nib/keyedobjects.nib \
61 62
	extras/MacOSX/Resources/English.lproj/Open.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Open.nib/info.nib \
63
	extras/MacOSX/Resources/English.lproj/Open.nib/keyedobjects.nib \
64 65
	extras/MacOSX/Resources/English.lproj/Preferences.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \
66
	extras/MacOSX/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
67 68 69
	extras/MacOSX/Resources/English.lproj/Wizard.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Wizard.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Wizard.nib/keyedobjects.nib \
70
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib \
71 72
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
73 74 75
	extras/MacOSX/Resources/English.lproj/Extended.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Extended.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Extended.nib/keyedobjects.nib \
76 77 78
	extras/MacOSX/Resources/English.lproj/SFilters.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/SFilters.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/SFilters.nib/keyedobjects.nib \
79 80 81
	extras/MacOSX/Resources/English.lproj/Update.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Update.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Update.nib/keyedobjects.nib \
82 83 84
	extras/MacOSX/Resources/English.lproj/Interaction.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Interaction.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Interaction.nib/keyedobjects.nib \
85 86 87
	extras/MacOSX/Resources/English.lproj/InteractionErrorPanel.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/InteractionErrorPanel.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/InteractionErrorPanel.nib/keyedobjects.nib \
88
	extras/MacOSX/Resources/English.lproj/InfoPlist.strings \
89 90 91 92 93 94 95 96
	extras/MacOSX/Resources/a52.icns \
	extras/MacOSX/Resources/aac.icns \
	extras/MacOSX/Resources/asf.icns \
	extras/MacOSX/Resources/asx.icns \
	extras/MacOSX/Resources/avi.icns \
	extras/MacOSX/Resources/bin.icns \
	extras/MacOSX/Resources/cue.icns \
	extras/MacOSX/Resources/dat.icns \
97
	extras/MacOSX/Resources/divx.icns \
98
	extras/MacOSX/Resources/dv.icns \
99
	extras/MacOSX/Resources/generic.icns \
100 101 102 103
	extras/MacOSX/Resources/m3u.icns \
	extras/MacOSX/Resources/mov.icns \
	extras/MacOSX/Resources/mp3.icns \
	extras/MacOSX/Resources/mp4.icns \
104 105 106 107
	extras/MacOSX/Resources/mpeg.icns \
	extras/MacOSX/Resources/mpeg1.icns \
	extras/MacOSX/Resources/mpeg2.icns \
	extras/MacOSX/Resources/mpeg4.icns \
108 109 110 111 112 113
	extras/MacOSX/Resources/mpg.icns \
	extras/MacOSX/Resources/ogg.icns \
	extras/MacOSX/Resources/ogm.icns \
	extras/MacOSX/Resources/pls.icns \
	extras/MacOSX/Resources/srt.icns \
	extras/MacOSX/Resources/sub.icns \
114
	extras/MacOSX/Resources/vlc.icns \
115 116 117
	extras/MacOSX/Resources/vob.icns \
	extras/MacOSX/Resources/wma.icns \
	extras/MacOSX/Resources/wmv.icns \
118
	extras/MacOSX/Resources/pause.png \
119
	extras/MacOSX/Resources/pause_blue.png \
120
	extras/MacOSX/Resources/play.png \
121
	extras/MacOSX/Resources/play_blue.png \
122
	extras/MacOSX/Resources/stop.png \
123 124 125 126
	extras/MacOSX/Resources/stop_blue.png \
	extras/MacOSX/Resources/display.png \
	extras/MacOSX/Resources/display_slider.png \
	extras/MacOSX/Resources/display_track.png \
127 128
	extras/MacOSX/Resources/equalizerdrawer_active.png \
	extras/MacOSX/Resources/equalizerdrawer_blue.png \
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
	extras/MacOSX/Resources/fullscreen_active.png \
	extras/MacOSX/Resources/fullscreen_blue.png \
	extras/MacOSX/Resources/next_active.png \
	extras/MacOSX/Resources/next_blue.png \
	extras/MacOSX/Resources/playlistdrawer_active.png \
	extras/MacOSX/Resources/playlistdrawer_blue.png \
	extras/MacOSX/Resources/previous_active.png \
	extras/MacOSX/Resources/previous_blue.png \
	extras/MacOSX/Resources/skip_forward_active.png \
	extras/MacOSX/Resources/skip_forward_blue.png \
	extras/MacOSX/Resources/skip_previous_active.png \
	extras/MacOSX/Resources/skip_previous_blue.png \
	extras/MacOSX/Resources/volume_high.png \
	extras/MacOSX/Resources/volume_low.png \
	extras/MacOSX/Resources/volumeslider_blue.png \
	extras/MacOSX/Resources/volumeslider_normal.png \
	extras/MacOSX/Resources/volumetrack.png \
146
	extras/MacOSX/Resources/about_bg.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
147 148 149 150 151 152 153 154
	extras/MacOSX/Resources/skip_forward_active_embedded.png \
	extras/MacOSX/Resources/play_embedded.png \
	extras/MacOSX/Resources/pause_embedded.png \
	extras/MacOSX/Resources/skip_previous_active_embedded.png \
	extras/MacOSX/Resources/pause_embedded_blue.png \
	extras/MacOSX/Resources/play_embedded_blue.png \
	extras/MacOSX/Resources/skip_forward_embedded_blue.png \
	extras/MacOSX/Resources/skip_previous_embedded_blue.png \
155
	extras/MacOSX/Resources/vlc.scriptSuite \
156
	extras/MacOSX/Resources/vlc.scriptTerminology \
157
	extras/MacOSX/Resources/README \
158 159 160 161 162 163 164
	extras/MacOSX/Resources/add_embedded.png \
	extras/MacOSX/Resources/add_embedded_blue.png \
	extras/MacOSX/Resources/repeat_embedded.png \
	extras/MacOSX/Resources/repeat_embedded_blue.png \
	extras/MacOSX/Resources/repeat_single_embedded_blue.png \
	extras/MacOSX/Resources/shuffle_embedded.png \
	extras/MacOSX/Resources/shuffle_embedded_blue.png \
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
	extras/MacOSX/Resources/fs_volume_slider_knob_highlight.png \
	extras/MacOSX/Resources/fs_volume_slider_knob.png \
	extras/MacOSX/Resources/fs_volume_slider_bar.png \
	extras/MacOSX/Resources/fs_volume_mute_highlight.png \
	extras/MacOSX/Resources/fs_volume_mute.png \
	extras/MacOSX/Resources/fs_volume_max_highlight.png \
	extras/MacOSX/Resources/fs_volume_max.png \
	extras/MacOSX/Resources/fs_time_slider_knob_highlight.png \
	extras/MacOSX/Resources/fs_time_slider_knob.png \
	extras/MacOSX/Resources/fs_time_slider.png \
	extras/MacOSX/Resources/fs_stop_highlight.png \
	extras/MacOSX/Resources/fs_stop.png \
	extras/MacOSX/Resources/fs_skip_previous_highlight.png \
	extras/MacOSX/Resources/fs_skip_previous.png \
	extras/MacOSX/Resources/fs_skip_next_highlight.png \
	extras/MacOSX/Resources/fs_skip_next.png \
	extras/MacOSX/Resources/fs_rewind_highlight.png \
	extras/MacOSX/Resources/fs_rewind.png \
	extras/MacOSX/Resources/fs_play_highlight.png \
	extras/MacOSX/Resources/fs_play.png \
	extras/MacOSX/Resources/fs_pause_highlight.png \
	extras/MacOSX/Resources/fs_pause.png \
	extras/MacOSX/Resources/fs_forward_highlight.png \
	extras/MacOSX/Resources/fs_forward.png \
	extras/MacOSX/Resources/fs_exit_fullscreen_highlight.png \
	extras/MacOSX/Resources/fs_exit_fullscreen.png \
	extras/MacOSX/Resources/fs_background.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
192
	extras/MacOSX/fullscreen_panel.svg \
193
	extras/MacOSX/ub.sh \
Christophe Mutricy's avatar
Christophe Mutricy committed
194
	extras/MacOSX/vlc.xcodeproj/project.pbxproj \
195
	extras/MacOSX/Delete_Preferences.app/Contents/Info.plist \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
196
	extras/MacOSX/Delete_Preferences.app/Contents/PkgInfo \
197 198 199 200 201
	extras/MacOSX/Delete_Preferences.app/Contents/MacOS/applet \
	extras/MacOSX/Delete_Preferences.app/Contents/Resources/description.rtfd/TXT.rtf \
	extras/MacOSX/Delete_Preferences.app/Contents/Resources/applet.icns \
	extras/MacOSX/Delete_Preferences.app/Contents/Resources/applet.rsrc \
	extras/MacOSX/Delete_Preferences.app/Contents/Resources/Scripts/main.scpt \
202 203 204 205
	extras/MacOSX/plugin/Info.plist \
	extras/MacOSX/plugin/InstallerInfo.plist \
	extras/MacOSX/plugin/InstallerDescription.plist \
	extras/MacOSX/plugin/pbdevelopment.plist \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
206
	extras/MacOSX/plugin/English.lproj/InfoPlist.strings \
207 208 209
	$(NULL)

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

###############################################################################
225
# MS Visual Studio and eMbedded Visual Studio projects
226 227 228 229
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
230 231
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
232
	msvc/vlc.dsp.in \
233
	msvc/config.h.in \
234
	msvc/modules_builtin_msvc.h \
235
	evc/vlc.vcw \
236
	evc/libvlc.vcp.in \
237
	evc/vlc.vcp.in \
238
	evc/plugins.vcp.in \
239
	evc/errno.h \
240
	evc/config.h.in \
241
	evc/modules_builtin_evc.h \
242 243
	$(NULL)

Gildas Bazin's avatar
 
Gildas Bazin committed
244
dist-hook:
245 246
	cd $(distdir) && srcdir=. $(SHELL) ./toolbox --update-vc
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
247

248 249 250 251 252
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
253
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
254 255
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
256
	touch $@
257

258 259
vlc-config.in: vlc-config.in.in
	./config.status --recheck
260
	touch $@
261

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

265 266 267 268
###############################################################################
# Building vlc
###############################################################################

Sam Hocevar's avatar
Sam Hocevar committed
269
bin_PROGRAMS = vlc
270

271
vlc_SOURCES = src/vlc.c
272
# Ugly kludge so that automake defines $(CXXLINK)
Christophe Mutricy's avatar
Christophe Mutricy committed
273
nodist_EXTRA_vlc_SOURCES = extras/zsh.cpp src/misc/darwin_specific.m
274

275 276
# Work around a bug in the arm-wince-pe linker
if HAVE_WINCE
277
vlc_WORKAROUNDLDFLAGS = $(LIBVLC)
278 279
endif

280 281
# We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an
# old automake-1.5 bug (automake/279).
282
DEPENDENCIES_vlc = src/$(LIB_libvlc) $(DATA_win32_rc)
283

284 285
vlc_LDADD = $(DATA_win32_rc) $(LIBVLC)

286 287
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
if USE_LIBTOOL
288 289
LIB_libvlc = libvlc.la
LIBVLC = src/$(LIB_libvlc)
290
vlc_LDFLAGS =
291
else
292
if HAVE_WIN32
293
vlc_LDFLAGS = -L$(top_builddir)/src -lvlc `$(VLC_CONFIG) --libs vlc`
294
LIB_libvlc = libvlc.dll.a
295
LIBVLC =
296
else
297
vlc_LDFLAGS = $(vlc_WORKAROUNDLFDLAGS) `$(VLC_CONFIG) --libs vlc builtin`
298 299
LIB_libvlc = libvlc.a
LIBVLC = src/$(LIB_libvlc)
300 301
DEPENDENCIES_vlc += stamp-builtin
endif
302
vlc_LDADD += $(INCLUDED_LIBINTL)
303
endif
304

305 306 307
# 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
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
308 309
libvlc:
	cd src && $(MAKE) $(AM_MAKEFLAGS) $(LIB_libvlc)
310

311 312
core: libvlc
	$(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT)
313

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
314 315 316
.PHONY: libvlc core

src/$(LIB_libvlc): libvlc
317

318
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc)
319
	@rm -f vlc$(EXEEXT)
320
	@case `$(VLC_CONFIG) --linkage vlc builtin` in \
321 322 323 324
	  c++) cmd="$(CXXLINK)" ;; \
	  objc) cmd="$(OBJCLINK)" ;; \
	  c|*) cmd="$(LINK)" ;; \
	esac ; \
325
	cmd="$$cmd $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS)" ; \
326 327
	echo $$cmd ; \
	eval $$cmd
Eric Petit's avatar
Eric Petit committed
328

329
if HAVE_BEOS
330
noinst_DATA = vlc-bundle
331
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
332 333 334
	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
335 336
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
337 338
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
339 340
	  fi ; \
	done
Sam Hocevar's avatar
Sam Hocevar committed
341 342 343 344
	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/ ; \
345 346
	  done ; \
	fi
Eric Petit's avatar
Eric Petit committed
347
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
348 349 350
	  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
351
	done
Sam Hocevar's avatar
Sam Hocevar committed
352
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
353 354
endif

355
# Install the symlinks
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
356
install-exec-local: install-binPROGRAMS
357
	inst="`echo vlc | sed -e '$(transform)'`" ; \
Sam Hocevar's avatar
Sam Hocevar committed
358
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
359
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
360
	  ln -sf "$${inst}" "$(DESTDIR)$(bindir)/$$i" ; \
361 362
	fi ; done

363 364 365 366 367 368
# the opposite of install-{data,exec}-local
uninstall-local:
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
	  rm -f "$(DESTDIR)$(bindir)/$$i" ; \
	fi ; done

369 370
if HAVE_DARWIN
# Create the MacOS X app
371
vlc_app_DATA = VLC.app
372
vlc_appdir = $(bindir)
373 374 375 376 377 378 379 380 381
# VLC-release.app is the old VLC.app target
VLC-release.app: vlc
	@if test -e "$(top_builddir)/tmp"; then \
	  echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
	  false; \
	else \
	  echo "OK."; mkdir -p "$(top_builddir)/tmp/extras"; \
	fi
	rm -Rf $(top_builddir)/VLC-release.app
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
382
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
383 384 385 386 387 388
	for i in AUTHORS COPYING README.MacOSX.rtf THANKS; do \
	  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 \
389 390
	    AppleRemote.h \
	    AppleRemote.m \
391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418
	    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 \
	    vout.h \
	    voutqt.m \
	    voutgl.m \
419 420
	    wizard.h \
	    wizard.m \
421 422
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
423 424
	    bookmarks.h \
	    bookmarks.m \
425 426
	    sfilters.h \
	    sfilters.m \
427 428 429 430 431 432
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
433 434
	    fspanel.h \
	    fspanel.m \
435 436 437 438
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
439
	cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
440 441
	    cd ../../../ && \
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
442
	          $(top_builddir)/VLC-release.app; \
443 444 445 446 447 448 449 450 451 452 453
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
	$(INSTALL) $(top_builddir)/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) "$$i$(LIBEXT)" \
			   "$(top_builddir)/VLC-release.app/Contents/MacOS/modules" ; \
	  fi ; done
454
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
455
	  mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/lib ; \
456
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
457
	    $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/lib/`basename $${i}` ; \
458 459
	  done ; \
	fi
460 461 462 463 464 465 466 467
	$(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
	for i in $(srcdir)/share/http/*.* ; do \
468 469
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \
	done ; \
470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490
	for i in $(srcdir)/share/http/dialogs/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/dialogs/`basename $${i}` ; \
	done ; \
	for i in $(srcdir)/share/http/js/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/js/`basename $${i}` ; \
	done ; \
	for i in $(srcdir)/share/http/old/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old/`basename $${i}` ; \
	done ; \
	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}` ; \
	done ; \
	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}` ; \
	done ; \
	for i in $(srcdir)/share/http/images/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/images/`basename $${i}` ; \
	done ; \
	for i in $(srcdir)/share/http/requests/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/`basename $${i}` ; \
	done ; \
491
	$(INSTALL) -m 644 $(srcdir)/share/http/requests/readme $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/readme.txt
492 493 494 495 496 497 498 499 500 501 502 503 504 505
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/locale
	for i in $(ALL_LINGUAS); do \
	  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 ; \
	  ln -sf ../English.lproj/vlc.scriptTerminology \
	      $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
	done
	printf "APPLVLC#" >| $(top_builddir)/VLC-release.app/Contents/PkgInfo

Sam Hocevar's avatar
Sam Hocevar committed
506
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
507 508 509 510 511 512 513
	@if test -e "$(top_builddir)/tmp"; then \
	  echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
	  false; \
	else \
	  echo "OK."; mkdir -p "$(top_builddir)/tmp/extras"; \
	fi
	rm -Rf $(top_builddir)/VLC.app
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
514
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
Loïc Minier's avatar
Loïc Minier committed
515 516 517 518 519 520
	for i in AUTHORS COPYING README.MacOSX.rtf THANKS; do \
	  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 \
521 522
	    AppleRemote.h \
	    AppleRemote.m \
Loïc Minier's avatar
Loïc Minier committed
523 524 525 526 527 528
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
529 530
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
531 532 533 534 535 536 537 538 539 540 541
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
542 543
	    playlistinfo.h \
	    playlistinfo.m \
544 545
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
546 547 548
	    prefs.h \
	    prefs.m \
	    vout.h \
549 550
	    voutqt.m \
	    voutgl.m \
551 552
	    wizard.h \
	    wizard.m \
553 554
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
555 556
	    bookmarks.h \
	    bookmarks.m \
557 558
	    sfilters.h \
	    sfilters.m \
559 560 561 562 563 564
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
565 566
	    fspanel.h \
	    fspanel.m \
Loïc Minier's avatar
Loïc Minier committed
567 568 569 570
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
571
	cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
572 573
	    cd ../../../ && \
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
574
	          $(top_builddir)/VLC.app; \
Loïc Minier's avatar
Loïc Minier committed
575 576 577 578
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
	$(INSTALL) $(top_builddir)/vlc \
		   $(top_builddir)/VLC.app/Contents/MacOS/VLC
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
579
	ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
Loïc Minier's avatar
Loïc Minier committed
580
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
Sam Hocevar's avatar
Sam Hocevar committed
581
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
582
	  if test -n "$$i" ; \
583
	    then ln -sfn "`pwd`/$$i$(LIBEXT)" \
Loïc Minier's avatar
Loïc Minier committed
584
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
585
	  fi ; done
586
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
587
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
588
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
589
	    ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/`basename $${i}` ; \
590
	  done ; \
591
	fi
592
	ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/
Loïc Minier's avatar
Loïc Minier committed
593
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
594
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
595
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
596
	  ln -sfn `pwd`/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
597 598 599 600 601
	  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 ; \
602
	done
Loïc Minier's avatar
Loïc Minier committed
603
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
604 605 606
endif

if HAVE_WIN32
607
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
608 609 610
noinst_share_vlc_win32_rc_DATA = share/vlc_win32_rc.$(OBJEXT)
noinst_share_vlc_win32_rcdir = $(libdir)
share/vlc_win32_rc.$(OBJEXT): share/vlc_win32_rc.rc
611
	$(WINDRES) -DVERSION=$(VERSION) -DVERSION_NUMBER=`echo $(VERSION).0.0.0 | sed 's/\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\).*/\1,\2,\3,\4/'` --include-dir $(srcdir)/share -i $< -o $@
612 613
endif

Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
614

615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632
###############################################################################
# Building specific source packages
###############################################################################

dist-woody: distdir
	$(remove_distdir_woody)
	mv $(distdir) $(PACKAGE)-woody-$(VERSION)
	$(srcdir)/toolbox --make-woody $(PACKAGE)-woody-$(VERSION)
	$(AMTAR) chof - $(PACKAGE)-woody-$(VERSION) \
	  | GZIP=$(GZIP_ENV) gzip -c >$(PACKAGE)-woody-$(VERSION).tar.gz
	$(remove_distdir_woody)

remove_distdir_woody = \
  { test ! -d $(PACKAGE)-woody-$(VERSION) \
    || { find $(PACKAGE)-woody-$(VERSION) -type d ! -perm -200 \
           -exec chmod u+w {} ';' \
         && rm -fr $(PACKAGE)-woody-$(VERSION); }; }

633 634 635 636 637 638 639
###############################################################################
# Building architecture-specific binary packages
###############################################################################

# XXX: this rule is probably only useful to you if you have exactly
# the same setup as me. Contact sam@zoy.org if you need to use it.
#
640 641

package-win-common:
642
# Check that tmp isn't in the way
643 644
	@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
645
	  false; \
646
	else \
647
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
648
	fi
649

650
# Copy relevant files
651 652
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
	cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
653
	cp "src/libvlc$(LIBEXT)" "vlc-${VERSION}/"
654

Gildas Bazin's avatar
 
Gildas Bazin committed
655
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
656 657
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; \
	  unix2dos "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
658

659
	mkdir $(top_builddir)/vlc-${VERSION}/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
660
	for i in $(ALL_LINGUAS); do \
661
	  mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
662
	  cp "$(srcdir)/po/$${i}.gmo" \
663
	    "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
664
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
665 666
	done

667 668
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests"
669 670
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/js"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/dialogs"
671 672 673
	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"
674
	cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
675
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
676 677
	cp $(srcdir)/share/http/.hosts $(top_builddir)/vlc-${VERSION}/http/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/.hosts ;
678
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
679
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
680 681
	cp $(srcdir)/share/http/js/*.js $(top_builddir)/vlc-${VERSION}/http/js/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/js/*.js ;
682 683
	cp $(srcdir)/share/http/dialogs/* $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/* ;
684 685
	cp $(srcdir)/share/http/dialogs/.hosts $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/.hosts ;
686
	cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
687 688 689
	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 ;
690 691
	cp $(srcdir)/share/http/requests/readme $(top_builddir)/vlc-${VERSION}/http/requests/readme.txt ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/requests/readme.txt ;
Gildas Bazin's avatar
 
Gildas Bazin committed
692

693 694 695
	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/ ;
696
	cp $(srcdir)/share/http/old/.hosts $(top_builddir)/vlc-${VERSION}/http/old/ ;
697 698 699 700 701
	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 ;
702
	cp $(srcdir)/share/http/old/admin/.access $(top_builddir)/vlc-${VERSION}/http/old/admin/ ;
703

704
	cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ;
705

Gildas Bazin's avatar
 
Gildas Bazin committed
706
if BUILD_MOZILLA
707
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
708
	cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
709 710
endif

711
if BUILD_ACTIVEX
712
	mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
Christophe Mutricy's avatar
Christophe Mutricy committed
713 714
	cp $(srcdir)/activex/README.TXT  $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(srcdir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
715 716 717 718
	unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;

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

724 725 726 727 728 729 730 731 732 733
package-win-common-strip:
	$(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
	$(STRIP) "vlc-${VERSION}/libvlc$(LIBEXT)"
if BUILD_MOZILLA
	$(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
endif
if BUILD_ACTIVEX
	$(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
endif

734 735
package-win32-base-debug: package-win-common
# Copy relevant files
736
	cp "$(top_builddir)/vlc.win32.nsi" "$(top_builddir)/vlc-${VERSION}/"
737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765

	mkdir -p "$(top_builddir)/vlc-${VERSION}/plugins"
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
	    $(INSTALL) "$(top_builddir)/$$i$(LIBEXT)" \
            "$(top_builddir)/vlc-${VERSION}/plugins/" ; \
	  fi ; done

	mkdir -p $(top_builddir)/vlc-${VERSION}/skins/fonts
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/fonts/ || true ; \
	done
	for i in $(srcdir)/share/skins2/*.*; do \
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/ || true ; \
	done

	mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu"
	cp $(srcdir)/share/osdmenu/*.* "$(top_builddir)/vlc-${VERSION}/osdmenu"
	for dir in dvd dvd/selected dvd/unselect dvd/selection dvd/volume default default/selected default/selection default/volume;do \
		mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir"; \
		for file in $(srcdir)/share/osdmenu/$${dir}/*.*;do \
			 cp $$file "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir" || true; \
		done; \
	done
	unix2dos $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg;
	sed -i 's%share/osdmenu%osdmenu%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg
	sed -i 's%/%\\%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg 


766
package-win32-base: package-win32-base-debug package-win-common-strip
767 768 769
	for i in "" $(top_builddir)/vlc-${VERSION}/plugins/*$(LIBEXT) ; \
	  do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done

770
package-win32-base-exe: package-win32-base
771
# Create package
772
	if makensis -VERSION >/dev/null 2>&1; then \
773
	    MAKENSIS="makensis -DVERSION=${VERSION}"; \
774
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
775
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis /DVERSION=${VERSION}"; \
776
	elif wine --version >dev/null 2>&1; then \
777
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe /DVERSION=${VERSION}"; \
778 779 780
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
781
	eval "$$MAKENSIS $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi"
782

783
package-win32-base-exe-cygwin: package-win32-base-exe
784
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
785

786 787 788 789
package-win32-base-exe-linux:
# Create package
	makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

790
package-win32-base-zip: package-win32-base
791
# Create package 
792
	zip -r -9 vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
793

794 795 796 797
package-win32-base-7zip: package-win32-base
# Create package 
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-${VERSION}-win32.7z vlc-${VERSION}

Gildas Bazin's avatar
 
Gildas Bazin committed
798 799
package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
800
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
801

802 803 804 805
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

806
package-win32-zip: package-win32-base-zip
Gildas Bazin's avatar
 
Gildas Bazin committed
807
# Clean up
808
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
809

810 811 812 813
package-win32-7zip: package-win32-base-7zip
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

814 815 816
package-win32-no-clean: package-win32-base-exe package-win32-base-zip package-win32-base-7zip

package-win32: package-win32-no-clean
817
# Clean up
818
	rm -Rf $(top_builddir)/vlc-${VERSION}
819

820
package-wince-base: package-win-common package-win-common-strip
821 822 823 824 825 826 827 828 829 830

package-wince-base-zip:
# Create package 
	zip -r vlc-${VERSION}-wince.zip vlc-${VERSION}

package-wince: package-wince-base  package-wince-base-zip
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}


831 832
package-beos:
# Check that tmp isn't in the way
833
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
834
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
835
	  false ; \
836
	else \
837
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
838
	fi
839

840
# Copy relevant files
841
	mkdir -p $(srcdir)/tmp/vlc ;
842 843 844 845 846 847 848
	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 {} \; ;
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
849
	(cd $(srcdir)/tmp && zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
850 851
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/ ;
	mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc ;
852

853
# Create normal package
854 855
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
856
	  --strip-debug --strip-unneeded "{}" \; ;
857 858 859
	xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
	find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
860
	(cd $(srcdir)/tmp &&  zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
861
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
862

863
# Clean up
864
	rm -Rf $(srcdir)/tmp ;
865 866

package-macosx:
867 868 869
# Check that the temporary location isn't in the way
	@if test -e "$(top_builddir)/vlc-${VERSION}/"; then \
	  rm -Rf "$(top_builddir)/vlc-${VERSION}/" ; \
870 871
	fi

872 873 874
	echo "Create package directory: vlc-${VERSION}/";
	mkdir -p "$(top_builddir)/vlc-${VERSION}/";

875
# Copy relevant files 
876 877 878 879 880
	@if test -e "$(top_builddir)/VLC-release.app/"; then \
	  cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-${VERSION}/VLC.app"; \
	else \
	  cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-${VERSION}/VLC.app"; \
	fi
881 882 883 884 885 886 887 888 889
	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/ && \
          cp -R extras/MacOSX/Delete_Preferences.app $(top_builddir)/vlc-${VERSION}/Goodies/Delete\ VLC\ Preferences.app && \
	  cp README.MacOSX.rtf $(top_builddir)/vlc-${VERSION}/Read\ Me.rtf && \
	  cp extras/MacOSX/Resources/about_bg.png $(top_builddir)/vlc-${VERSION}/.background/background.png ;

# Place a link to the application folder
	ln -s /Applications $(top_builddir)/vlc-${VERSION}/Applications ;
890 891

# Create disk image 
892 893 894
	echo "Creating disk image" ;
	rm -f "$(top_builddir)/vlc-${VERSION}.dmg" ;
	hdiutil create -srcfolder "$(top_builddir)/vlc-${VERSION}" \
895
	  "$(top_builddir)/vlc-${VERSION}.dmg" -format UDRW \
896
	  -scrub -imagekey zlib-level=9 ;
897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 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.
	echo "Make sure the root window of the dmg will pop up when the dmg is mounted" ;
	mkdir -p $(top_builddir)/vlcmnt ;
	hdiutil attach -readwrite -noverify -noautoopen "$(top_builddir)/vlc-${VERSION}.dmg" -mountpoint "$(top_builddir)/vlcmnt/vlc-${VERSION}" ;
	bless --folder "$(top_builddir)/vlcmnt/vlc-${VERSION}/" --openfolder "$(top_builddir)/vlcmnt/vlc-${VERSION}" ;
	sleep 1 # Make sure operation completes

# Place the image disk finder icon at the correct place
# Note: careful here the finder does some weird things
# sometimes. delays in the script should prevent those.
	cd "$(srcdir)"
	osascript -e "tell application \"Finder\"" \
	-e "   set f to POSIX file (\"$(top_builddir)/vlcmnt/vlc-${VERSION}/\" as string) as alias" \
	-e "   tell folder f" \
	-e "       open" \
	-e "       tell container window" \
	-e "          set toolbar visible to false" \
	-e "          set statusbar visible to false" \
	-e "          set current view to icon view" \
	-e "          delay 1 -- Sync" \
	-e "          set the bounds to {50, 100, 1000, 1000} -- Big size so the finder won't do silly things" \
	-e "       end tell" \
	-e "       delay 1 -- Sync" \
	-e "       set icon size of the icon view options of container window to 128" \
	-e "       set arrangement of the icon view options of container window to not arranged" \
	-e "       set background picture of the icon view options of container window to file \".background:background.png\"" \
	-e "       set position of item \"VLC.app\" to {100, 20}" \
	-e "       set position of item \"Applications\" to {310, 20}" \
	-e "       set position of item \"Goodies\" to {40, 200}" \
	-e "       set position of item \"Read Me.rtf\" to {410, 200}" \
	-e "       set the bounds of the container window to {50, 100, 590, 500}" \
	-e "       update without registering applications" \
	-e "       delay 5 -- Sync" \
Christophe Mutricy's avatar
Christophe Mutricy committed
933
	-e "       close" \
934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950
	-e "   end tell" \
	-e "   -- Sync" \
	-e "   delay 5" \
	-e "end tell" || true # Make sure we don't make the build bots fail

# Unmount the image now
	hdiutil detach "$(top_builddir)/vlcmnt/vlc-${VERSION}" ;
	rm -R $(top_builddir)/vlcmnt ;

# 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" ;
	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" ;

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

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

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

# Create disk image 
	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 \
	  -scrub -imagekey zlib-level=9 ;
	echo "Disk image creation completed:"
	rm -rf "$(top_builddir)/vlc-plugin-${VERSION}"
980 981
endif

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

	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

1010 1011 1012 1013 1014 1015 1016 1017
###############################################################################
# PO translation files update
###############################################################################
.PHONY: update-po

update-po:
	rm -f $(top_srcdir)/po/POTFILES.in
	{ \
1018
	  cd $(top_srcdir) && \
1019 1020 1021 1022
	  echo "# automatically created by make update-po" ; \
	  echo "" ; \
	  echo "# main sources" ; \
	  find include src -name '*.[chm]' -o -name '*.[ch]pp' \
1023
	    | grep -v '\(vlc_symbols\|misc/modules_\|src/misc/version