Makefile.am 37.7 KB
Newer Older
1 2 3
###############################################################################
# Automake targets and declarations
###############################################################################
4

5 6
NULL =

7 8 9
# SUBDIRS stores the directories where a "make" is required when building
# something. DIST_SUBDIRS stores the directories where nothing is built but
# which have makefiles with distribution information.
10 11
#  - intl should come before modules and . because all the code uses gettext
#  - modules should come before . because vlc needs the builtins
12
#  - . should come before mozilla/bindings because the plugin needs libvlc.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
16
DIST_SUBDIRS = $(SUBDIRS)  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 \
Christophe Mutricy's avatar
Hrm  
Christophe Mutricy committed
29
	vlc.fedora.spec \
30 31
	vlc.mandriva.spec \
	vlc.altlinux.spec \
32
	vlc.win32.nsi.in \
33 34
	$(NULL)

35
BUILT_SOURCES_distclean = vlc-config compile vlc.win32.nsi
36
BUILT_SOURCES_clean = macosx-sdk
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
37

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

40 41
SUFFIXES = 

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

45 46 47 48 49 50 51 52 53 54
# Tell aclocal to use -I m4. Wonder if it really works.
ACLOCAL_AMFLAGS = -I m4

###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib \
55
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
56 57
	extras/MacOSX/Resources/English.lproj/About.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/About.nib/info.nib \
58
	extras/MacOSX/Resources/English.lproj/About.nib/keyedobjects.nib \
59 60
	extras/MacOSX/Resources/English.lproj/Open.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Open.nib/info.nib \
61
	extras/MacOSX/Resources/English.lproj/Open.nib/keyedobjects.nib \
62 63
	extras/MacOSX/Resources/English.lproj/Preferences.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \
64
	extras/MacOSX/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
65 66 67
	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 \
68
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib \
69 70
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
71 72 73
	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 \
74 75 76
	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 \
77 78 79
	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 \
80 81 82
	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 \
83 84 85
	extras/MacOSX/Resources/English.lproj/InteractionErrorPanel.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/InteractionErrorPanel.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/InteractionErrorPanel.nib/keyedobjects.nib \
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 \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
145 146 147 148 149 150 151 152
	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 \
153
	extras/MacOSX/Resources/vlc.scriptSuite \
154
	extras/MacOSX/Resources/vlc.scriptTerminology \
155
	extras/MacOSX/Resources/README \
156 157 158 159 160 161 162
	extras/MacOSX/Resources/add_embedded.png \
	extras/MacOSX/Resources/add_embedded_blue.png \
	extras/MacOSX/Resources/repeat_embedded.png \
	extras/MacOSX/Resources/repeat_embedded_blue.png \
	extras/MacOSX/Resources/repeat_single_embedded_blue.png \
	extras/MacOSX/Resources/shuffle_embedded.png \
	extras/MacOSX/Resources/shuffle_embedded_blue.png \
163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
	extras/MacOSX/Resources/fs_volume_slider_knob_highlight.png \
	extras/MacOSX/Resources/fs_volume_slider_knob.png \
	extras/MacOSX/Resources/fs_volume_slider_bar.png \
	extras/MacOSX/Resources/fs_volume_mute_highlight.png \
	extras/MacOSX/Resources/fs_volume_mute.png \
	extras/MacOSX/Resources/fs_volume_max_highlight.png \
	extras/MacOSX/Resources/fs_volume_max.png \
	extras/MacOSX/Resources/fs_time_slider_knob_highlight.png \
	extras/MacOSX/Resources/fs_time_slider_knob.png \
	extras/MacOSX/Resources/fs_time_slider.png \
	extras/MacOSX/Resources/fs_stop_highlight.png \
	extras/MacOSX/Resources/fs_stop.png \
	extras/MacOSX/Resources/fs_skip_previous_highlight.png \
	extras/MacOSX/Resources/fs_skip_previous.png \
	extras/MacOSX/Resources/fs_skip_next_highlight.png \
	extras/MacOSX/Resources/fs_skip_next.png \
	extras/MacOSX/Resources/fs_rewind_highlight.png \
	extras/MacOSX/Resources/fs_rewind.png \
	extras/MacOSX/Resources/fs_play_highlight.png \
	extras/MacOSX/Resources/fs_play.png \
	extras/MacOSX/Resources/fs_pause_highlight.png \
	extras/MacOSX/Resources/fs_pause.png \
	extras/MacOSX/Resources/fs_forward_highlight.png \
	extras/MacOSX/Resources/fs_forward.png \
	extras/MacOSX/Resources/fs_exit_fullscreen_highlight.png \
	extras/MacOSX/Resources/fs_exit_fullscreen.png \
	extras/MacOSX/Resources/fs_background.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
190
	extras/MacOSX/fullscreen_panel.svg \
191
	extras/MacOSX/ub.sh \
Christophe Mutricy's avatar
Christophe Mutricy committed
192
	extras/MacOSX/vlc.xcodeproj/project.pbxproj \
193
	extras/MacOSX/Delete_Preferences.app/Contents/Info.plist \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
194
	extras/MacOSX/Delete_Preferences.app/Contents/PkgInfo \
195 196 197 198 199
	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 \
200 201 202 203
	extras/MacOSX/plugin/Info.plist \
	extras/MacOSX/plugin/InstallerInfo.plist \
	extras/MacOSX/plugin/InstallerDescription.plist \
	extras/MacOSX/plugin/pbdevelopment.plist \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
204
	extras/MacOSX/plugin/English.lproj/InfoPlist.strings \
205 206 207
	$(NULL)

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

###############################################################################
223
# MS Visual Studio and eMbedded Visual Studio projects
224 225 226 227
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
228 229
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
230
	msvc/vlc.dsp.in \
231
	msvc/config.h.in \
232
	msvc/modules_builtin_msvc.h \
233
	evc/vlc.vcw \
234
	evc/libvlc.vcp.in \
235
	evc/vlc.vcp.in \
236
	evc/plugins.vcp.in \
237
	evc/errno.h \
238
	evc/config.h.in \
239
	evc/modules_builtin_evc.h \
240 241
	$(NULL)

Gildas Bazin's avatar
 
Gildas Bazin committed
242
dist-hook:
243 244
	cd $(distdir) && srcdir=. $(SHELL) ./toolbox --update-vc
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
245

246 247 248 249 250
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
251
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
252 253
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
254
	touch $@
255

256 257
vlc-config.in: vlc-config.in.in
	./config.status --recheck
258
	touch $@
259

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

263 264 265 266
###############################################################################
# Building vlc
###############################################################################

Sam Hocevar's avatar
Sam Hocevar committed
267
bin_PROGRAMS = vlc
268

269
vlc_SOURCES = src/vlc.c
270
# Ugly kludge so that automake defines $(CXXLINK)
Christophe Mutricy's avatar
Christophe Mutricy committed
271
nodist_EXTRA_vlc_SOURCES = extras/zsh.cpp src/misc/darwin_specific.m
272

273 274
# Work around a bug in the arm-wince-pe linker
if HAVE_WINCE
275
vlc_WORKAROUNDLDFLAGS = $(LIBVLC)
276 277
endif

278 279
# We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an
# old automake-1.5 bug (automake/279).
280
DEPENDENCIES_vlc = src/$(LIB_libvlc) $(DATA_win32_rc)
281

282 283
vlc_LDADD = $(DATA_win32_rc) $(LIBVLC)

284 285
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
if USE_LIBTOOL
286 287
LIB_libvlc = libvlc.la
LIBVLC = src/$(LIB_libvlc)
288
vlc_LDFLAGS =
289
else
290
if HAVE_WIN32
291
vlc_LDFLAGS = -L$(top_builddir)/src -lvlc `$(VLC_CONFIG) --libs vlc`
292
LIB_libvlc = libvlc.dll.a
293
LIBVLC =
294
else
295
vlc_LDFLAGS = $(vlc_WORKAROUNDLFDLAGS) `$(VLC_CONFIG) --libs vlc builtin`
296 297
LIB_libvlc = libvlc.a
LIBVLC = src/$(LIB_libvlc)
298 299
DEPENDENCIES_vlc += stamp-builtin
endif
300
vlc_LDADD += $(INCLUDED_LIBINTL)
301
endif
302

303 304 305
# Shortcut for developpers to rebuild the core (libvlc + vlc)
# Don't use it if you don't know what it is about.
# Don't complain if it doesn't work. -- Courmisch
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
306 307
libvlc:
	cd src && $(MAKE) $(AM_MAKEFLAGS) $(LIB_libvlc)
308

309 310
core: libvlc
	$(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT)
311

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
312 313 314
.PHONY: libvlc core

src/$(LIB_libvlc): libvlc
315

316
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc)
317
	@rm -f vlc$(EXEEXT)
318
	@case `$(VLC_CONFIG) --linkage vlc builtin` in \
319 320 321 322
	  c++) cmd="$(CXXLINK)" ;; \
	  objc) cmd="$(OBJCLINK)" ;; \
	  c|*) cmd="$(LINK)" ;; \
	esac ; \
323
	cmd="$$cmd $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS)" ; \
324 325
	echo $$cmd ; \
	eval $$cmd
Eric Petit's avatar
Eric Petit committed
326

327
if HAVE_BEOS
328
noinst_DATA = vlc-bundle
329
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
330 331 332
	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
333 334
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
335 336
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
337 338
	  fi ; \
	done
Sam Hocevar's avatar
Sam Hocevar committed
339 340 341 342
	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/ ; \
343 344
	  done ; \
	fi
Eric Petit's avatar
Eric Petit committed
345
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
346 347 348
	  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
349
	done
Sam Hocevar's avatar
Sam Hocevar committed
350
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
351 352
endif

353
# Install the symlinks
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
354
install-exec-local: install-binPROGRAMS
355
	inst="`echo vlc | sed -e '$(transform)'`" ; \
Sam Hocevar's avatar
Sam Hocevar committed
356
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
357
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
358
	  ln -sf "$${inst}" "$(DESTDIR)$(bindir)/$$i" ; \
359 360
	fi ; done

361 362 363 364 365 366
# 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

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

if HAVE_WIN32
605
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
606 607 608
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
609
	$(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 $@
610 611
endif

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

613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630
###############################################################################
# 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); }; }

631 632 633 634 635 636 637
###############################################################################
# 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.
#
638 639

package-win-common:
640
# Check that tmp isn't in the way
641 642
	@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
643
	  false; \
644
	else \
645
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
646
	fi
647

648
# Copy relevant files
649 650
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
	cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
651
	cp "src/libvlc$(LIBEXT)" "vlc-${VERSION}/"
652

Gildas Bazin's avatar
 
Gildas Bazin committed
653
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
654 655
	  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
656

657
	mkdir $(top_builddir)/vlc-${VERSION}/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
658
	for i in $(ALL_LINGUAS); do \
659
	  mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
660
	  cp "$(srcdir)/po/$${i}.gmo" \
661
	    "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
662
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
663 664
	done

665 666
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests"
667 668
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/js"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/dialogs"
669 670 671
	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"
672
	cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
673
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
674
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
675
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
676 677
	cp $(srcdir)/share/http/js/*.js $(top_builddir)/vlc-${VERSION}/http/js/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/js/*.js ;
678 679
	cp $(srcdir)/share/http/dialogs/* $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/* ;
680
	cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
681 682 683
	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 ;
684 685
	cp $(srcdir)/share/http/requests/readme $(top_builddir)/vlc-${VERSION}/http/requests/readme.txt ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/requests/readme.txt ;
Gildas Bazin's avatar
 
Gildas Bazin committed
686

687 688 689 690 691 692 693 694 695
	cp $(srcdir)/share/http/old/*.html $(top_builddir)/vlc-${VERSION}/http/old/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/old/*.html ;
	cp $(srcdir)/share/http/old/*.css $(top_builddir)/vlc-${VERSION}/http/old/ ;
	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 ;

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

Gildas Bazin's avatar
 
Gildas Bazin committed
698
if BUILD_MOZILLA
699
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
700
	cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
701 702
endif

703
if BUILD_ACTIVEX
704
	mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
Christophe Mutricy's avatar
Christophe Mutricy committed
705 706
	cp $(srcdir)/activex/README.TXT  $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(srcdir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
707 708 709 710
	unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;

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

716 717 718 719 720 721 722 723 724 725
package-win-common-strip:
	$(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
	$(STRIP) "vlc-${VERSION}/libvlc$(LIBEXT)"
if BUILD_MOZILLA
	$(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
endif
if BUILD_ACTIVEX
	$(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
endif

726 727
package-win32-base-debug: package-win-common
# Copy relevant files
728
	cp "$(top_builddir)/vlc.win32.nsi" "$(top_builddir)/vlc-${VERSION}/"
729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757

	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 


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

762
package-win32-base-exe: package-win32-base
763
# Create package
764
	if makensis -VERSION >/dev/null 2>&1; then \
765
	    MAKENSIS="makensis -DVERSION=${VERSION}"; \
766
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
767
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis /DVERSION=${VERSION}"; \
768
	elif wine --version >dev/null 2>&1; then \
769
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe /DVERSION=${VERSION}"; \
770 771 772
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
773
	eval "$$MAKENSIS $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi"
774

775
package-win32-base-exe-cygwin: package-win32-base-exe
776
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
777

778 779 780 781
package-win32-base-exe-linux:
# Create package
	makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

782
package-win32-base-zip: package-win32-base
783
# Create package 
784
	zip -r -9 vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
785

786 787 788 789
package-win32-base-7zip: package-win32-base
# Create package 
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-${VERSION}-win32.7z vlc-${VERSION}

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

794 795 796 797
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

798
package-win32-zip: package-win32-base-zip
Gildas Bazin's avatar
 
Gildas Bazin committed
799
# Clean up
800
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
801

802 803 804 805
package-win32-7zip: package-win32-base-7zip
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

806 807 808
package-win32-no-clean: package-win32-base-exe package-win32-base-zip package-win32-base-7zip

package-win32: package-win32-no-clean
809
# Clean up
810
	rm -Rf $(top_builddir)/vlc-${VERSION}
811

812
package-wince-base: package-win-common package-win-common-strip
813 814 815 816 817 818 819 820 821 822

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}


823 824
package-beos:
# Check that tmp isn't in the way
825
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
826
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
827
	  false ; \
828
	else \
829
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
830
	fi
831

832
# Copy relevant files
833
	mkdir -p $(srcdir)/tmp/vlc ;
834 835 836 837 838 839 840
	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} ;
841
	(cd $(srcdir)/tmp && zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
842 843
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/ ;
	mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc ;
844

845
# Create normal package
846 847
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
848
	  --strip-debug --strip-unneeded "{}" \; ;
849 850 851
	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} ;
852
	(cd $(srcdir)/tmp &&  zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
853
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
854

855
# Clean up
856
	rm -Rf $(srcdir)/tmp ;
857 858

package-macosx:
859 860 861
# Check that the temporary location isn't in the way
	@if test -e "$(top_builddir)/vlc-${VERSION}/"; then \
	  rm -Rf "$(top_builddir)/vlc-${VERSION}/" ; \
862 863
	fi

864 865 866
	echo "Create package directory: vlc-${VERSION}/";
	mkdir -p "$(top_builddir)/vlc-${VERSION}/";

867
# Copy relevant files 
868 869 870 871 872
	@if test -e "$(top_builddir)/VLC-release.app/"; then \
	  cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-${VERSION}/VLC.app"; \
	else \
	  cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-${VERSION}/VLC.app"; \
	fi
873
	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}/
874 875

# Create disk image 
876 877 878
	echo "Creating disk image" ;
	rm -f "$(top_builddir)/vlc-${VERSION}.dmg" ;
	hdiutil create -srcfolder "$(top_builddir)/vlc-${VERSION}" \
879
	  "$(top_builddir)/vlc-${VERSION}.dmg" -format UDZO \
880
	  -scrub -imagekey zlib-level=9 ;
881
	echo "Disk image creation completed:" ;
882
	ls -la "$(top_builddir)/vlc-${VERSION}.dmg" ; echo ;
883 884

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

887 888
package-macosx-plugin:
if BUILD_MOZILLA
889 890
# Create Installer
	rm -rf "$(top_builddir)/macosx-plugin-instdata/"; true
891 892 893 894 895 896 897 898
	mkdir -p "$(top_builddir)/macosx-plugin-instdata"
	cp -R "$(top_builddir)/mozilla/VLC Plugin.plugin" "$(top_builddir)/macosx-plugin-instdata"
	rm -rf "$(top_builddir)/VLC Internet Plug-In.pkg"
	/Developer/Tools/packagemaker -build -ds -p "$(top_builddir)/VLC Internet Plug-In.pkg" \
	-f "$(top_builddir)/macosx-plugin-instdata" \
	-i "$(srcdir)/extras/MacOSX/plugin/InstallerInfo.plist" \
	-d "$(srcdir)/extras/MacOSX/plugin/InstallerDescription.plist"; true
	rm -rf "$(top_builddir)/macosx-plugin-instdata/"
899 900 901 902 903 904 905 906 907 908 909

# Create disk image 
	rm -f "$(top_builddir)/vlc-plugin-${VERSION}.dmg"; true
	rm -rf "$(top_builddir)/vlc-plugin-${VERSION}/"; true
	mkdir -p "$(top_builddir)/vlc-plugin-${VERSION}/"
	mv "$(top_builddir)/VLC Internet Plug-In.pkg" "$(top_builddir)/vlc-plugin-${VERSION}/"
	hdiutil create -srcfolder "$(top_builddir)/vlc-plugin-${VERSION}" \
	  "$(top_builddir)/vlc-plugin-${VERSION}.dmg" -format UDZO \
	  -scrub -imagekey zlib-level=9 ;
	echo "Disk image creation completed:"
	rm -rf "$(top_builddir)/vlc-plugin-${VERSION}"
910 911
endif

912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939
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

940 941 942 943 944 945 946 947
###############################################################################
# PO translation files update
###############################################################################
.PHONY: update-po

update-po:
	rm -f $(top_srcdir)/po/POTFILES.in
	{ \
948
	  cd $(top_srcdir) && \
949 950 951 952
	  echo "# automatically created by make update-po" ; \
	  echo "" ; \
	  echo "# main sources" ; \
	  find include src -name '*.[chm]' -o -name '*.[ch]pp' \
953
	    | grep -v '\(vlc_symbols\|misc/modules_\|src/misc/version.c\)' \
954 955 956
	    | sort ; \
	  echo "" ; \
	  echo "# modules" ; \
957
	  find modules -name '*.[chm]' -o -name '*.[ch]pp' -o -wholename 'modules/gui/qt4/ui/*.ui'\
958
	    | grep -v '\(\.moc\.\|gui/gtk2/\)' \
959
	    | grep -vE 'qt4/ui/.*.h' |grep -v qt4/resources.cpp \
960 961 962
	    | sort ; \
	} > $(top_srcdir)/po/POTFILES.in
	rm -f $(top_srcdir)/po/vlc.pot
963
	cd po && $(MAKE) POTFILES vlc.pot update-po
964 965 966

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

Sam Hocevar's avatar
Sam Hocevar committed
967 968 969 970 971 972 973 974 975 976 977 978
###############################################################################
# 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

979 980 981 982 983 984
###############################################################################
# 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)

985 986 987 988
###############################################################################
# Force rule
###############################################################################
FORCE: