Makefile.am 32.9 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 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441
	  done ; \
	fi
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http
	for i in $(srcdir)/share/http/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \
	done ; \
	$(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
442
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
443 444 445 446 447 448 449
	@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
450
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
Loïc Minier's avatar
Loïc Minier committed
451 452 453 454 455 456 457 458 459 460 461 462
	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 \
463 464
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
465 466 467 468 469 470 471 472 473 474 475
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
476 477
	    playlistinfo.h \
	    playlistinfo.m \
478 479
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
480 481 482
	    prefs.h \
	    prefs.m \
	    vout.h \
483 484
	    voutqt.m \
	    voutgl.m \
485 486
	    wizard.h \
	    wizard.m \
487 488
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
489 490
	    bookmarks.h \
	    bookmarks.m \
491 492
	    sfilters.h \
	    sfilters.m \
493 494 495 496 497 498
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
Loïc Minier's avatar
Loïc Minier committed
499 500 501 502
	    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
503 504 505
	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
506
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
507 508 509
	          $(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
510
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
511
	          $(top_builddir)/VLC.app;; \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
512
	  *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
513
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
514
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
515 516
	          $(top_builddir)/VLC.app;; \
	esac
Loïc Minier's avatar
Loïc Minier committed
517 518 519 520
	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
521
	ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
Loïc Minier's avatar
Loïc Minier committed
522
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
Sam Hocevar's avatar
Sam Hocevar committed
523
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
524
	  if test -n "$$i" ; \
525
	    then ln -sfn "`pwd`/$$i$(LIBEXT)" \
Loïc Minier's avatar
Loïc Minier committed
526
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
527
	  fi ; done
528
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
529
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
530
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
531
	    ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/`basename $${i}` ; \
532
	  done ; \
533
	fi
534
	ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/
Loïc Minier's avatar
Loïc Minier committed
535
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
536
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
537
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
538
	  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
539 540 541 542 543
	  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 ; \
544
	done
Loïc Minier's avatar
Loïc Minier committed
545
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
546 547 548
endif

if HAVE_WIN32
549
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
550 551 552
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
553
	$(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 $@
554 555
endif

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

557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574
###############################################################################
# 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); }; }

575 576 577 578 579 580 581
###############################################################################
# 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.
#
582 583

package-win-common:
584
# Check that tmp isn't in the way
585 586
	@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
587
	  false; \
588
	else \
589
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
590
	fi
591

592
# Copy relevant files
593 594 595
	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)"
596 597 598 599
if BUILD_SHARED
	cp "src/libvlc$(LIBEXT)" "vlc-${VERSION}/"
	$(STRIP) "vlc-${VERSION}/libvlc$(LIBEXT)"
endif
600

Gildas Bazin's avatar
 
Gildas Bazin committed
601
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
602 603
	  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
604

605
	mkdir $(top_builddir)/vlc-${VERSION}/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
606
	for i in $(ALL_LINGUAS); do \
607
	  mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
608
	  cp "$(srcdir)/po/$${i}.gmo" \
609
	    "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
610
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
611 612
	done

613 614
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests"
615 616
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/js"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/dialogs"
617 618 619
	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"
620
	cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
621
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
622
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
623
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
624 625
	cp $(srcdir)/share/http/js/*.js $(top_builddir)/vlc-${VERSION}/http/js/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/js/*.js ;
626 627
	cp $(srcdir)/share/http/dialogs/* $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/* ;
628
	cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
629 630 631
	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
632

633 634 635 636 637 638 639 640 641 642
	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 ;

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

Gildas Bazin's avatar
 
Gildas Bazin committed
645
if BUILD_MOZILLA
646
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
647 648 649
	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
650 651
endif

652
if BUILD_ACTIVEX
653
	mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
Christophe Mutricy's avatar
Christophe Mutricy committed
654 655
	cp $(srcdir)/activex/README.TXT  $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(srcdir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
656 657 658 659 660
	unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;

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

666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697
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 


698 699 700 701 702
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


703
package-win32-base-exe: package-win32-base
704
# Create package
705
	if makensis -VERSION >/dev/null 2>&1; then \
706
	    MAKENSIS="makensis -DVERSION=${VERSION}"; \
707
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
708
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis /DVERSION=${VERSION}"; \
709
	elif wine --version >dev/null 2>&1; then \
710
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe /DVERSION=${VERSION}"; \
711 712 713
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
714
	eval "$$MAKENSIS $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi"
715

716
package-win32-base-exe-cygwin: package-win32-base-exe
717
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
718

719 720 721 722
package-win32-base-exe-linux:
# Create package
	makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

723
package-win32-base-zip: package-win32-base
724
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
725
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
726 727 728

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

731 732 733 734
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

735
package-win32-zip: package-win32-base-zip
Gildas Bazin's avatar
 
Gildas Bazin committed
736
# Clean up
737
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
738

739
package-win32: package-win32-base-exe package-win32-base-zip
740
# Clean up
741
	rm -Rf $(top_builddir)/vlc-${VERSION}
742

743
package-wince-base: package-win-common
744 745 746 747 748 749 750 751 752 753

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}


754 755
package-beos:
# Check that tmp isn't in the way
756
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
757
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
758
	  false ; \
759
	else \
760
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
761
	fi
762

763
# Copy relevant files
764
	mkdir -p $(srcdir)/tmp/vlc ;
765 766 767 768 769 770 771 772 773 774
	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 ;
775

776
# Create normal package
777 778
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
779
	  --strip-debug --strip-unneeded "{}" \; ;
780 781 782
	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} ;
783
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
784
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
785

786
# Clean up
787
	rm -Rf $(srcdir)/tmp ;
788 789

package-macosx:
790 791 792
# Check that the temporary location isn't in the way
	@if test -e "$(top_builddir)/vlc-${VERSION}/"; then \
	  rm -Rf "$(top_builddir)/vlc-${VERSION}/" ; \
793 794
	fi

795 796 797
	echo "Create package directory: vlc-${VERSION}/";
	mkdir -p "$(top_builddir)/vlc-${VERSION}/";

798
# Copy relevant files 
799 800
	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}/
801 802

# Create disk image 
803 804 805 806 807 808
	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 ;
809 810

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

813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840
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

841 842 843 844 845 846 847 848 849 850 851 852 853
###############################################################################
# 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' \
854
	    | grep -v '\(vlc_symbols\|misc/modules_\|src/misc/version.c\)' \
855 856 857 858 859 860 861 862
	    | 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
863
	cd po && $(MAKE) POTFILES vlc.pot update-po
864 865 866

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

Sam Hocevar's avatar
Sam Hocevar committed
867 868 869 870 871 872 873 874 875 876 877 878
###############################################################################
# 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

879 880 881 882 883 884
###############################################################################
# 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)

885 886 887 888
###############################################################################
# Force rule
###############################################################################
FORCE: