Makefile.am 32.1 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 43
DISTCHECK_CONFIGURE_FLAGS = --disable-dvd --disable-mad --disable-libmpeg2 \
	--disable-ffmpeg --disable-faad --disable-skins2

44 45 46
# Tell aclocal to use -I m4. Wonder if it really works.
ACLOCAL_AMFLAGS = -I m4

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

51 52 53 54 55 56 57
###############################################################################
# MacOS X project
###############################################################################

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

###############################################################################
161
# MS Visual Studio and eMbedded Visual Studio projects
162 163 164 165
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
166 167
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
168
	msvc/vlc.dsp.in \
169
	msvc/config.h.in \
170
	msvc/modules_builtin_msvc.h \
171
	evc/vlc.vcw \
172
	evc/libvlc.vcp.in \
173
	evc/vlc.vcp.in \
174
	evc/plugins.vcp.in \
175
	evc/errno.h \
176
	evc/config.h.in \
177
	evc/modules_builtin_evc.h \
178 179
	$(NULL)

Gildas Bazin's avatar
 
Gildas Bazin committed
180
dist-hook:
181 182
	cd $(distdir) && srcdir=. $(SHELL) ./toolbox --update-vc
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
183

184 185 186 187 188
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
189
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
190 191
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
192

193 194 195
vlc-config.in: vlc-config.in.in
	./config.status --recheck

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

199 200 201 202
###############################################################################
# Building vlc
###############################################################################

Sam Hocevar's avatar
Sam Hocevar committed
203
bin_PROGRAMS = vlc
204

205
vlc_SOURCES = vlc.c
206 207
# Ugly kludge so that automake defines $(CXXLINK)
EXTRA_vlc_SOURCES = extras/zsh.cpp
208

209 210
# Work around a bug in the arm-wince-pe linker
if HAVE_WINCE
211
vlc_WORKAROUNDLDFLAGS = $(LIBVLC)
212 213
endif

214 215
# We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an
# old automake-1.5 bug (automake/279).
216
DEPENDENCIES_vlc = src/$(LIB_libvlc) $(DATA_win32_rc)
217

218 219 220
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
if USE_LIBTOOL
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc`
221 222
LIB_libvlc = libvlc.la
LIBVLC = src/$(LIB_libvlc)
223
else
224
if BUILD_SHARED
225
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc` -Wl,-rpath $(libdir) -L$(top_builddir)/src -lvlc
226
if HAVE_WIN32
227
LIB_libvlc = libvlc.dll.a
228
else
229
LIB_libvlc = libvlc$(LIBEXT)
230
endif
231
LIBVLC =
232
else
233
vlc_LDFLAGS = $(vlc_WORKAROUNDLFDLAGS) `$(VLC_CONFIG) --libs vlc builtin`
234 235
LIB_libvlc = libvlc.a
LIBVLC = src/$(LIB_libvlc)
236 237
DEPENDENCIES_vlc += stamp-builtin
endif
238 239
endif
vlc_LDADD = $(DATA_win32_rc) $(LIBVLC) $(INCLUDED_LIBINTL)
240

241 242 243 244 245 246 247 248 249 250 251 252
# 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)

253
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc)
254
	@rm -f vlc$(EXEEXT)
255
	@case `$(VLC_CONFIG) --linkage vlc builtin` in \
256 257 258 259
	  c++) cmd="$(CXXLINK)" ;; \
	  objc) cmd="$(OBJCLINK)" ;; \
	  c|*) cmd="$(LINK)" ;; \
	esac ; \
260
	cmd="$$cmd $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS)" ; \
261 262
	echo $$cmd ; \
	eval $$cmd
Eric Petit's avatar
Eric Petit committed
263

264
if HAVE_BEOS
265
noinst_DATA = vlc-bundle
266
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
267 268 269
	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
270 271
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
272 273
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
274 275
	  fi ; \
	done
Sam Hocevar's avatar
Sam Hocevar committed
276 277 278 279
	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/ ; \
280 281
	  done ; \
	fi
Eric Petit's avatar
Eric Petit committed
282
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
283 284 285
	  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
286
	done
Sam Hocevar's avatar
Sam Hocevar committed
287
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
288 289
endif

290
# Install the symlinks
291
install-exec-local:
Sam Hocevar's avatar
Sam Hocevar committed
292
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
293
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
294
	  ln -sf vlc "$(DESTDIR)$(bindir)/$$i" ; \
295 296
	fi ; done

297 298 299 300 301 302
# 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

303 304
if HAVE_DARWIN
# Create the MacOS X app
305
vlc_app_DATA = VLC.app
306
vlc_appdir = $(bindir)
307 308 309 310 311 312 313 314 315
# 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
316
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350
	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 \
351 352
	    wizard.h \
	    wizard.m \
353 354
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
355 356
	    bookmarks.h \
	    bookmarks.m \
357 358
	    sfilters.h \
	    sfilters.m \
359 360 361 362 363 364
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
365 366 367 368
	    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
369 370 371
	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
372
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
373 374 375
	          $(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
376
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
377
	          $(top_builddir)/VLC-release.app;; \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
378
	  *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
379
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
380
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
381 382
	          $(top_builddir)/VLC-release.app;; \
	esac
383 384 385 386 387 388 389 390 391 392 393
	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
394
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
395
	  mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/lib ; \
396
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
397
	    $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/lib/`basename $${i}` ; \
398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418
	  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
419
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
420 421 422 423 424 425 426
	@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
427
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
Loïc Minier's avatar
Loïc Minier committed
428 429 430 431 432 433 434 435 436 437 438 439
	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 \
440 441
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
442 443 444 445 446 447 448 449 450 451 452
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
453 454
	    playlistinfo.h \
	    playlistinfo.m \
455 456
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
457 458 459
	    prefs.h \
	    prefs.m \
	    vout.h \
460 461
	    voutqt.m \
	    voutgl.m \
462 463
	    wizard.h \
	    wizard.m \
464 465
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
466 467
	    bookmarks.h \
	    bookmarks.m \
468 469
	    sfilters.h \
	    sfilters.m \
470 471 472 473 474 475
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
Loïc Minier's avatar
Loïc Minier committed
476 477 478 479
	    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
480 481 482
	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
483
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
484 485 486
	          $(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
487
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
488
	          $(top_builddir)/VLC.app;; \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
489
	  *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
490
	    cd ../../../; \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
491
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
492 493
	          $(top_builddir)/VLC.app;; \
	esac
Loïc Minier's avatar
Loïc Minier committed
494 495 496 497
	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
498
	ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
Loïc Minier's avatar
Loïc Minier committed
499
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
Sam Hocevar's avatar
Sam Hocevar committed
500
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
501
	  if test -n "$$i" ; \
502
	    then ln -sfn "`pwd`/$$i$(LIBEXT)" \
Loïc Minier's avatar
Loïc Minier committed
503
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
504
	  fi ; done
505
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
506
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
507
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
508
	    ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/`basename $${i}` ; \
509
	  done ; \
510
	fi
511
	ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/
Loïc Minier's avatar
Loïc Minier committed
512
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
513
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
514
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
515
	  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
516 517 518 519 520
	  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 ; \
521
	done
Loïc Minier's avatar
Loïc Minier committed
522
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
523 524 525
endif

if HAVE_WIN32
526
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
527 528 529
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
530
	$(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 $@
531 532
endif

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

534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551
###############################################################################
# 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); }; }

552 553 554 555 556 557 558
###############################################################################
# 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.
#
559 560

package-win-common:
561
# Check that tmp isn't in the way
562 563
	@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
564
	  false; \
565
	else \
566
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
567
	fi
568

569
# Copy relevant files
570 571 572
	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)"
573 574 575 576
if BUILD_SHARED
	cp "src/libvlc$(LIBEXT)" "vlc-${VERSION}/"
	$(STRIP) "vlc-${VERSION}/libvlc$(LIBEXT)"
endif
577

Gildas Bazin's avatar
 
Gildas Bazin committed
578
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
579 580
	  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
581

582
	mkdir $(top_builddir)/vlc-${VERSION}/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
583
	for i in $(ALL_LINGUAS); do \
584
	  mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
585
	  cp "$(srcdir)/po/$${i}.gmo" \
586
	    "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
587
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
588 589
	done

590 591
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests"
592 593
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/js"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/dialogs"
594 595 596
	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"
597
	cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
598
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
599
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
600
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
601 602
	cp $(srcdir)/share/http/js/*.js $(top_builddir)/vlc-${VERSION}/http/js/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/js/*.js ;
603 604
	cp $(srcdir)/share/http/dialogs/* $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/* ;
605
	cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
606 607 608
	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
609

610 611 612 613 614 615 616 617 618 619
	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 ;

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

Gildas Bazin's avatar
 
Gildas Bazin committed
622
if BUILD_MOZILLA
623
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
624 625 626
	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
627 628
endif

629
if BUILD_ACTIVEX
630
	mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
Christophe Mutricy's avatar
Christophe Mutricy committed
631 632
	cp $(srcdir)/activex/README.TXT  $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(srcdir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
633 634 635 636 637
	unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;

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

643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674
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 


675 676 677 678 679
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


680
package-win32-base-exe: package-win32-base
681
# Create package
682
	if makensis -VERSION >/dev/null 2>&1; then \
683
	    MAKENSIS="makensis -DVERSION=${VERSION}"; \
684
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
685
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis /DVERSION=${VERSION}"; \
686
	elif wine --version >dev/null 2>&1; then \
687
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe /DVERSION=${VERSION}"; \
688 689 690
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
691
	eval "$$MAKENSIS $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi"
692

693
package-win32-base-exe-cygwin: package-win32-base-exe
694
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
695

696 697 698 699
package-win32-base-exe-linux:
# Create package
	makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

700
package-win32-base-zip: package-win32-base
701
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
702
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
703 704 705

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

708 709 710 711
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

712
package-win32-zip: package-win32-base-zip
Gildas Bazin's avatar
 
Gildas Bazin committed
713
# Clean up
714
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
715

716
package-win32: package-win32-base-exe package-win32-base-zip
717
# Clean up
718
	rm -Rf $(top_builddir)/vlc-${VERSION}
719

720
package-wince-base: package-win-common
721 722 723 724 725 726 727 728 729 730

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}


731 732
package-beos:
# Check that tmp isn't in the way
733
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
734
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
735
	  false ; \
736
	else \
737
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
738
	fi
739

740
# Copy relevant files
741
	mkdir -p $(srcdir)/tmp/vlc ;
742 743 744 745 746 747 748 749 750 751
	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 ;
752

753
# Create normal package
754 755
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
756
	  --strip-debug --strip-unneeded "{}" \; ;
757 758 759
	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} ;
760
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
761
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
762

763
# Clean up
764
	rm -Rf $(srcdir)/tmp ;
765 766

package-macosx:
767 768 769
# Check that the temporary location isn't in the way
	@if test -e "$(top_builddir)/vlc-${VERSION}/"; then \
	  rm -Rf "$(top_builddir)/vlc-${VERSION}/" ; \
770 771
	fi

772 773 774
	echo "Create package directory: vlc-${VERSION}/";
	mkdir -p "$(top_builddir)/vlc-${VERSION}/";

775
# Copy relevant files 
776 777
	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}/
778 779

# Create disk image 
780 781 782 783 784 785
	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 ;
786 787

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

790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817
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

818 819 820 821 822 823 824 825 826 827 828 829 830
###############################################################################
# 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' \
831
	    | grep -v '\(vlc_symbols\|misc/modules_\|src/misc/version.c\)' \
832 833 834 835 836 837 838 839
	    | 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
840
	cd po && $(MAKE) POTFILES vlc.pot update-po
841 842 843

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

Sam Hocevar's avatar
Sam Hocevar committed
844 845 846 847 848 849 850 851 852 853 854 855
###############################################################################
# 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

856 857 858 859 860 861
###############################################################################
# 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)

862 863 864 865
###############################################################################
# Force rule
###############################################################################
FORCE: