Makefile.am 41.9 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 10 11
#  - intl (gettext) is needed by src and modules
#  - src (libvlc) is nedeed by modules, mozilla and bindings
#  - libs/* are needed by modules
SUBDIRS = intl po libs/loader libs/srtp src modules \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
12 13
		mozilla bindings activex share doc
DIST_SUBDIRS = $(SUBDIRS) m4 ipkg
14

15 16 17
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
18
	INSTALL.wince \
19
	vlc.exe.manifest \
20 21 22 23
	MAINTAINERS \
	README.MacOSX.rtf \
	bootstrap \
	toolbox \
Sam Hocevar's avatar
Sam Hocevar committed
24
	vlc-config.in.in \
Christophe Mutricy's avatar
Hrm  
Christophe Mutricy committed
25
	vlc.fedora.spec \
26 27
	vlc.mandriva.spec \
	vlc.altlinux.spec \
28
	vlc.win32.nsi.in
29

30
BUILT_SOURCES_distclean = vlc-config compile vlc.win32.nsi
31
if HAVE_DARWIN
32
BUILT_SOURCES_clean = macosx-sdk
33 34 35
else
BUILT_SOURCES_clean =
endif
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
36

37
BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
38

39 40
SUFFIXES = 

41
DISTCHECK_CONFIGURE_FLAGS = --disable-dvd --disable-mad --disable-libmpeg2 \
42
	--disable-ffmpeg --disable-faad --disable-wxwidgets --disable-skins2
43

44 45 46 47 48 49 50 51 52 53
# 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 \
54
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
55 56
	extras/MacOSX/Resources/English.lproj/About.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/About.nib/info.nib \
57
	extras/MacOSX/Resources/English.lproj/About.nib/keyedobjects.nib \
58 59
	extras/MacOSX/Resources/English.lproj/Open.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Open.nib/info.nib \
60
	extras/MacOSX/Resources/English.lproj/Open.nib/keyedobjects.nib \
61 62
	extras/MacOSX/Resources/English.lproj/Preferences.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \
63
	extras/MacOSX/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
64 65 66
	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 \
67
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib \
68 69
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
70 71 72
	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 \
73 74 75
	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 \
76 77 78
	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 \
79 80 81
	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 \
82 83 84
	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 \
85
	extras/MacOSX/Resources/English.lproj/InfoPlist.strings \
86 87 88 89 90 91 92 93
	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 \
94
	extras/MacOSX/Resources/divx.icns \
95
	extras/MacOSX/Resources/dv.icns \
96
	extras/MacOSX/Resources/generic.icns \
97 98 99 100
	extras/MacOSX/Resources/m3u.icns \
	extras/MacOSX/Resources/mov.icns \
	extras/MacOSX/Resources/mp3.icns \
	extras/MacOSX/Resources/mp4.icns \
101 102 103 104
	extras/MacOSX/Resources/mpeg.icns \
	extras/MacOSX/Resources/mpeg1.icns \
	extras/MacOSX/Resources/mpeg2.icns \
	extras/MacOSX/Resources/mpeg4.icns \
105 106 107 108 109 110
	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 \
111
	extras/MacOSX/Resources/vlc.icns \
112 113 114
	extras/MacOSX/Resources/vob.icns \
	extras/MacOSX/Resources/wma.icns \
	extras/MacOSX/Resources/wmv.icns \
115
	extras/MacOSX/Resources/pause.png \
116
	extras/MacOSX/Resources/pause_blue.png \
117
	extras/MacOSX/Resources/play.png \
118
	extras/MacOSX/Resources/play_blue.png \
119
	extras/MacOSX/Resources/stop.png \
120 121 122 123
	extras/MacOSX/Resources/stop_blue.png \
	extras/MacOSX/Resources/display.png \
	extras/MacOSX/Resources/display_slider.png \
	extras/MacOSX/Resources/display_track.png \
124 125
	extras/MacOSX/Resources/equalizerdrawer_active.png \
	extras/MacOSX/Resources/equalizerdrawer_blue.png \
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
	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 \
143
	extras/MacOSX/Resources/about_bg.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
144 145 146 147 148 149 150 151
	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 \
152
	extras/MacOSX/Resources/vlc.scriptSuite \
153
	extras/MacOSX/Resources/vlc.scriptTerminology \
154
	extras/MacOSX/Resources/README \
155 156 157 158 159 160 161
	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 \
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
	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
189
	extras/MacOSX/fullscreen_panel.svg \
190
	extras/MacOSX/ub.sh \
Christophe Mutricy's avatar
Christophe Mutricy committed
191
	extras/MacOSX/vlc.xcodeproj/project.pbxproj \
192
	extras/MacOSX/Delete_Preferences.app/Contents/Info.plist \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
193
	extras/MacOSX/Delete_Preferences.app/Contents/PkgInfo \
194 195 196 197 198
	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 \
199 200 201 202
	extras/MacOSX/plugin/Info.plist \
	extras/MacOSX/plugin/InstallerInfo.plist \
	extras/MacOSX/plugin/InstallerDescription.plist \
	extras/MacOSX/plugin/pbdevelopment.plist \
203
	extras/MacOSX/plugin/English.lproj/InfoPlist.strings
204 205

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

Gildas Bazin's avatar
 
Gildas Bazin committed
219
dist-hook:
220
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
221

222 223 224 225 226
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
227
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
228 229
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
230
	touch $@
231

232 233
vlc-config.in: vlc-config.in.in
	./config.status --recheck
234
	touch $@
235

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

239 240 241 242
###############################################################################
# Building vlc
###############################################################################

Sam Hocevar's avatar
Sam Hocevar committed
243
bin_PROGRAMS = vlc
244

245
vlc_SOURCES = src/vlc.c
246
# Ugly kludge so that automake defines $(CXXLINK)
Christophe Mutricy's avatar
Christophe Mutricy committed
247
nodist_EXTRA_vlc_SOURCES = extras/zsh.cpp src/misc/darwin_specific.m
248

249
vlc_DEPENDENCIES = $(LIBVLC) $(DATA_win32_rc)
250

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
251
vlc_LDADD = $(DATA_win32_rc) $(LIBVLC) $(LTLIBINTL)
252

253
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
254 255
LIB_libvlc = libvlc.la
LIBVLC = src/$(LIB_libvlc)
256

257 258 259
# 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
260 261
libvlc:
	cd src && $(MAKE) $(AM_MAKEFLAGS) $(LIB_libvlc)
262

263 264
core: libvlc
	$(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT)
265

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
266 267 268
.PHONY: libvlc core

src/$(LIB_libvlc): libvlc
269

270
vlc$(EXEEXT): $(vlc_OBJECTS) $(vlc_DEPENDENCIES)
271
	@rm -f vlc$(EXEEXT)
272
	@case `$(VLC_CONFIG) --linkage vlc builtin` in \
273 274 275 276
	  c++) cmd="$(CXXLINK)" ;; \
	  objc) cmd="$(OBJCLINK)" ;; \
	  c|*) cmd="$(LINK)" ;; \
	esac ; \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
277
	cmd="$$cmd $(vlc_OBJECTS) $(vlc_LDADD)" ; \
278 279
	echo $$cmd ; \
	eval $$cmd
Eric Petit's avatar
Eric Petit committed
280

281
if HAVE_BEOS
282
noinst_DATA = vlc-bundle
283
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
284 285 286
	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
287 288
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
289 290
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
291 292
	  fi ; \
	done
Sam Hocevar's avatar
Sam Hocevar committed
293 294 295 296
	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/ ; \
297 298
	  done ; \
	fi
Eric Petit's avatar
Eric Petit committed
299
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
300 301 302
	  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
303
	done
Sam Hocevar's avatar
Sam Hocevar committed
304
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
305 306
endif

307
# Install the symlinks
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
308
install-exec-local: install-binPROGRAMS
309
	inst="`echo vlc | sed -e '$(transform)'`" ; \
Sam Hocevar's avatar
Sam Hocevar committed
310
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
311
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
312
	  ln -sf "$${inst}" "$(DESTDIR)$(bindir)/$$i" ; \
313 314
	fi ; done

315 316 317 318 319 320
# 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

321 322
if HAVE_DARWIN
# Create the MacOS X app
323
vlc_app_DATA = VLC.app
324
vlc_appdir = $(bindir)
325 326 327 328 329 330 331 332 333
# 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
334
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
335 336 337 338 339 340
	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 \
341 342
	    AppleRemote.h \
	    AppleRemote.m \
343 344 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 370
	    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 \
371 372
	    wizard.h \
	    wizard.m \
373 374
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
375 376
	    bookmarks.h \
	    bookmarks.m \
377 378
	    sfilters.h \
	    sfilters.m \
379 380 381 382 383 384
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
385 386
	    fspanel.h \
	    fspanel.m \
387 388 389 390
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
391
	cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
392 393
	    cd ../../../ && \
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
394
	          $(top_builddir)/VLC-release.app; \
395 396
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
397
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/lib
398
	$(INSTALL) $(top_builddir)/.libs/vlc \
399
		   $(top_builddir)/VLC-release.app/Contents/MacOS/VLC
400
	$(INSTALL) $(top_builddir)/src/.libs/libvlc.1.dylib \
401
		   $(top_builddir)/VLC-release.app/Contents/MacOS/lib/libvlc.dylib
402
	install_name_tool -change /usr/local/lib/libvlc.1.dylib \
403
		   @executable_path/lib/libvlc.dylib \
404 405 406
	       $(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
Jérome Decoodt's avatar
Jérome Decoodt committed
407
	for i in `$(VLC_CONFIG) --target plugin` ; do \
408
	  if test -n "$$i" ; \
409
	    then $(INSTALL) "`pwd`/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)" \
410
			   "$(top_builddir)/VLC-release.app/Contents/MacOS/modules" ; \
411
	  fi ; done
412
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
413
	  mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/lib ; \
414
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
415
	    $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/lib/`basename $${i}` ; \
416 417
	  done ; \
	fi
418 419 420 421
	$(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 ; \
422 423 424 425
	$(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 ; \
426 427 428 429 430 431 432 433
	$(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 \
434 435
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \
	done ; \
436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456
	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 ; \
457
	$(INSTALL) -m 644 $(srcdir)/share/http/requests/readme $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/readme.txt
458 459 460 461 462 463 464 465 466 467 468
	$(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 ; \
	done
	printf "APPLVLC#" >| $(top_builddir)/VLC-release.app/Contents/PkgInfo
469 470
	find $(top_builddir)/VLC-release.app -type d -exec chmod ugo+rx '{}' \;
	find $(top_builddir)/VLC-release.app -type f -exec chmod ugo+r '{}' \;
471

Sam Hocevar's avatar
Sam Hocevar committed
472
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
473 474 475 476 477 478 479
	@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
480
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
Loïc Minier's avatar
Loïc Minier committed
481 482 483 484 485 486
	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 \
487 488
	    AppleRemote.h \
	    AppleRemote.m \
Loïc Minier's avatar
Loïc Minier committed
489 490 491 492 493 494
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
495 496
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
497 498 499 500 501 502 503 504 505 506 507
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
508 509
	    playlistinfo.h \
	    playlistinfo.m \
510 511
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
512 513 514
	    prefs.h \
	    prefs.m \
	    vout.h \
515 516
	    voutqt.m \
	    voutgl.m \
517 518
	    wizard.h \
	    wizard.m \
519 520
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
521 522
	    bookmarks.h \
	    bookmarks.m \
523 524
	    sfilters.h \
	    sfilters.m \
525 526 527 528 529 530
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
531 532
	    fspanel.h \
	    fspanel.m \
Loïc Minier's avatar
Loïc Minier committed
533 534 535 536
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
537
	cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
538 539
	    cd ../../../ && \
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
540
	          $(top_builddir)/VLC.app; \
Loïc Minier's avatar
Loïc Minier committed
541 542
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
543 544
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/lib
	$(INSTALL) $(top_builddir)/.libs/vlc \
Loïc Minier's avatar
Loïc Minier committed
545
		   $(top_builddir)/VLC.app/Contents/MacOS/VLC
546 547
	$(INSTALL) $(top_builddir)/src/.libs/libvlc.1.dylib \
		   $(top_builddir)/VLC.app/Contents/MacOS/lib/libvlc.dylib
548
	install_name_tool -change /usr/local/lib/libvlc.1.dylib \
549 550
		   @executable_path/lib/libvlc.dylib \
	       $(top_builddir)/VLC.app/Contents/MacOS/VLC
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
551
	ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
Loïc Minier's avatar
Loïc Minier committed
552
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
Jérome Decoodt's avatar
Jérome Decoodt committed
553
	for i in `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
554
	  if test -n "$$i" ; \
Jérome Decoodt's avatar
Jérome Decoodt committed
555
        then install_name_tool -change /usr/local/lib/libvlc.1.dylib \
556
                                  @executable_path/lib/libvlc.dylib \
Jérome Decoodt's avatar
Jérome Decoodt committed
557 558
                          "`pwd`/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)"; \
	    ln -sfn "`pwd`/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)" \
Loïc Minier's avatar
Loïc Minier committed
559
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
560
	  fi ; done
561
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
562
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
563
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
564
		install_name_tool -change /usr/local/lib/libvlc.1.dylib @executable_path/lib/libvlc.dylib $${i}; \
565
	    ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/`basename $${i}` ; \
566
	  done ; \
567
	fi
568
	ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/
Loïc Minier's avatar
Loïc Minier committed
569
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
570
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
571
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
572
	  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
573 574 575 576 577
	  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 ; \
578
	done
Loïc Minier's avatar
Loïc Minier committed
579
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
580 581 582
endif

if HAVE_WIN32
583
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
584 585 586
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
587
	$(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 $@
588 589
endif

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

591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608
###############################################################################
# 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); }; }

609 610 611 612 613 614 615
###############################################################################
# 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.
#
616 617

package-win-common:
618
# Check that tmp isn't in the way
619 620
	@if test -e "$(top_builddir)/vlc-${VERSION}"; then \
	  echo "Error: please remove $(top_builddir)/vlc-${VERSION}, it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
621
	  false; \
622
	else \
623
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
624
	fi
625

626
# Copy relevant files
627
	cp "$(top_builddir)/.libs/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
628
	cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
629
	cp "$(top_builddir)/src/.libs/libvlc$(LIBEXT)" "vlc-${VERSION}/"
630
	cp "$(top_builddir)/src/.libs/libvlc-control$(LIBEXT)" "vlc-${VERSION}/"
631

Gildas Bazin's avatar
 
Gildas Bazin committed
632
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
633 634
	  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
635

636
	mkdir $(top_builddir)/vlc-${VERSION}/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
637
	for i in $(ALL_LINGUAS); do \
638
	  mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
639
	  cp "$(srcdir)/po/$${i}.gmo" \
640
	    "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
641
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
642 643
	done

644 645
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests"
646 647
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/js"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/dialogs"
648 649 650
	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"
651
	cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
652
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
653 654
	cp $(srcdir)/share/http/.hosts $(top_builddir)/vlc-${VERSION}/http/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/.hosts ;
655
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
656
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
657 658
	cp $(srcdir)/share/http/js/*.js $(top_builddir)/vlc-${VERSION}/http/js/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/js/*.js ;
659 660
	cp $(srcdir)/share/http/dialogs/* $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/* ;
661 662
	cp $(srcdir)/share/http/dialogs/.hosts $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/.hosts ;
663
	cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
664 665 666
	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 ;
667 668
	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
669

670 671 672
	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/ ;
673
	cp $(srcdir)/share/http/old/.hosts $(top_builddir)/vlc-${VERSION}/http/old/ ;
674 675 676 677 678
	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 ;
679
	cp $(srcdir)/share/http/old/admin/.access $(top_builddir)/vlc-${VERSION}/http/old/admin/ ;
680

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

Gildas Bazin's avatar
 
Gildas Bazin committed
683
if BUILD_MOZILLA
684
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
685
	cp $(top_builddir)/mozilla/.libs/npvlc$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
686 687
endif

688
if BUILD_ACTIVEX
689
	mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
Christophe Mutricy's avatar
Christophe Mutricy committed
690 691
	cp $(srcdir)/activex/README.TXT  $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(srcdir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
692 693
	unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;

694
	cp $(top_builddir)/activex/.libs/axvlc$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ;
695
endif
696
# Rebase all those DLLs to speed up loading (need cygwin rebase)
697
	if rebase -b 0x42 /dev/null >/dev/null 2>&1; then \
698 699
		find $(top_builddir)/vlc-${VERSION} -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \
	fi
700

701 702 703
package-win-common-strip:
	$(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
	$(STRIP) "vlc-${VERSION}/libvlc$(LIBEXT)"
704
	$(STRIP) "vlc-${VERSION}/libvlc-control$(LIBEXT)"
705
if BUILD_MOZILLA
706
	$(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/npvlc$(LIBEXT);
707 708
endif
if BUILD_ACTIVEX
709
	$(STRIP) $(top_builddir)/vlc-${VERSION}/activex/axvlc$(LIBEXT);
710 711
endif

712 713
package-win32-base-debug: package-win-common
# Copy relevant files
714
	cp "$(top_builddir)/vlc.win32.nsi" "$(top_builddir)/vlc-${VERSION}/"
715 716 717 718

	mkdir -p "$(top_builddir)/vlc-${VERSION}/plugins"
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
719
	    $(INSTALL) "$(top_builddir)/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)" \
720 721 722 723 724 725 726 727 728 729 730
            "$(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

Rafaël Carré's avatar
Rafaël Carré committed
731 732 733 734
	$(INSTALL) -d $(top_builddir)/vlc-${VERSION}/share/luaplaylist
	for i in $(srcdir)/share/luaplaylist/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/vlc-${VERSION}/share/luaplaylist/`basename $${i}` ; \
	done ;
735

736 737 738 739 740 741 742 743 744 745 746 747 748
	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 


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

753
package-win32-base-exe: package-win32-base
754
# Create package
755
	if makensis -VERSION >/dev/null 2>&1; then \
756
	    MAKENSIS="makensis -DVERSION=${VERSION}"; \
757
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
758
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis /DVERSION=${VERSION}"; \
759
	elif wine --version >dev/null 2>&1; then \
760
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe /DVERSION=${VERSION}"; \
761 762 763
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
764
	eval "$$MAKENSIS $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi"
765

766
package-win32-base-exe-cygwin: package-win32-base-exe
767
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
768

769 770 771 772
package-win32-base-exe-linux:
# Create package
	makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

773
package-win32-base-zip: package-win32-base
774
# Create package 
775
	zip -r -9 vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
776

777 778 779 780
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
781 782
package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
783
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
784

785 786 787 788
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

789
package-win32-zip: package-win32-base-zip
Gildas Bazin's avatar
 
Gildas Bazin committed
790
# Clean up
791
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
792

793 794 795 796
package-win32-7zip: package-win32-base-7zip
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

797 798 799
package-win32-no-clean: package-win32-base-exe package-win32-base-zip package-win32-base-7zip

package-win32: package-win32-no-clean
800
# Clean up
801
	rm -Rf $(top_builddir)/vlc-${VERSION}
802

803
package-wince-base: package-win-common package-win-common-strip
804 805 806 807 808 809 810 811 812 813

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}


814 815
package-beos:
# Check that tmp isn't in the way
816
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
817
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
818
	  false ; \
819
	else \
820
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
821
	fi
822

823
# Copy relevant files
824
	mkdir -p $(srcdir)/tmp/vlc ;
825 826 827 828 829 830 831
	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} ;
832
	(cd $(srcdir)/tmp && zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
833 834
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/ ;
	mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc ;
835

836
# Create normal package
837 838
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
839
	  --strip-debug --strip-unneeded "{}" \; ;
840 841 842
	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} ;
843
	(cd $(srcdir)/tmp &&  zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
844
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
845

846
# Clean up
847
	rm -Rf $(srcdir)/tmp ;
848 849

package-macosx:
850 851 852
# Check that the temporary location isn't in the way
	@if test -e "$(top_builddir)/vlc-${VERSION}/"; then \
	  rm -Rf "$(top_builddir)/vlc-${VERSION}/" ; \
853 854
	fi

855 856 857
	echo "Create package directory: vlc-${VERSION}/";
	mkdir -p "$(top_builddir)/vlc-${VERSION}/";

858
# Copy relevant files 
859 860 861 862 863
	@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
864 865 866 867 868 869 870 871 872
	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 ;
873 874

# Create disk image 
875 876 877
	echo "Creating disk image" ;
	rm -f "$(top_builddir)/vlc-${VERSION}.dmg" ;
	hdiutil create -srcfolder "$(top_builddir)/vlc-${VERSION}" \
878
	  "$(top_builddir)/vlc-${VERSION}.dmg" -format UDRW \
879
	  -scrub -imagekey zlib-level=9 ;
880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915

# 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
916
	-e "       close" \
917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933
	-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
934
	echo "Disk image creation completed:" ;
935
	ls -la "$(top_builddir)/vlc-${VERSION}.dmg" ; echo ;
936 937

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

940 941
package-macosx-plugin:
if BUILD_MOZILLA
942 943
# Create Installer
	rm -rf "$(top_builddir)/macosx-plugin-instdata/"; true
944 945 946 947 948 949 950 951
	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/"
952 953 954 955 956 957 958 959 960 961 962

# 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}"
963 964
endif

965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992
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

993 994 995 996 997 998 999 1000
###############################################################################
# PO translation files update
###############################################################################
.PHONY: update-po

update-po:
	rm -f $(top_srcdir)/po/POTFILES.in
	{ \
1001
	  cd $(top_srcdir) && \
1002 1003 1004 1005
	  echo "# automatically created by make update-po" ; \
	  echo "" ; \
	  echo "# main sources" ; \
	  find include src -name '*.[chm]' -o -name '*.[ch]pp' \
1006
	    | grep -v '\(misc/modules_\|src/misc/revision.c\|modules/builtin.h\)' \
1007 1008 1009
	    | sort ; \
	  echo "" ; \
	  echo "# modules" ; \
1010
	  find modules -name '*.[chm]' -o -name '*.[ch]pp' -o -wholename 'modules/gui/qt4/ui/*.ui'\
1011
	    | grep -v '\(\.moc\.\|gui/gtk2/\)' \
1012
	    | grep -vE 'qt4/ui/.*.h' |grep -v qt4/resources.cpp \
1013 1014 1015
	    | sort ; \
	} > $(top_srcdir)/po/POTFILES.in
	rm -f $(top_srcdir)/po/vlc.pot
1016
	cd po && $(MAKE) POTFILES vlc.pot update-po
1017 1018 1019

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

Sam Hocevar's avatar
Sam Hocevar committed
1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031
###############################################################################
# Stamp rules
###############################################################################
stamp-builtin: FORCE
	@for dep in "" `$(VLC_CONFIG) --target builtin`; do \
	  if test "$${dep}" -nt "$(top_builddir)/vlc$(EXEEXT)"; then \
	    rm -f $@; \
	    break; \
	  fi; \
	done
	@if test ! -f $@; then printf "" > $@; fi

1032 1033 1034
###############################################################################
# Enforce Mac OS X deployment target environment variable
###############################################################################
1035
macosx-sdk: Makefile.in $(HEADERS_include) vlc-config
1036 1037
	export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET)

1038 1039 1040 1041
###############################################################################
# Force rule
###############################################################################
FORCE: