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

5 6
# Pass --quiet to make when we are not verbose.
AM_MAKEFLAGS = $(makesilentflags_$(V))
Pierre's avatar
Pierre committed
7
makesilentflags_ = $(makesilentflags__$(AM_DEFAULT_VERBOSITY))
8 9
makesilentflags_0 = --quiet
makesilentflags__0 = $(makesilentflags_0)
10

11 12 13
# 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.
14 15
#  - src (libvlc) is nedeed by modules, mozilla and bindings
#  - libs/* are needed by modules
16
BASE_SUBDIRS = po compat src bin modules share doc test
17
EXTRA_SUBDIRS = m4 extras/package/ipkg \
18
	libs/loader libs/srtp libs/unzip \
19
	projects/mozilla projects/activex
20
DIST_SUBDIRS = $(BASE_SUBDIRS) $(EXTRA_SUBDIRS)
21

22
SUBDIRS = po compat src
23 24 25
if LOADER
SUBDIRS += libs/loader
endif
26
if HAVE_GCRYPT
27 28
SUBDIRS += libs/srtp
endif
29
if HAVE_ZLIB
30
if !HAVE_MINIZIP
31 32
SUBDIRS += libs/unzip
endif
33
endif
34 35 36
if BUILD_VLC
SUBDIRS += bin
endif
37
SUBDIRS += modules share doc test
38 39 40 41
if BUILD_MOZILLA
SUBDIRS += projects/mozilla
endif
if BUILD_ACTIVEX
42
SUBDIRS += projects/activex
43
endif
44

45 46 47
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
48
	INSTALL.wince \
49
	extras/package/win32/vlc.exe.manifest \
50
	extras/package/win32/libvlc.dll.manifest \
51
	extras/package/macosx/README.MacOSX.rtf \
Sam Hocevar's avatar
Sam Hocevar committed
52
	vlc-config.in.in \
53 54
	extras/package/rpm/vlc.fedora.spec \
	extras/package/rpm/vlc.altlinux.spec \
55
	extras/package/win32/vlc.win32.nsi.in \
56
	extras/package/win32/spad.nsi.in \
57 58 59
	extras/package/win32/languages/declaration.nsh \
	extras/package/win32/languages/english.nsh \
	extras/package/win32/languages/french.nsh
60

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
61
dist_noinst_SCRIPTS = bootstrap toolbox
62
nodist_noinst_SCRIPTS = compile
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
63

64
BUILT_SOURCES_distclean = vlc-config extras/package/win32/vlc.win32.nsi extras/package/win32/spad.nsi
65
if HAVE_DARWIN
66
BUILT_SOURCES_clean = macosx-sdk
67 68 69
else
BUILT_SOURCES_clean =
endif
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
70

71
BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
72

73 74
SUFFIXES = 

75 76
DISTCHECK_CONFIGURE_FLAGS = \
	--enable-fast-install \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
77
	--disable-dbus \
78
	--disable-dvd --disable-mad --disable-libmpeg2 \
79
	--disable-ffmpeg --disable-faad --disable-skins2 \
80
	--disable-live555 \
81
	--disable-fribidi --disable-glx
82

83
ACLOCAL_AMFLAGS = -I m4
84 85 86 87 88 89
AUTOMAKE_OPTIONS = \
	1.9 \
	-Wall \
	check-news \
	dist-bzip2 \
	no-dist-gzip
Christophe Mutricy's avatar
Christophe Mutricy committed
90
#	std-options
91

92 93
ChangeLog: Makefile.am
	rm -f -- "$@"
94
	cd doc && $(MAKE) $(AM_MAKEFLAGS) changelogs
95
	ln -sf doc/ChangeLog-2009 "$@"
96

97 98 99 100 101
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
102
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib \
103
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
104
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/designable.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
105
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/keyedobjects.nib \
106
	extras/package/macosx/Resources/English.lproj/About.nib/designable.nib \
107
	extras/package/macosx/Resources/English.lproj/About.nib/keyedobjects.nib \
108
	extras/package/macosx/Resources/English.lproj/Open.nib/designable.nib \
109
	extras/package/macosx/Resources/English.lproj/Open.nib/keyedobjects.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
110
	extras/package/macosx/Resources/English.lproj/Preferences.nib/designable.nib \
111
	extras/package/macosx/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
112
	extras/package/macosx/Resources/English.lproj/Wizard.nib/designable.nib \
113
	extras/package/macosx/Resources/English.lproj/Wizard.nib/keyedobjects.nib \
114
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/designable.nib \
115
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
116
	extras/package/macosx/Resources/English.lproj/Extended.nib/designable.nib \
117
	extras/package/macosx/Resources/English.lproj/Extended.nib/keyedobjects.nib \
118
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/designable.nib \
119
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/keyedobjects.nib \
120
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/designable.nib \
121
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/keyedobjects.nib \
122
	extras/package/macosx/Resources/English.lproj/InfoPlist.strings.in \
123
	extras/package/macosx/Resources/dsa_pub.pem \
124 125
	extras/package/macosx/Resources/aiff.icns \
	extras/package/macosx/Resources/audio.icns \
126
	extras/package/macosx/Resources/avi.icns \
127
	extras/package/macosx/Resources/flv.icns \
128
	extras/package/macosx/Resources/generic.icns \
129 130 131
	extras/package/macosx/Resources/m4a.icns \
	extras/package/macosx/Resources/m4v.icns \
	extras/package/macosx/Resources/mkv.icns \
132
	extras/package/macosx/Resources/mov.icns \
133
	extras/package/macosx/Resources/movie.icns \
134 135 136
	extras/package/macosx/Resources/mp3.icns \
	extras/package/macosx/Resources/mpeg.icns \
	extras/package/macosx/Resources/ogg.icns \
137 138 139
	extras/package/macosx/Resources/playlist.icns \
	extras/package/macosx/Resources/rm.icns \
	extras/package/macosx/Resources/subtitle.icns \
140
	extras/package/macosx/Resources/vob.icns \
141 142
	extras/package/macosx/Resources/wav.icns \
	extras/package/macosx/Resources/vlc.icns \
143 144 145 146 147 148 149 150
	extras/package/macosx/Resources/wma.icns \
	extras/package/macosx/Resources/wmv.icns \
	extras/package/macosx/Resources/pause.png \
	extras/package/macosx/Resources/pause_blue.png \
	extras/package/macosx/Resources/play.png \
	extras/package/macosx/Resources/play_blue.png \
	extras/package/macosx/Resources/stop.png \
	extras/package/macosx/Resources/stop_blue.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
151 152 153
	extras/package/macosx/Resources/display_left.png \
	extras/package/macosx/Resources/display_middle.png \
	extras/package/macosx/Resources/display_right.png \
154 155 156 157 158 159 160 161 162 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 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220
	extras/package/macosx/Resources/display_slider.png \
	extras/package/macosx/Resources/display_track.png \
	extras/package/macosx/Resources/equalizerdrawer_active.png \
	extras/package/macosx/Resources/equalizerdrawer_blue.png \
	extras/package/macosx/Resources/fullscreen_active.png \
	extras/package/macosx/Resources/fullscreen_blue.png \
	extras/package/macosx/Resources/next_active.png \
	extras/package/macosx/Resources/next_blue.png \
	extras/package/macosx/Resources/playlistdrawer_active.png \
	extras/package/macosx/Resources/playlistdrawer_blue.png \
	extras/package/macosx/Resources/previous_active.png \
	extras/package/macosx/Resources/previous_blue.png \
	extras/package/macosx/Resources/skip_forward_active.png \
	extras/package/macosx/Resources/skip_forward_blue.png \
	extras/package/macosx/Resources/skip_previous_active.png \
	extras/package/macosx/Resources/skip_previous_blue.png \
	extras/package/macosx/Resources/volume_high.png \
	extras/package/macosx/Resources/volume_low.png \
	extras/package/macosx/Resources/volumeslider_blue.png \
	extras/package/macosx/Resources/volumeslider_normal.png \
	extras/package/macosx/Resources/volumetrack.png \
	extras/package/macosx/Resources/about_bg.png \
	extras/package/macosx/Resources/skip_forward_active_embedded.png \
	extras/package/macosx/Resources/play_embedded.png \
	extras/package/macosx/Resources/pause_embedded.png \
	extras/package/macosx/Resources/skip_previous_active_embedded.png \
	extras/package/macosx/Resources/pause_embedded_blue.png \
	extras/package/macosx/Resources/play_embedded_blue.png \
	extras/package/macosx/Resources/skip_forward_embedded_blue.png \
	extras/package/macosx/Resources/skip_previous_embedded_blue.png \
	extras/package/macosx/Resources/vlc.scriptSuite \
	extras/package/macosx/Resources/vlc.scriptTerminology \
	extras/package/macosx/Resources/README \
	extras/package/macosx/Resources/add_embedded.png \
	extras/package/macosx/Resources/add_embedded_blue.png \
	extras/package/macosx/Resources/repeat_embedded.png \
	extras/package/macosx/Resources/repeat_embedded_blue.png \
	extras/package/macosx/Resources/repeat_single_embedded_blue.png \
	extras/package/macosx/Resources/shuffle_embedded.png \
	extras/package/macosx/Resources/shuffle_embedded_blue.png \
	extras/package/macosx/Resources/fs_volume_slider_knob_highlight.png \
	extras/package/macosx/Resources/fs_volume_slider_knob.png \
	extras/package/macosx/Resources/fs_volume_slider_bar.png \
	extras/package/macosx/Resources/fs_volume_mute_highlight.png \
	extras/package/macosx/Resources/fs_volume_mute.png \
	extras/package/macosx/Resources/fs_volume_max_highlight.png \
	extras/package/macosx/Resources/fs_volume_max.png \
	extras/package/macosx/Resources/fs_time_slider_knob_highlight.png \
	extras/package/macosx/Resources/fs_time_slider_knob.png \
	extras/package/macosx/Resources/fs_time_slider.png \
	extras/package/macosx/Resources/fs_stop_highlight.png \
	extras/package/macosx/Resources/fs_stop.png \
	extras/package/macosx/Resources/fs_skip_previous_highlight.png \
	extras/package/macosx/Resources/fs_skip_previous.png \
	extras/package/macosx/Resources/fs_skip_next_highlight.png \
	extras/package/macosx/Resources/fs_skip_next.png \
	extras/package/macosx/Resources/fs_rewind_highlight.png \
	extras/package/macosx/Resources/fs_rewind.png \
	extras/package/macosx/Resources/fs_play_highlight.png \
	extras/package/macosx/Resources/fs_play.png \
	extras/package/macosx/Resources/fs_pause_highlight.png \
	extras/package/macosx/Resources/fs_pause.png \
	extras/package/macosx/Resources/fs_forward_highlight.png \
	extras/package/macosx/Resources/fs_forward.png \
	extras/package/macosx/Resources/fs_exit_fullscreen_highlight.png \
	extras/package/macosx/Resources/fs_exit_fullscreen.png \
	extras/package/macosx/Resources/fs_background.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
	extras/package/macosx/Resources/add_embedded_graphite.png \
	extras/package/macosx/Resources/equalizerdrawer_graphite.png \
	extras/package/macosx/Resources/fullscreen_graphite.png \
	extras/package/macosx/Resources/next_graphite.png \
	extras/package/macosx/Resources/pause_embedded_graphite.png \
	extras/package/macosx/Resources/pause_graphite.png \
	extras/package/macosx/Resources/play_embedded_graphite.png \
	extras/package/macosx/Resources/play_graphite.png \
	extras/package/macosx/Resources/playlistdrawer_graphite.png \
	extras/package/macosx/Resources/previous_graphite.png \
	extras/package/macosx/Resources/repeat_embedded_graphite.png \
	extras/package/macosx/Resources/repeat_single_embedded_graphite.png \
	extras/package/macosx/Resources/shuffle_embedded_graphite.png \
	extras/package/macosx/Resources/skip_forward_embedded_graphite.png \
	extras/package/macosx/Resources/skip_forward_graphite.png \
	extras/package/macosx/Resources/skip_previous_embedded_graphite.png \
	extras/package/macosx/Resources/skip_previous_graphite.png \
	extras/package/macosx/Resources/stop_graphite.png \
	extras/package/macosx/Resources/volumeslider_graphite.png \
240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261
	extras/package/macosx/Resources/backward_big_down.png \
	extras/package/macosx/Resources/backward_big.png \
	extras/package/macosx/Resources/eq_sm.pdf \
	extras/package/macosx/Resources/forward_big_down.png \
	extras/package/macosx/Resources/forward_big.png \
	extras/package/macosx/Resources/fs_sm.pdf \
	extras/package/macosx/Resources/list_sm.pdf \
	extras/package/macosx/Resources/next_sm.pdf \
	extras/package/macosx/Resources/pause_big_down.png \
	extras/package/macosx/Resources/pause_big.png \
	extras/package/macosx/Resources/play_big_down.png \
	extras/package/macosx/Resources/play_big.png \
	extras/package/macosx/Resources/prev_sm.pdf \
	extras/package/macosx/Resources/sidebarAdd.png \
	extras/package/macosx/Resources/sidebarRepeat.png \
	extras/package/macosx/Resources/sidebarRepeatOn.png \
	extras/package/macosx/Resources/sidebarRepeatOneOn.png \
	extras/package/macosx/Resources/sidebarResizeWidget.png \
	extras/package/macosx/Resources/sidebarShuffle.png \
	extras/package/macosx/Resources/sidebarShuffleOn.png \
	extras/package/macosx/Resources/sidebarStatusAreaBackground.png \
	extras/package/macosx/Resources/stop_sm.pdf \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
262 263 264 265 266 267 268
	extras/package/macosx/Resources/noart.png \
	extras/package/macosx/Resources/spref_cone_Audio_64.png \
	extras/package/macosx/Resources/spref_cone_Hotkeys_64.png \
	extras/package/macosx/Resources/spref_cone_Input_64.png \
	extras/package/macosx/Resources/spref_cone_Interface_64.png \
	extras/package/macosx/Resources/spref_cone_Subtitles_64.png \
	extras/package/macosx/Resources/spref_cone_Video_64.png \
269 270 271 272 273 274 275 276 277 278
	extras/package/macosx/fullscreen_panel.svg \
	extras/package/macosx/ub.sh \
	extras/package/macosx/vlc.xcodeproj/project.pbxproj \
	extras/package/macosx/Delete_Preferences.app/Contents/Info.plist \
	extras/package/macosx/Delete_Preferences.app/Contents/PkgInfo \
	extras/package/macosx/Delete_Preferences.app/Contents/MacOS/applet \
	extras/package/macosx/Delete_Preferences.app/Contents/Resources/description.rtfd/TXT.rtf \
	extras/package/macosx/Delete_Preferences.app/Contents/Resources/applet.icns \
	extras/package/macosx/Delete_Preferences.app/Contents/Resources/applet.rsrc \
	extras/package/macosx/Delete_Preferences.app/Contents/Resources/Scripts/main.scpt \
279 280
	extras/package/macosx/plugin/Info.plist.in \
	extras/package/macosx/plugin/InstallerInfo.plist.in \
281 282
	extras/package/macosx/plugin/InstallerDescription.plist \
	extras/package/macosx/plugin/pbdevelopment.plist \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
283 284 285 286 287 288
	extras/package/macosx/eyetvplugin/EyeTVPluginDefs.h \
	extras/package/macosx/eyetvplugin/Info.plist \
	extras/package/macosx/eyetvplugin/eyetvplugin.c \
	extras/package/macosx/eyetvplugin/eyetvplugin.h \
	extras/package/macosx/eyetvplugin/English.lproj/InfoPlist.strings \
	extras/package/macosx/eyetvplugin/eyetvplugin.xcodeproj/project.pbxproj \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
289
	extras/package/macosx/README.MacOSX.rtf \
290
	extras/package/macosx/Info.plist.in
Felix Paul Kühne's avatar
Felix Paul Kühne committed
291

292 293

###############################################################################
Rafaël Carré's avatar
Rafaël Carré committed
294
# Various utilities ( editor syntax files, D-Bus controller ... )
295 296
##############################################################################
EXTRA_DIST += \
297
	extras/analyser/zsh_completion.sh \
298 299 300 301
	extras/analyser/zsh.cpp \
	extras/analyser/emacs.init \
	extras/analyser/vlc.vim \
	extras/analyser/valgrind.suppressions \
302
	extras/buildsystem/make.pl \
303 304
	extras/misc/mpris.py \
	extras/misc/mpris.glade
305

Gildas Bazin's avatar
 
Gildas Bazin committed
306
dist-hook:
307
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
308

309 310 311 312
###############################################################################
# Building libvlc
###############################################################################

313
noinst_SCRIPTS = vlc-config
314
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
315 316
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
317
	touch $@
318

319 320
vlc-config.in: vlc-config.in.in
	./config.status --recheck
321
	touch $@
322

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
323
CLEANFILES = $(BUILT_SOURCES_clean)
324 325
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
MAINTAINERCLEANFILES = ChangeLog
326

327
# Shortcut for developers to rebuild the core (libvlc + vlc)
328 329
# Don't use it if you don't know what it is about.
# Don't complain if it doesn't work. -- Courmisch
330 331 332 333
libcompat:
	cd compat && $(MAKE) $(AM_MAKEFLAGS)

libvlc: libcompat
334
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
335

336 337
core: libvlc
	cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT)
338

339 340 341 342
doc:
	cd doc && $(MAKE) $(AM_MAKEFLAGS) doc

.PHONY: libvlc core doc
343

Christophe Mutricy's avatar
Christophe Mutricy committed
344 345
#To get some nice output
nice:
Christophe Mutricy's avatar
Christophe Mutricy committed
346
	$(top_builddir)/compile
Christophe Mutricy's avatar
Christophe Mutricy committed
347

348
if HAVE_BEOS
349
noinst_DATA = vlc-bundle
350
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
351 352 353
	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
354 355
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
356 357
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
358 359
	  fi ; \
	done
360
	if test -d $(CONTRIB_DIR)/vlc-lib ; then \
Sam Hocevar's avatar
Sam Hocevar committed
361
	  mkdir -p $(top_builddir)/vlc-bundle/lib ; \
362
	  for i in $(CONTRIB_DIR)/vlc-lib/*.so ; do \
Sam Hocevar's avatar
Sam Hocevar committed
363
	    cp $$i $(top_builddir)/vlc-bundle/lib/ ; \
364 365
	  done ; \
	fi
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
366
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
367
	  mkdir -p "$(top_builddir)/vlc-bundle/share/locale/$$i/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
368
	  cp "$(top_builddir)/po/$$i.gmo" \
369
	    "$(top_builddir)/vlc-bundle/share/locale/$$i/LC_MESSAGES/vlc.mo" || true ; \
Eric Petit's avatar
Eric Petit committed
370
	done
Sam Hocevar's avatar
Sam Hocevar committed
371
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
372 373
endif

374 375 376 377
###############################################################################
# Building aliases
###############################################################################

378
ALL_ALIASES = cvlc rvlc svlc qvlc nvlc mvlc
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
379
bin_SCRIPTS = $(ALIASES)
380
CLEANFILES += $(ALIASES) $(noinst_SCRIPTS)
381 382 383 384
EXTRA_SCRIPTS = $(ALL_ALIASES)

dist_noinst_SCRIPTS += make-alias

385
MKALIAS = bindir="$(bindir)" transform="$(transform)" program_prefix="$(program_prefix)" program_suffix="$(program_suffix)" $(top_srcdir)/make-alias $@
386

387
cvlc: make-alias Makefile
388 389
	$(MKALIAS) dummy

390
rvlc: make-alias Makefile
391 392
	$(MKALIAS) rc

393
svlc: make-alias Makefile
394 395
	$(MKALIAS) skins2

396
qvlc: make-alias Makefile
397 398
	$(MKALIAS) qt4

399
nvlc: make-alias Makefile
400
	$(MKALIAS) ncurses
401

402
mvlc: make-alias Makefile
403 404
	$(MKALIAS) maemo

405
if BUILD_VLC
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
406
noinst_SCRIPTS += vlc$(EXEEXT)
407
endif
408

409 410
vlc$(EXEEXT):
	ln -sf bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
411

412
if HAVE_DARWIN
413
if BUILD_MACOSX_VLC_APP
414
# Create the MacOS X app
415
noinst_DATA = VLC.app
416
endif
417 418
endif

419 420 421
silentstd = $(silentstd_$(V))
silentstd_ = $(silentstd__$(AM_DEFAULT_VERBOSITY))
silentstd_0 = 2>&1 >/dev/null
422
# '__' prefix trick for old automake version.
423
silentstd__0 = $(silentstd_0)
424

425 426
# VLC-release.app for packaging and giving it to your friends
# use package-macosx to get a nice dmg
427
VLC-release.app: vlc
428
	( cd src && $(MAKE) $(AM_MAKEFLAGS) install $(silentstd) )
429
	rm -Rf "$(top_builddir)/tmp"
430
	mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
431
	rm -Rf $(top_builddir)/VLC-release.app
432
	for i in vlc.xcodeproj Resources README.MacOSX.rtf ; do \
433 434
	  cp -R $(srcdir)/extras/package/macosx/$$i $(top_builddir)/tmp/extras/package/macosx/; \
	done
435
	REVISION=`(git --git-dir=$(srcdir)/.git describe --always || echo exported)` && \
436 437 438
	cat $(top_builddir)/extras/package/macosx/Info.plist | \
	sed "s/#REVISION#/$$REVISION/g" > $(top_builddir)/tmp/extras/package/macosx/Info.plist
	cp -R $(top_builddir)/extras/package/macosx/Resources $(top_builddir)/tmp/extras/package/macosx/
439
	for i in AUTHORS COPYING THANKS; do \
440 441
	  cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
	done
442
	mkdir -p $(top_builddir)/tmp/extras/contrib/Sparkle
443
	cp -R $(CONTRIB_DIR)/Sparkle/Sparkle.framework $(top_builddir)/tmp/extras/contrib/Sparkle
444 445 446
	mkdir -p $(top_builddir)/tmp/modules/audio_output
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
447 448
	    AppleRemote.h \
	    AppleRemote.m \
449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473
	    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 \
474 475
	    simple_prefs.h \
	    simple_prefs.m \
476 477
	    vout.h \
	    voutgl.m \
478 479
	    wizard.h \
	    wizard.m \
480 481
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
482 483
	    bookmarks.h \
	    bookmarks.m \
484 485
	    coredialogs.h \
	    coredialogs.m \
486 487
	    embeddedwindow.h \
	    embeddedwindow.m \
488 489
	    fspanel.h \
	    fspanel.m \
490 491 492 493
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
494
	$(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
495
        xcodebuild -target vlc SYMROOT=../../../build $(silentstd) && \
496
	cd ../../../../ && \
497
	cp -R $(top_builddir)/tmp/build/Default/VLC.bundle $(top_builddir)/VLC-release.app; \
498 499
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
500
	PRODUCT="VLC-release.app" ACTION="release-makefile" src_dir=$(srcdir) build_dir=$(top_builddir) sh $(srcdir)/projects/macosx/framework/Pre-Compile.sh
501 502 503 504
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua
	for i in $(srcdir)/share/lua/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/`basename $${i}` ; \
	done ; \
505 506 507
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/playlist
	for i in $(srcdir)/share/lua/playlist/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/playlist/`basename $${i}` ; \
508
	done ; \
509 510 511
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/meta
	for i in $(srcdir)/share/lua/meta/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/meta/`basename $${i}` ; \
512
	done ; \
513 514 515
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf
	for i in $(srcdir)/share/lua/intf/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf/`basename $${i}` ; \
516
	done ; \
517 518 519
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf/modules
	for i in $(srcdir)/share/lua/intf/modules/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/intf/modules/`basename $${i}` ; \
520
	done ; \
521 522 523 524 525 526 527
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/dialogs
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/js
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/images
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/requests
	$(INSTALL) -m 644 $(srcdir)/share/lua/http/.hosts $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/.hosts
	for i in $(srcdir)/share/lua/http/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/`basename $${i}` ; \
528
	done
529 530
	for i in $(srcdir)/share/lua/http/dialogs/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/dialogs/`basename $${i}` ; \
531
	done
532 533
	for i in $(srcdir)/share/lua/http/js/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/js/`basename $${i}` ; \
534
	done
535 536
	for i in $(srcdir)/share/lua/http/images/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/images/`basename $${i}` ; \
537
	done
538 539
	for i in $(srcdir)/share/lua/http/requests/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/requests/`basename $${i}` ; \
540
	done
541
	$(INSTALL) -m 644 $(srcdir)/share/lua/http/requests/readme $(top_builddir)/VLC-release.app/Contents/MacOS/share/lua/http/requests/readme.txt
542 543 544 545
	$(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/images
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests
546
	$(INSTALL) -m 644 $(srcdir)/share/http/.hosts $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/.hosts
547
	for i in $(srcdir)/share/http/*.* ; do \
548
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \
549
	done
550 551
	for i in $(srcdir)/share/http/dialogs/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/dialogs/`basename $${i}` ; \
552
	done
553 554
	for i in $(srcdir)/share/http/js/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/js/`basename $${i}` ; \
555
	done
556 557
	for i in $(srcdir)/share/http/images/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/images/`basename $${i}` ; \
558
	done
559 560
	for i in $(srcdir)/share/http/requests/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/`basename $${i}` ; \
561
	done
562
	$(INSTALL) -m 644 $(srcdir)/share/http/requests/readme $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/readme.txt
563
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
564
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
565 566
	  $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES ; \
	  $(INSTALL) $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC-release.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
567 568 569 570 571 572 573
	  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 ; \
	done
	printf "APPLVLC#" >| $(top_builddir)/VLC-release.app/Contents/PkgInfo
574
	find $(top_builddir)/VLC-release.app/Contents/Resources/English.lproj -name designable.nib -delete;
575 576
	find $(top_builddir)/VLC-release.app -type d -exec chmod ugo+rx '{}' \;
	find $(top_builddir)/VLC-release.app -type f -exec chmod ugo+r '{}' \;
577

578
# This is just for development purposes. 
579
# The resulting VLC.app will only run in this tree.
580
VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/src/.libs/libvlc.dylib
581
	$(AM_V_GEN)(cd src && make install $(silentstd))
582 583
	rm -Rf $(top_builddir)/tmp
	mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
Loïc Minier's avatar
Loïc Minier committed
584
	rm -Rf $(top_builddir)/VLC.app
585
	for i in vlc.xcodeproj Resources README.MacOSX.rtf; do \
586 587
	  cp -R $(srcdir)/extras/package/macosx/$$i $(top_builddir)/tmp/extras/package/macosx/; \
	done
588
	REVISION=`(git --git-dir=$(srcdir)/.git describe --always || echo exported)` && \
589 590 591
	cat $(top_builddir)/extras/package/macosx/Info.plist | \
	sed "s/#REVISION#/$$REVISION/g" > $(top_builddir)/tmp/extras/package/macosx/Info.plist
	cp -R $(top_builddir)/extras/package/macosx/Resources $(top_builddir)/tmp/extras/package/macosx/
592
	for i in AUTHORS COPYING THANKS; do \
Loïc Minier's avatar
Loïc Minier committed
593 594
	  cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
	done
595
	mkdir -p $(top_builddir)/tmp/extras/contrib/Sparkle
596
	cp -R $(CONTRIB_DIR)/Sparkle/Sparkle.framework $(top_builddir)/tmp/extras/contrib/Sparkle
Loïc Minier's avatar
Loïc Minier committed
597 598 599
	mkdir -p $(top_builddir)/tmp/modules/audio_output
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
600 601
	    AppleRemote.h \
	    AppleRemote.m \
Loïc Minier's avatar
Loïc Minier committed
602 603 604 605 606 607
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
608 609
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
610 611 612 613 614 615 616 617 618 619 620
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
621 622
	    playlistinfo.h \
	    playlistinfo.m \
623 624
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
625 626
	    prefs.h \
	    prefs.m \
627 628
	    simple_prefs.h \
	    simple_prefs.m \
Loïc Minier's avatar
Loïc Minier committed
629
	    vout.h \
630
	    voutgl.m \
631 632
	    wizard.h \
	    wizard.m \
633 634
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
635 636
	    bookmarks.h \
	    bookmarks.m \
637 638
	    coredialogs.h \
	    coredialogs.m \
639 640
	    embeddedwindow.h \
	    embeddedwindow.m \
641 642
	    fspanel.h \
	    fspanel.m \
Loïc Minier's avatar
Loïc Minier committed
643 644 645 646
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
647
	$(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
648
	xcodebuild -target vlc SYMROOT=../../../build $(silentstd) && \
649
	cd ../../../../ && \
650
	cp -R $(top_builddir)/tmp/build/Default/VLC.bundle $(top_builddir)/VLC.app
Loïc Minier's avatar
Loïc Minier committed
651
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
652 653
	touch $(top_builddir)/VLC.app/Contents/MacOS/VLC
	chmod +x $(top_builddir)/VLC.app/Contents/MacOS/VLC
654
	$(INSTALL) $(top_builddir)/bin/.libs/vlc $(top_builddir)/VLC.app/Contents/MacOS/VLC
655
	ln -sf ../../../modules $(top_builddir)/VLC.app/Contents/MacOS/modules
656 657 658 659
	install -d $(top_builddir)/VLC.app/Contents/MacOS/share
	for i in `ls $(srcdir)/share`; do \
	   ln -sf `pwd`/$(srcdir)/share/$$i $(top_builddir)/VLC.app/Contents/MacOS/share/; \
	done
660
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
661
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
662 663
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES ; \
	  ln -sfn `pwd`/$(srcdir)/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
Loïc Minier's avatar
Loïc Minier committed
664 665 666 667 668
	  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 ; \
669
	done
Loïc Minier's avatar
Loïc Minier committed
670
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
671

672 673 674 675 676
###############################################################################
# Building architecture-specific binary packages
###############################################################################

# XXX: this rule is probably only useful to you if you have exactly
Christophe Mutricy's avatar
Christophe Mutricy committed
677
# the same setup as the maintaner(s).
678
#
679

680 681 682
############################################################################
## Win                                                                    ##
############################################################################
683
win32_destdir=$(top_builddir)/vlc-$(VERSION)
Luca Barbato's avatar
Luca Barbato committed
684
win32_xpi_destdir=$(win32_destdir)/vlc-plugin
685 686 687
win32_debugdir=$(top_builddir)/symbols-$(VERSION)
npvlc=vlc-$(VERSION)/mozilla/npvlc$(LIBEXT)
axvlc=vlc-$(VERSION)/activex/axvlc$(LIBEXT)
688 689 690
win32_lua_destdir=$(win32_destdir)/lua
win32_http_destdir=$(win32_destdir)/http

691
#Win-common if for win32 and wince
692
package-win-common:
693
# Check that tmp isn't in the way
694 695
	@if test -e "$(win32_destdir)"; then \
	  echo "Error: please remove $(win32_destdir), it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
696
	  false; \
697
	else \
698
	  echo "OK."; mkdir -p "$(win32_destdir)"; \
699
	fi
700 701 702 703 704 705 706
# Same for debug symbols dir
	@if test -e "$(win32_debugdir)"; then \
	  echo "Error: please remove $(win32_debugdir), it is in the way"; \
	  false; \
	else \
	  echo "OK."; mkdir -p "$(win32_debugdir)"; \
	fi
707

708
# Copy relevant files
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
709
# Copy executables, major libs+manifests
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
710
	cp "$(top_builddir)/bin/.libs/vlc$(EXEEXT)" "$(win32_destdir)/"
711
	cp "$(top_builddir)/bin/.libs/vlc-cache-gen$(EXEEXT)" "$(win32_destdir)/"
712
	cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win32_destdir)/"
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
713
	cp "$(top_srcdir)/extras/package/win32/libvlc.dll.manifest" "$(win32_destdir)/"
714 715
	cp "$(top_builddir)/src/.libs/libvlccore$(LIBEXT)" "$(win32_destdir)/"
	cp "$(top_builddir)/src/.libs/libvlc$(LIBEXT)" "$(win32_destdir)/"
716

717
# Copy Text files
Rafaël Carré's avatar
Rafaël Carré committed
718
	for file in AUTHORS THANKS ; \
719
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(win32_destdir)/$${file}.txt" ; done;
Christophe Mutricy's avatar
Christophe Mutricy committed
720
	for file in NEWS COPYING README; \
721
	  do cp "$(srcdir)/$$file" "$(win32_destdir)/$${file}.txt"; done
722
	unix2dos "$(win32_destdir)/"*.txt || echo "WARNING: this shouldn't happen"
Gildas Bazin's avatar
 
Gildas Bazin committed
723

724
# Necessary icons
725
	cp $(srcdir)/share/vlc.ico $(win32_destdir)/
726 727

# Copy the locales
728
	mkdir -p $(win32_destdir)/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
729
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
730
	  mkdir -p "$(win32_destdir)/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
731
	  cp "$(srcdir)/po/$${i}.gmo" \
732
	    "$(win32_destdir)/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
733
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
734
	done
735 736
	mkdir -p $(win32_destdir)/locale/qt4/
	cp $(QT4LOCALEDIR)/*.qm $(win32_destdir)/locale/qt4/ || true
Gildas Bazin's avatar
 
Gildas Bazin committed
737

738
#  Mozilla plugin
Gildas Bazin's avatar
 
Gildas Bazin committed
739
if BUILD_MOZILLA
740 741
	mkdir -p "$(win32_destdir)/mozilla"
	cp $(top_builddir)/projects/mozilla/.libs/npvlc$(LIBEXT) $(win32_destdir)/mozilla/
742
	cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_destdir)/mozilla/
Gildas Bazin's avatar
 
Gildas Bazin committed
743 744
endif

745
# ActiveX plugin
746
if BUILD_ACTIVEX
747 748 749 750
	mkdir -p "$(win32_destdir)/activex"
	cp $(srcdir)/projects/activex/README.TXT  $(win32_destdir)/activex/
	cp $(srcdir)/projects/activex/test.html  $(win32_destdir)/activex/
	unix2dos $(win32_destdir)/activex/*
751

752
	cp $(top_builddir)/projects/activex/.libs/axvlc$(LIBEXT) $(win32_destdir)/activex/
753
	cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir)/activex/
754
endif
755

756
# Rebase all those DLLs to speed up loading (need cygwin rebase)
757
	if rebase -b 0x42 /dev/null >/dev/null 2>&1; then \
758
		find $(win32_destdir) -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \
759
	fi
760

Luca Barbato's avatar
Luca Barbato committed
761 762 763
package-win32-xpi: package-win-common-strip
	mkdir -p "$(win32_xpi_destdir)/plugins"
	cp $(top_builddir)/projects/mozilla/install.rdf "$(win32_xpi_destdir)"
764
	cp $(win32_destdir)/mozilla/npvlc$(LIBEXT) \
Luca Barbato's avatar
Luca Barbato committed
765 766 767 768 769 770 771 772 773 774
		"$(win32_xpi_destdir)/plugins"
	cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest \
		"$(win32_xpi_destdir)/plugins"
	cp "$(top_srcdir)/extras/package/win32/libvlc.dll.manifest" \
		"$(win32_xpi_destdir)/plugins"
	cp "$(win32_destdir)/libvlccore$(LIBEXT)" \
		"$(win32_xpi_destdir)/plugins"
	cp "$(win32_destdir)/libvlc$(LIBEXT)" \
		"$(win32_xpi_destdir)/plugins"
	mkdir -p "$(win32_xpi_destdir)/plugins/plugins"
Luca Barbato's avatar
Luca Barbato committed
775
	cp $(win32_destdir)/plugins/*$(LIBEXT) \
Luca Barbato's avatar
Luca Barbato committed
776
		"$(win32_xpi_destdir)/plugins/plugins"
777 778
	rm -rf "$(win32_xpi_destdir)/plugins/plugins/*qt*"
	rm -rf "$(win32_xpi_destdir)/plugins/plugins/*skins*"
Luca Barbato's avatar
Luca Barbato committed
779 780
	cd $(win32_xpi_destdir) && zip -r vlc-$(VERSION).xpi install.rdf plugins

781 782
package-win32-base-debug: package-win-common
# Copy relevant files
783
# Script installer
784
	cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/"
785
	cp "$(top_builddir)/extras/package/win32/spad.nsi" "$(win32_destdir)/"
786 787
	mkdir "$(win32_destdir)/languages"
	cp $(srcdir)/extras/package/win32/languages/*.nsh "$(win32_destdir)/languages/"
788

789
# Plugins
790
	mkdir -p "$(win32_destdir)/plugins"
Christophe Mutricy's avatar
Christophe Mutricy committed
791
	find modules/ -name '*_plugin$(LIBEXT)' | while read i; do \
792
	  if test -n "$$i" ; then \
793
	    $(INSTALL) "$$i" "vlc-$(VERSION)/plugins/" ; \
794 795
	  fi ; done

796 797 798 799 800 801 802
#Enable DEP and ASLR for all the binaries
if USE_PEFLAGS
	find $(win32_destdir) -type f -name '*.dll' -print -o -name '*.exe' -print | while read i; do \
	$(PEFLAGS) --dynamicbase=true --nxcompat=true "$$i" ; \
	done
endif

803 804
# Copy the lua scripts (HTTP)
if BUILD_LUA
805 806 807 808 809 810 811 812 813 814 815 816
	mkdir -p "$(win32_lua_destdir)/http/images"
	mkdir -p "$(win32_lua_destdir)/http/requests"
	mkdir -p "$(win32_lua_destdir)/http/js"
	mkdir -p "$(win32_lua_destdir)/http/dialogs"
	cp $(srcdir)/share/lua/http/*.html $(win32_lua_destdir)/http/
	unix2dos $(win32_lua_destdir)/http/*.html
	cp $(srcdir)/share/lua/http/.hosts $(win32_lua_destdir)/http/
	unix2dos $(win32_lua_destdir)/http/.hosts
	cp $(srcdir)/share/lua/http/*.css $(win32_lua_destdir)/http/
	unix2dos $(win32_lua_destdir)/http/*.css
	cp $(srcdir)/share/lua/http/js/*.js $(win32_lua_destdir)/http/js/
	unix2dos $(win32_lua_destdir)/http/js/*.js
817 818
	cp $(srcdir)/share/lua/http/*.lua $(win32_lua_destdir)/http/
	unix2dos $(win32_lua_destdir)/http/*.lua
819 820 821 822 823 824 825 826 827 828
	cp $(srcdir)/share/lua/http/dialogs/* $(win32_lua_destdir)/http/dialogs/
	unix2dos $(win32_lua_destdir)/http/dialogs/*
	cp $(srcdir)/share/lua/http/dialogs/.hosts $(win32_lua_destdir)/http/dialogs/
	unix2dos $(win32_lua_destdir)/http/dialogs/.hosts
	cp $(srcdir)/share/lua/http/*.ico $(win32_lua_destdir)/http/
	cp $(srcdir)/share/lua/http/images/*.png $(win32_lua_destdir)/http/images/
	cp $(srcdir)/share/lua/http/requests/*.xml $(win32_lua_destdir)/http/requests/
	unix2dos $(win32_lua_destdir)/http/requests/*.xml
	cp $(srcdir)/share/lua/http/requests/readme $(win32_lua_destdir)/http/requests/readme.txt
	unix2dos $(win32_lua_destdir)/http/requests/readme.txt
829
endif
830

831
if BUILD_LUA
832
#Lua Scripts
833 834 835 836
	$(INSTALL) -d $(win32_lua_destdir)
	for i in $(srcdir)/share/lua/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/`basename $${i}` ; \
	done
837
	$(INSTALL) -d $(win32_lua_destdir)/playlist
838
	for i in $(srcdir)/share/lua/playlist/*.* ; do \
839
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/playlist/`basename $${i}` ; \
840
	done
841 842 843 844 845 846 847
	$(INSTALL) -d $(win32_lua_destdir)/meta/art
	for i in $(srcdir)/share/lua/meta/art/*.lua ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/art/`basename $${i}` ; \
	done
	$(INSTALL) -d $(win32_lua_destdir)/meta/reader
	for i in $(srcdir)/share/lua/meta/reader/*.lua ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/reader/`basename $${i}` ; \
848
	done
849
	$(INSTALL) -d $(win32_lua_destdir)/intf
850
	for i in $(srcdir)/share/lua/intf/*.* ; do \
851
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/`basename $${i}` ; \
852
	done
853
	$(INSTALL) -d $(win32_lua_destdir)/intf/modules
854
	for i in $(srcdir)/share/lua/intf/modules/*.* ; do \
855
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/modules/`basename $${i}` ; \
856 857 858 859 860
	done
endif

# Copy the http files
if BUILD_HTTPD
861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883
	mkdir -p "$(win32_http_destdir)/images"
	mkdir -p "$(win32_http_destdir)/requests"
	mkdir -p "$(win32_http_destdir)/js"
	mkdir -p "$(win32_http_destdir)/dialogs"
	cp $(srcdir)/share/http/*.html $(win32_http_destdir)/
	unix2dos $(win32_http_destdir)/*.html
	cp $(srcdir)/share/http/.hosts $(win32_http_destdir)/
	unix2dos $(win32_http_destdir)/.hosts
	cp $(srcdir)/share/http/*.css $(win32_http_destdir)/
	unix2dos $(win32_http_destdir)/*.css
	cp $(srcdir)/share/http/js/*.js $(win32_http_destdir)/js/
	unix2dos $(win32_http_destdir)/js/*.js
	cp $(srcdir)/share/http/dialogs/* $(win32_http_destdir)/dialogs/
	unix2dos $(win32_http_destdir)/dialogs/*
	cp $(srcdir)/share/http/dialogs/.hosts $(win32_http_destdir)/dialogs/
	unix2dos $(win32_http_destdir)/dialogs/.hosts
	cp $(srcdir)/share/http/*.ico $(win32_http_destdir)/
	cp $(srcdir)/share/http/images/*.png $(win32_http_destdir)/images/
	cp $(srcdir)/share/http/requests/*.xml $(win32_http_destdir)/requests/
	unix2dos $(win32_http_destdir)/requests/*.xml
	cp $(srcdir)/share/http/requests/readme $(win32_http_destdir)/requests/readme.txt
	unix2dos $(win32_http_destdir)/requests/readme.txt

884 885 886 887
endif

if BUILD_SKINS
# Skins
888
	mkdir -p $(win32_destdir)/skins/fonts
889
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
890
	  cp -- "$$i" $(win32_destdir)/skins/fonts/ || true ; \
891
	done
892
	for i in $(top_builddir)/share/skins2/*.*; do \
893
	  cp -- "$$i" $(win32_destdir)/skins/ || true ; \
894
	done
895 896
	cp -- $(srcdir)/share/skins2/skin.catalog $(win32_destdir)/skins/ || true ;
	cp -- $(srcdir)/share/skins2/skin.dtd $(win32_destdir)/skins/ || true ;
897
endif
898

899
if BUILD_OSDMENU
900
#OSD Menu
901 902
	mkdir -p "$(win32_destdir)/osdmenu"
	cp $(srcdir)/share/osdmenu/*.* "$(win32_destdir)/osdmenu"
903
	for dir in default default/selected default/selection default/volume ;do \
904
		mkdir -p "$(win32_destdir)/osdmenu/$$dir"; \
905
		for file in $(srcdir)/share/osdmenu/$${dir}/*.png;do \
906
			 cp -- "$$file" "$(win32_destdir)/osdmenu/$$dir"; \
907 908
		done; \
	done
909 910
	unix2dos $(win32_destdir)/osdmenu/*.cfg;
	for file in $(win32_destdir)/osdmenu/*.cfg; do \
911 912 913
		sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
		sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
		rm -f -- "$$file.tmp"; \
914
	done
915
endif
916

917
# SDK
918 919
	mkdir -p "$(win32_destdir)/sdk.tmp"
	mkdir -p "$(win32_destdir)/sdk"
920 921 922 923 924 925 926
	d=$$(pwd) && \
	cd src && \
	make install DESTDIR="$$d/vlc-$(VERSION)/sdk.tmp"
	cd vlc-$(VERSION) && mv sdk.tmp/$(prefix)/* sdk/
	find vlc-$(VERSION)/sdk.tmp -type d | sort -r | xargs rmdir
	rm -Rf vlc-$(VERSION)/sdk/bin

927
# Strip DLLs
928
package-win-common-strip: package-win32-base-debug
929
	for i in "" $(win32_destdir)/*$(LIBEXT) \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
930
	            $(win32_destdir)/*$(EXEEXT) \
931 932
	            $(win32_destdir)/activex/*$(LIBEXT) \
	            $(win32_destdir)/mozilla/*$(LIBEXT) \
933 934 935 936 937 938 939 940 941 942
	            $(win32_destdir)/plugins/*$(LIBEXT) \
	; do \
	  if test -n "$$i" ; then \
	    $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \
	    $(OBJCOPY) --strip-all "$$i" ; \
	    $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \
	    mv "$$i.dbg" "$(win32_debugdir)"; \
	  fi ; \
	done

943
package-win32-base: package-win-common-strip
944

945
package-win32-base-exe: package-win32-base
946
# Create package
947
	rm -Rf $(win32_destdir)/sdk
948
	if makensis -VERSION >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
949
	    MAKENSIS="makensis"; \
950
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
951
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
952
	elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
953
	    MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
Rafaël Carré's avatar
typo  
Rafaël Carré committed
954
	elif wine --version >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
955
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
956 957 958
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
959
	eval "$$MAKENSIS $(win32_destdir)/spad.nsi"; \
960
	eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
961

962
package-win32-base-zip: package-win32-base
963
# Create package 
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
964
	rm -f -- vlc-$(VERSION)-win32.zip
965
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
966

967 968 969 970 971
package-win32-base-debug-zip: package-win32-base-debug
# Create package
	rm -f -- vlc-$(VERSION)-win32-debug.zip
	zip -r -9 vlc-$(VERSION)-win32-debug.zip vlc-$(VERSION)

972 973
package-win32-base-7zip: package-win32-base
# Create package 
974
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
975

976 977 978 979
package-win32-base-debug-7zip: package-win32-base-debug
# Create package
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32-debug.7z vlc-$(VERSION)

980
package-win32-cleanup:
981
	rm -Rf $(win32_destdir)
982
	rm -Rf $(win32_debugdir)
983

984
package-win32-exe: package-win32-base package-win32-base-exe package-win32-cleanup
Gildas Bazin's avatar
 
Gildas Bazin committed