Makefile.am 34.7 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_pic.a
13
#  - po should come before . because VLC.app needs the pofiles
14
#  - loader should come before modules because some plugins need it
15
SUBDIRS = intl loader src modules po . mozilla bindings activex share m4 doc
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
16
DIST_SUBDIRS = $(SUBDIRS) debian ipkg
17

18 19 20
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
21
	INSTALL.wince \
22
	vlc.exe.manifest \
23 24 25 26
	MAINTAINERS \
	README.MacOSX.rtf \
	bootstrap \
	toolbox \
27
	vlc-api.pl \
Sam Hocevar's avatar
Sam Hocevar committed
28
	vlc-config.in.in \
29
	vlc.spec \
Alexis de Lattre's avatar
Alexis de Lattre committed
30
	vlc.spec.mdk \
31
	vlc.win32.nsi \
32 33
	$(NULL)

Christophe Mutricy's avatar
Christophe Mutricy committed
34
BUILT_SOURCES_distclean = vlc-config compile
35
BUILT_SOURCES_clean = macosx-sdk
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 42
DISTCHECK_CONFIGURE_FLAGS = --disable-dvd --disable-mad --disable-libmpeg2 \
	--disable-ffmpeg --disable-faad --disable-skins2
43 44 45
if USE_LIBTOOL
DISTCHECK_CONFIGURE_FLAGS += --enable-libtool
endif
46

47 48 49
# Tell aclocal to use -I m4. Wonder if it really works.
ACLOCAL_AMFLAGS = -I m4

50
# XXX: these flags could be set in configure.ac, but we set them here
51
# because old versions of automake don't support them in configure.ac.
52
AUTOMAKE_OPTIONS = dist-bzip2
53

54 55 56 57 58 59 60
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib \
61
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
62 63
	extras/MacOSX/Resources/English.lproj/About.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/About.nib/info.nib \
64
	extras/MacOSX/Resources/English.lproj/About.nib/keyedobjects.nib \
65 66
	extras/MacOSX/Resources/English.lproj/Open.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Open.nib/info.nib \
67
	extras/MacOSX/Resources/English.lproj/Open.nib/keyedobjects.nib \
68 69
	extras/MacOSX/Resources/English.lproj/Preferences.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \
70
	extras/MacOSX/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
71 72 73
	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 \
74
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib \
75 76
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
77 78 79
	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 \
80 81 82
	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 \
83 84 85
	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 \
86 87 88
	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 \
89
	extras/MacOSX/Resources/English.lproj/InfoPlist.strings \
90 91 92 93 94 95 96 97
	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 \
98
	extras/MacOSX/Resources/divx.icns \
99
	extras/MacOSX/Resources/dv.icns \
100
	extras/MacOSX/Resources/generic.icns \
101 102 103 104
	extras/MacOSX/Resources/m3u.icns \
	extras/MacOSX/Resources/mov.icns \
	extras/MacOSX/Resources/mp3.icns \
	extras/MacOSX/Resources/mp4.icns \
105 106 107 108
	extras/MacOSX/Resources/mpeg.icns \
	extras/MacOSX/Resources/mpeg1.icns \
	extras/MacOSX/Resources/mpeg2.icns \
	extras/MacOSX/Resources/mpeg4.icns \
109 110 111 112 113 114
	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 \
115
	extras/MacOSX/Resources/vlc.icns \
116 117 118
	extras/MacOSX/Resources/vob.icns \
	extras/MacOSX/Resources/wma.icns \
	extras/MacOSX/Resources/wmv.icns \
119
	extras/MacOSX/Resources/pause.png \
120
	extras/MacOSX/Resources/pause_blue.png \
121
	extras/MacOSX/Resources/play.png \
122
	extras/MacOSX/Resources/play_blue.png \
123
	extras/MacOSX/Resources/stop.png \
124 125 126 127
	extras/MacOSX/Resources/stop_blue.png \
	extras/MacOSX/Resources/display.png \
	extras/MacOSX/Resources/display_slider.png \
	extras/MacOSX/Resources/display_track.png \
128 129
	extras/MacOSX/Resources/equalizerdrawer_active.png \
	extras/MacOSX/Resources/equalizerdrawer_blue.png \
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
	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 \
147
	extras/MacOSX/Resources/about_bg.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
148 149 150 151 152 153 154 155
	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 \
156
	extras/MacOSX/Resources/vlc.scriptSuite \
157
	extras/MacOSX/Resources/vlc.scriptTerminology \
158
	extras/MacOSX/Resources/README \
159
	extras/MacOSX/vlc.pbproj/project.pbxproj \
160
	extras/MacOSX/Delete_Preferences.app/Contents/Info.plist \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
161
	extras/MacOSX/Delete_Preferences.app/Contents/PkgInfo \
162 163 164 165 166
	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 \
167 168 169 170 171 172
	$(NULL)

###############################################################################
# Various utilities ( editor syntax files, ... )
##############################################################################
EXTRA_DIST += \
173 174
	extras/Makefile \
	extras/zsh.cpp \
175 176 177 178
	extras/emacs.init \
	extras/vlc.vim \
	extras/make.pl \
	extras/valgrind.suppressions \
179 180 181
	$(NULL)

###############################################################################
182
# MS Visual Studio and eMbedded Visual Studio projects
183 184 185 186
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
187 188
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
189
	msvc/vlc.dsp.in \
190
	msvc/config.h.in \
191
	msvc/modules_builtin_msvc.h \
192
	evc/vlc.vcw \
193
	evc/libvlc.vcp.in \
194
	evc/vlc.vcp.in \
195
	evc/plugins.vcp.in \
196
	evc/errno.h \
197
	evc/config.h.in \
198
	evc/modules_builtin_evc.h \
199 200
	$(NULL)

Gildas Bazin's avatar
 
Gildas Bazin committed
201
dist-hook:
202 203
	cd $(distdir) && srcdir=. $(SHELL) ./toolbox --update-vc
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
204

205 206 207 208 209
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
210
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
211 212
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
213

214 215 216
vlc-config.in: vlc-config.in.in
	./config.status --recheck

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

220 221 222 223
###############################################################################
# Building vlc
###############################################################################

Sam Hocevar's avatar
Sam Hocevar committed
224
bin_PROGRAMS = vlc
225

226
vlc_SOURCES = src/vlc.c
227 228
# Ugly kludge so that automake defines $(CXXLINK)
EXTRA_vlc_SOURCES = extras/zsh.cpp
229

230 231
# Work around a bug in the arm-wince-pe linker
if HAVE_WINCE
232
vlc_WORKAROUNDLDFLAGS = $(LIBVLC)
233 234
endif

235 236
# We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an
# old automake-1.5 bug (automake/279).
237
DEPENDENCIES_vlc = src/$(LIB_libvlc) $(DATA_win32_rc)
238

239 240
vlc_LDADD = $(DATA_win32_rc) $(LIBVLC)

241 242 243
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
if USE_LIBTOOL
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc`
244 245
LIB_libvlc = libvlc.la
LIBVLC = src/$(LIB_libvlc)
246
else
247
if BUILD_SHARED
248
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc` -Wl,-rpath $(libdir) -L$(top_builddir)/src -lvlc
249
if HAVE_WIN32
250
LIB_libvlc = libvlc.dll.a
251
else
252
LIB_libvlc = libvlc$(LIBEXT)
253
endif
254
LIBVLC =
255
else
256
vlc_LDFLAGS = $(vlc_WORKAROUNDLFDLAGS) `$(VLC_CONFIG) --libs vlc builtin`
257 258
LIB_libvlc = libvlc.a
LIBVLC = src/$(LIB_libvlc)
259 260
DEPENDENCIES_vlc += stamp-builtin
endif
261
vlc_LDADD += $(INCLUDED_LIBINTL)
262
endif
263

264 265 266 267 268 269 270 271 272 273 274 275
# 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
core:
	rm -f src/$(LIB_libvlc)
	$(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT)

.PHONY: core

src/$(LIB_libvlc):
	cd src && $(MAKE) $(AM_MAKEFLAGS) $(LIB_libvlc)

276
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc)
277
	@rm -f vlc$(EXEEXT)
278
	@case `$(VLC_CONFIG) --linkage vlc builtin` in \
279 280 281 282
	  c++) cmd="$(CXXLINK)" ;; \
	  objc) cmd="$(OBJCLINK)" ;; \
	  c|*) cmd="$(LINK)" ;; \
	esac ; \
283
	cmd="$$cmd $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS)" ; \
284 285
	echo $$cmd ; \
	eval $$cmd
Eric Petit's avatar
Eric Petit committed
286

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

313
# Install the symlinks
314
install-exec-local:
Sam Hocevar's avatar
Sam Hocevar committed
315
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
316
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
317
	  ln -sf vlc "$(DESTDIR)$(bindir)/$$i" ; \
318 319
	fi ; done

320 321 322 323 324 325
# 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

326 327
if HAVE_DARWIN
# Create the MacOS X app
328
vlc_app_DATA = VLC.app
329
vlc_appdir = $(bindir)
330 331 332 333 334 335 336 337 338
# 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
339
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
340 341 342 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 371 372 373
	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 \
	    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 \
374 375
	    wizard.h \
	    wizard.m \
376 377
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
378 379
	    bookmarks.h \
	    bookmarks.m \
380 381
	    sfilters.h \
	    sfilters.m \
382 383 384 385 386 387
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
388 389 390 391
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
392 393 394
	case $(target_triplet) in \
	  *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
395
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
396 397 398
	          $(top_builddir)/VLC-release.app;; \
	  *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
399
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
400
	          $(top_builddir)/VLC-release.app;; \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
401
	  *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
402
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
403
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
404 405
	          $(top_builddir)/VLC-release.app;; \
	esac
406 407 408 409 410 411 412 413 414 415 416
	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
417
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
418
	  mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/lib ; \
419
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
420
	    $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/lib/`basename $${i}` ; \
421 422
	  done ; \
	fi
423 424 425 426 427 428 429 430
	$(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 \
431 432
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \
	done ; \
433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453
	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 ; \
454 455 456 457 458 459 460 461 462 463 464 465 466 467
	$(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
468
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
469 470 471 472 473 474 475
	@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
476
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
Loïc Minier's avatar
Loïc Minier committed
477 478 479 480 481 482 483 484 485 486 487 488
	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 \
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
489 490
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
491 492 493 494 495 496 497 498 499 500 501
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
502 503
	    playlistinfo.h \
	    playlistinfo.m \
504 505
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
506 507 508
	    prefs.h \
	    prefs.m \
	    vout.h \
509 510
	    voutqt.m \
	    voutgl.m \
511 512
	    wizard.h \
	    wizard.m \
513 514
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
515 516
	    bookmarks.h \
	    bookmarks.m \
517 518
	    sfilters.h \
	    sfilters.m \
519 520 521 522 523 524
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
Loïc Minier's avatar
Loïc Minier committed
525 526 527 528
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
529 530 531
	case $(target_triplet) in \
	  *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
532
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
533 534 535
	          $(top_builddir)/VLC.app;; \
	  *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
536
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
537
	          $(top_builddir)/VLC.app;; \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
538
	  *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
539
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
540
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
541 542
	          $(top_builddir)/VLC.app;; \
	esac
Loïc Minier's avatar
Loïc Minier committed
543 544 545 546
	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
547
	ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
Loïc Minier's avatar
Loïc Minier committed
548
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
Sam Hocevar's avatar
Sam Hocevar committed
549
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
550
	  if test -n "$$i" ; \
551
	    then ln -sfn "`pwd`/$$i$(LIBEXT)" \
Loïc Minier's avatar
Loïc Minier committed
552
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
553
	  fi ; done
554
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
555
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
556
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
557
	    ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/`basename $${i}` ; \
558
	  done ; \
559
	fi
560
	ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/
Loïc Minier's avatar
Loïc Minier committed
561
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
562
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
563
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
564
	  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
565 566 567 568 569
	  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 ; \
570
	done
Loïc Minier's avatar
Loïc Minier committed
571
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
572 573 574
endif

if HAVE_WIN32
575
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
576 577 578
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
579
	$(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 $@
580 581
endif

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

583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600
###############################################################################
# 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); }; }

601 602 603 604 605 606 607
###############################################################################
# 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.
#
608 609

package-win-common:
610
# Check that tmp isn't in the way
611 612
	@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
613
	  false; \
614
	else \
615
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
616
	fi
617

618
# Copy relevant files
619 620 621
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
	cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
	$(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
622 623 624 625
if BUILD_SHARED
	cp "src/libvlc$(LIBEXT)" "vlc-${VERSION}/"
	$(STRIP) "vlc-${VERSION}/libvlc$(LIBEXT)"
endif
626

Gildas Bazin's avatar
 
Gildas Bazin committed
627
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
628 629
	  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
630

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

639 640
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests"
641 642
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/js"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/dialogs"
643 644 645
	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"
646
	cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
647
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
648
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
649
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
650 651
	cp $(srcdir)/share/http/js/*.js $(top_builddir)/vlc-${VERSION}/http/js/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/js/*.js ;
652 653
	cp $(srcdir)/share/http/dialogs/* $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/* ;
654
	cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
655 656 657
	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 ;
Gildas Bazin's avatar
 
Gildas Bazin committed
658

659 660 661 662 663 664 665 666 667 668
	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/*.ico $(top_builddir)/vlc-${VERSION}/http/old/ ;
	cp $(srcdir)/share/http/old/*.css $(top_builddir)/vlc-${VERSION}/http/old/ ;
	cp $(srcdir)/share/http/old/*.png $(top_builddir)/vlc-${VERSION}/http/old/ ;
	cp $(srcdir)/share/http/old/vlm/*.html $(top_builddir)/vlc-${VERSION}/http/old/vlm/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/old/vlm/*.html ;
	cp $(srcdir)/share/http/old/admin/*.html $(top_builddir)/vlc-${VERSION}/http/old/admin/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/old/admin/*.html ;

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

Gildas Bazin's avatar
 
Gildas Bazin committed
671
if BUILD_MOZILLA
672
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
673 674 675
	cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
	$(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
	cp $(top_builddir)/mozilla/vlcintf.xpt  $(top_builddir)/vlc-${VERSION}/mozilla/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
676 677
endif

678
if BUILD_ACTIVEX
679
	mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
Christophe Mutricy's avatar
Christophe Mutricy committed
680 681
	cp $(srcdir)/activex/README.TXT  $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(srcdir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
682 683 684 685 686
	unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;

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

692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723
package-win32-base-debug: package-win-common
# Copy relevant files
	cp "$(srcdir)/vlc.win32.nsi" "$(top_builddir)/vlc-${VERSION}/"

	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 


724 725 726 727 728
package-win32-base: package-win32-base-debug
	for i in "" $(top_builddir)/vlc-${VERSION}/plugins/*$(LIBEXT) ; \
	  do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done


729
package-win32-base-exe: package-win32-base
730
# Create package
731
	if makensis -VERSION >/dev/null 2>&1; then \
732
	    MAKENSIS="makensis -DVERSION=${VERSION}"; \
733
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
734
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis /DVERSION=${VERSION}"; \
735
	elif wine --version >dev/null 2>&1; then \
736
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe /DVERSION=${VERSION}"; \
737 738 739
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
740
	eval "$$MAKENSIS $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi"
741

742
package-win32-base-exe-cygwin: package-win32-base-exe
743
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
744

745 746 747 748
package-win32-base-exe-linux:
# Create package
	makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

749
package-win32-base-zip: package-win32-base
750
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
751
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
752

753 754 755 756
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
757 758
package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
759
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
760

761 762 763 764
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

765
package-win32-zip: package-win32-base-zip
Gildas Bazin's avatar
 
Gildas Bazin committed
766
# Clean up
767
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
768

769 770 771 772
package-win32-7zip: package-win32-base-7zip
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

773
package-win32: package-win32-base-exe package-win32-base-zip
774
# Clean up
775
	rm -Rf $(top_builddir)/vlc-${VERSION}
776

777
package-wince-base: package-win-common
778 779 780 781 782 783 784 785 786 787

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}


788 789
package-beos:
# Check that tmp isn't in the way
790
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
791
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
792
	  false ; \
793
	else \
794
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
795
	fi
796

797
# Copy relevant files
798
	mkdir -p $(srcdir)/tmp/vlc ;
799 800 801 802 803 804 805 806 807 808
	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} ;
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/ ;
	mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc ;
809

810
# Create normal package
811 812
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
813
	  --strip-debug --strip-unneeded "{}" \; ;
814 815 816
	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} ;
817
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
818
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
819

820
# Clean up
821
	rm -Rf $(srcdir)/tmp ;
822 823

package-macosx:
824 825 826
# Check that the temporary location isn't in the way
	@if test -e "$(top_builddir)/vlc-${VERSION}/"; then \
	  rm -Rf "$(top_builddir)/vlc-${VERSION}/" ; \
827 828
	fi

829 830 831
	echo "Create package directory: vlc-${VERSION}/";
	mkdir -p "$(top_builddir)/vlc-${VERSION}/";

832
# Copy relevant files 
833 834
	cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-${VERSION}/VLC.app"
	cd "$(srcdir)" && cp AUTHORS COPYING ChangeLog README README.MacOSX.rtf THANKS NEWS $(top_builddir)/vlc-${VERSION}/ && cp -R extras/MacOSX/Delete_Preferences.app $(top_builddir)/vlc-${VERSION}/
835 836

# Create disk image 
837 838 839 840 841 842
	echo "Creating disk image" ;
	rm -f "$(top_builddir)/vlc-${VERSION}.dmg" ;
	hdiutil create -srcfolder "$(top_builddir)/vlc-${VERSION}" \
	  "$(top_builddir)/vlc-${VERSION}.dmg" -format UDZO -quiet ;
	echo; echo "Disk image creation completed:" ;
	ls -la "$(top_builddir)/vlc-${VERSION}.dmg" ; echo ;
843 844

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

847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874
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

875 876 877 878 879 880 881 882 883 884 885 886 887
###############################################################################
# PO translation files update
###############################################################################
.PHONY: update-po

update-po:
	rm -f $(top_srcdir)/po/POTFILES.in
	{ \
	  cd $(top_srcdir) ; \
	  echo "# automatically created by make update-po" ; \
	  echo "" ; \
	  echo "# main sources" ; \
	  find include src -name '*.[chm]' -o -name '*.[ch]pp' \
888
	    | grep -v '\(vlc_symbols\|misc/modules_\|src/misc/version.c\)' \
889 890 891 892 893 894 895 896
	    | sort ; \
	  echo "" ; \
	  echo "# modules" ; \
	  find modules -name '*.[chm]' -o -name '*.[ch]pp' \
	    | grep -v '\(\.moc\.\|gui/gtk2/\)' \
	    | sort ; \
	} > $(top_srcdir)/po/POTFILES.in
	rm -f $(top_srcdir)/po/vlc.pot
897
	cd po && $(MAKE) POTFILES vlc.pot update-po
898 899 900

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

Sam Hocevar's avatar
Sam Hocevar committed
901 902 903 904 905 906 907 908 909 910 911 912
###############################################################################
# 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

913 914 915 916 917 918
###############################################################################
# Enforce Mac OS X deployment target environment variable
###############################################################################
macosx-sdk: Makefile.in $(HEADERS_include) vlc-config vlc-api.pl
	export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET)

919 920 921 922
###############################################################################
# Force rule
###############################################################################
FORCE: