Makefile.am 31.6 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
###############################################################################

203 204 205 206 207 208 209 210 211 212
.PHONY: libvlc

# 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: libvlc vlc$(EXEEXT)

libvlc:
	cd src && $(MAKE) all

Sam Hocevar's avatar
Sam Hocevar committed
213
bin_PROGRAMS = vlc
214

215
vlc_SOURCES = src/vlc.c
216 217
# Ugly kludge so that automake defines $(CXXLINK)
EXTRA_vlc_SOURCES = extras/zsh.cpp
218

219 220
# Work around a bug in the arm-wince-pe linker
if HAVE_WINCE
221 222 223 224
vlc_WORKAROUNDLDFLAGS = $(LIB_libvlc)
endif

if BUILD_SHARED
225
LIB_libvlc = src/libvlc$(LIBEXT)
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
226
vlc_config = vlc
227 228
#-Wl,-rpath $(libdir)
else
229
LIB_libvlc = src/libvlc.a
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
230
vlc_config = vlc builtin
231 232
endif

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
233
vlc_LDFLAGS = `$(VLC_CONFIG) --libs $(vlc_config)` $(vlc_WORKAROUNDLDFLAGS)
234
vlc_LDADD = $(LIB_libvlc) $(DATA_win32_rc) $(INCLUDED_LIBINTL)
235 236
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`

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

Sam Hocevar's avatar
Sam Hocevar committed
241
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
242
	@rm -f vlc$(EXEEXT)
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
243
	@case `$(VLC_CONFIG) --linkage $(vlc_config)` in \
244 245 246 247
	  c++) cmd="$(CXXLINK)" ;; \
	  objc) cmd="$(OBJCLINK)" ;; \
	  c|*) cmd="$(LINK)" ;; \
	esac ; \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
248
	cmd="$$cmd $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS)" ; \
249 250
	echo $$cmd ; \
	eval $$cmd
Eric Petit's avatar
Eric Petit committed
251

252
if HAVE_BEOS
253
DATA_noinst_beos = vlc-bundle
254
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
255 256 257
	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
258 259
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
260 261
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
262 263
	  fi ; \
	done
Sam Hocevar's avatar
Sam Hocevar committed
264 265 266 267
	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/ ; \
268 269
	  done ; \
	fi
Eric Petit's avatar
Eric Petit committed
270
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
271 272 273
	  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
274
	done
Sam Hocevar's avatar
Sam Hocevar committed
275
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
276 277
endif

278
# Install the symlinks and shared libvlc
279
install-exec-local:
Sam Hocevar's avatar
Sam Hocevar committed
280
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
281
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
282
	  ln -sf vlc "$(DESTDIR)$(bindir)/$$i" ; \
283 284
	fi ; done

285 286 287 288 289 290
# 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

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

if HAVE_WIN32
502
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
503 504 505
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
506
	$(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 $@
507 508
endif

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

510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527
###############################################################################
# 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); }; }

528 529 530 531 532 533 534
###############################################################################
# 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.
#
535 536

package-win-common:
537
# Check that tmp isn't in the way
538 539
	@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
540
	  false; \
541
	else \
542
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
543
	fi
544

545
# Copy relevant files
546 547 548
	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)"
549 550 551 552
if BUILD_SHARED
	cp "src/libvlc$(LIBEXT)" "vlc-${VERSION}/"
	$(STRIP) "vlc-${VERSION}/libvlc$(LIBEXT)"
endif
553

Gildas Bazin's avatar
 
Gildas Bazin committed
554
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
555 556
	  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
557

558
	mkdir $(top_builddir)/vlc-${VERSION}/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
559
	for i in $(ALL_LINGUAS); do \
560
	  mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
561
	  cp "$(srcdir)/po/$${i}.gmo" \
562
	    "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
563
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
564 565
	done

566 567
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests"
568 569
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/js"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/dialogs"
570 571 572
	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"
573
	cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
574
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
575
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
576
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
577 578
	cp $(srcdir)/share/http/js/*.js $(top_builddir)/vlc-${VERSION}/http/js/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/js/*.js ;
579 580
	cp $(srcdir)/share/http/dialogs/* $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/* ;
581
	cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
582 583 584
	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
585

586 587 588 589 590 591 592 593 594 595
	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 ;

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

Gildas Bazin's avatar
 
Gildas Bazin committed
598
if BUILD_MOZILLA
599
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
600 601 602
	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
603 604
endif

605
if BUILD_ACTIVEX
606
	mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
Christophe Mutricy's avatar
Christophe Mutricy committed
607 608
	cp $(srcdir)/activex/README.TXT  $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(srcdir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
609 610 611 612 613
	unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;

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

619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650
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 


651 652 653 654 655
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


Gildas Bazin's avatar
 
Gildas Bazin committed
656
package-win32-base-exe:
657
# Create package
658
	if makensis -VERSION >/dev/null 2>&1; then \
659
	    MAKENSIS="makensis -DVERSION=${VERSION}"; \
660
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
661
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis /DVERSION=${VERSION}"; \
662
	elif wine --version >dev/null 2>&1; then \
663
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe /DVERSION=${VERSION}"; \
664 665 666
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
667
	eval "$$MAKENSIS $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi"
668

669
package-win32-base-exe-cygwin: package-win32-base-exe
670
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
671

672 673 674 675
package-win32-base-exe-linux:
# Create package
	makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

Gildas Bazin's avatar
 
Gildas Bazin committed
676
package-win32-base-zip:
677
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
678
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
679 680 681

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

684 685 686 687
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

Gildas Bazin's avatar
 
Gildas Bazin committed
688 689
package-win32-zip: package-win32-base package-win32-base-zip
# Clean up
690
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
691 692

package-win32: package-win32-base package-win32-base-exe package-win32-base-zip
693
# Clean up
694
	rm -Rf $(top_builddir)/vlc-${VERSION}
695

696
package-wince-base: package-win-common
697 698 699 700 701 702 703 704 705 706

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}


707 708
package-beos:
# Check that tmp isn't in the way
709
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
710
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
711
	  false ; \
712
	else \
713
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
714
	fi
715

716
# Copy relevant files
717
	mkdir -p $(srcdir)/tmp/vlc ;
718 719 720 721 722 723 724 725 726 727
	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 ;
728

729
# Create normal package
730 731
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
732
	  --strip-debug --strip-unneeded "{}" \; ;
733 734 735
	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} ;
736
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
737
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
738

739
# Clean up
740
	rm -Rf $(srcdir)/tmp ;
741 742

package-macosx:
743 744 745
# Check that the temporary location isn't in the way
	@if test -e "$(top_builddir)/vlc-${VERSION}/"; then \
	  rm -Rf "$(top_builddir)/vlc-${VERSION}/" ; \
746 747
	fi

748 749 750
	echo "Create package directory: vlc-${VERSION}/";
	mkdir -p "$(top_builddir)/vlc-${VERSION}/";

751
# Copy relevant files 
752 753
	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}/
754 755

# Create disk image 
756 757 758 759 760 761
	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 ;
762 763

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

766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793
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

794 795 796 797 798 799 800 801 802 803 804 805 806
###############################################################################
# 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' \
807
	    | grep -v '\(vlc_symbols\|misc/modules_\|src/misc/version.c\)' \
808 809 810 811 812 813 814 815
	    | 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
816
	cd po && $(MAKE) POTFILES vlc.pot update-po
817 818 819

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

Sam Hocevar's avatar
Sam Hocevar committed
820 821 822 823 824 825 826 827 828 829 830 831
###############################################################################
# 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

832 833 834 835 836 837
###############################################################################
# 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)

838 839 840 841
###############################################################################
# Force rule
###############################################################################
FORCE: