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

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

16
SUBDIRS = po compat src
17 18 19
if LOADER
SUBDIRS += libs/loader
endif
20
if HAVE_GCRYPT
21 22
SUBDIRS += libs/srtp
endif
23
if HAVE_ZLIB
24
if !HAVE_MINIZIP
25 26
SUBDIRS += libs/unzip
endif
27
endif
28 29 30
if BUILD_VLC
SUBDIRS += bin
endif
31
SUBDIRS += modules share doc test
32 33 34 35
if BUILD_MOZILLA
SUBDIRS += projects/mozilla
endif
if BUILD_ACTIVEX
36
SUBDIRS += projects/activex
37
endif
38

39 40 41
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
42
	INSTALL.wince \
43
	extras/package/win32/vlc.exe.manifest \
44
	extras/package/win32/libvlc.dll.manifest \
45
	extras/package/macosx/README.MacOSX.rtf \
Sam Hocevar's avatar
Sam Hocevar committed
46
	vlc-config.in.in \
47 48
	extras/package/rpm/vlc.fedora.spec \
	extras/package/rpm/vlc.altlinux.spec \
49
	extras/package/win32/vlc.win32.nsi.in \
50
	extras/package/win32/spad.nsi.in \
51 52
	extras/package/win32/UAC.nsh \
	extras/package/win32/UAC.dll \
53
	extras/package/win32/languages/declaration.nsh \
Christophe Mutricy's avatar
Christophe Mutricy committed
54 55 56 57
	extras/package/win32/languages/bengali.nsh \
	extras/package/win32/languages/brazilian_portuguese.nsh \
	extras/package/win32/languages/bulgarian.nsh \
	extras/package/win32/languages/catalan.nsh \
58
	extras/package/win32/languages/danish.nsh \
Christophe Mutricy's avatar
Christophe Mutricy committed
59
	extras/package/win32/languages/dutch.nsh \
60
	extras/package/win32/languages/english.nsh \
Christophe Mutricy's avatar
Christophe Mutricy committed
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
	extras/package/win32/languages/estonian.nsh \
	extras/package/win32/languages/finnish.nsh \
	extras/package/win32/languages/french.nsh \
	extras/package/win32/languages/german.nsh \
	extras/package/win32/languages/hungarian.nsh \
	extras/package/win32/languages/italian.nsh \
	extras/package/win32/languages/japanese.nsh \
	extras/package/win32/languages/occitan.nsh \
	extras/package/win32/languages/polish.nsh \
	extras/package/win32/languages/punjabi.nsh \
	extras/package/win32/languages/romanian.nsh \
	extras/package/win32/languages/schinese.nsh \
	extras/package/win32/languages/slovak.nsh \
	extras/package/win32/languages/slovenian.nsh \
	extras/package/win32/languages/sorani.nsh \
76
	extras/package/win32/languages/spanish.nsh
77

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
78
dist_noinst_SCRIPTS = bootstrap toolbox
79
nodist_noinst_SCRIPTS = compile
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
80

81
BUILT_SOURCES_distclean = vlc-config extras/package/win32/vlc.win32.nsi extras/package/win32/spad.nsi
82
if HAVE_DARWIN
83
BUILT_SOURCES_clean = macosx-sdk
84 85 86
else
BUILT_SOURCES_clean =
endif
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
87

88
BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
89

90 91
SUFFIXES = 

92 93
DISTCHECK_CONFIGURE_FLAGS = \
	--enable-fast-install \
94 95 96
	--disable-a52 \
	--disable-avcodec --disable-avformat \
	--disable-postproc --disable-swscale \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
97
	--disable-dbus \
98 99
	--disable-mad --disable-libmpeg2 \
	--disable-faad --disable-skins2 \
100
	--disable-live555 \
101 102
	--disable-fribidi --disable-glx \
	--with-kde-solid='$${datadir}/kde4/apps'
103

104
ACLOCAL_AMFLAGS = -I m4
105 106 107 108 109 110
AUTOMAKE_OPTIONS = \
	1.9 \
	-Wall \
	check-news \
	dist-bzip2 \
	no-dist-gzip
Christophe Mutricy's avatar
Christophe Mutricy committed
111
#	std-options
112

113 114
ChangeLog: Makefile.am
	rm -f -- "$@"
115
	cd doc && $(MAKE) $(AM_MAKEFLAGS) changelogs
116
	ln -sf doc/ChangeLog-2009 "$@"
117

118 119 120 121 122
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
123
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib \
124
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
125
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/designable.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
126
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/keyedobjects.nib \
127
	extras/package/macosx/Resources/English.lproj/About.nib/designable.nib \
128
	extras/package/macosx/Resources/English.lproj/About.nib/keyedobjects.nib \
129
	extras/package/macosx/Resources/English.lproj/Open.nib/designable.nib \
130
	extras/package/macosx/Resources/English.lproj/Open.nib/keyedobjects.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
131
	extras/package/macosx/Resources/English.lproj/Preferences.nib/designable.nib \
132
	extras/package/macosx/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
133
	extras/package/macosx/Resources/English.lproj/Wizard.nib/designable.nib \
134
	extras/package/macosx/Resources/English.lproj/Wizard.nib/keyedobjects.nib \
135
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/designable.nib \
136
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
137
	extras/package/macosx/Resources/English.lproj/Extended.nib/designable.nib \
138
	extras/package/macosx/Resources/English.lproj/Extended.nib/keyedobjects.nib \
139
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/designable.nib \
140
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/keyedobjects.nib \
141
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/designable.nib \
142
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/keyedobjects.nib \
143
	extras/package/macosx/Resources/English.lproj/InfoPlist.strings.in \
144
	extras/package/macosx/Resources/dsa_pub.pem \
145 146
	extras/package/macosx/Resources/aiff.icns \
	extras/package/macosx/Resources/audio.icns \
147
	extras/package/macosx/Resources/avi.icns \
148
	extras/package/macosx/Resources/flv.icns \
149
	extras/package/macosx/Resources/generic.icns \
150 151 152
	extras/package/macosx/Resources/m4a.icns \
	extras/package/macosx/Resources/m4v.icns \
	extras/package/macosx/Resources/mkv.icns \
153
	extras/package/macosx/Resources/mov.icns \
154
	extras/package/macosx/Resources/movie.icns \
155 156 157
	extras/package/macosx/Resources/mp3.icns \
	extras/package/macosx/Resources/mpeg.icns \
	extras/package/macosx/Resources/ogg.icns \
158 159 160
	extras/package/macosx/Resources/playlist.icns \
	extras/package/macosx/Resources/rm.icns \
	extras/package/macosx/Resources/subtitle.icns \
161
	extras/package/macosx/Resources/vob.icns \
162 163
	extras/package/macosx/Resources/wav.icns \
	extras/package/macosx/Resources/vlc.icns \
164 165 166 167 168 169 170 171
	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
172 173 174
	extras/package/macosx/Resources/display_left.png \
	extras/package/macosx/Resources/display_middle.png \
	extras/package/macosx/Resources/display_right.png \
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 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241
	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
242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260
	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 \
261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282
	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
283 284 285 286 287 288 289
	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 \
290 291 292 293 294 295 296 297 298 299
	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 \
300 301
	extras/package/macosx/plugin/Info.plist.in \
	extras/package/macosx/plugin/InstallerInfo.plist.in \
302 303
	extras/package/macosx/plugin/InstallerDescription.plist \
	extras/package/macosx/plugin/pbdevelopment.plist \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
304 305 306 307 308 309
	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
310
	extras/package/macosx/README.MacOSX.rtf \
311
	extras/package/macosx/Info.plist.in
Felix Paul Kühne's avatar
Felix Paul Kühne committed
312

313 314

###############################################################################
Rafaël Carré's avatar
Rafaël Carré committed
315
# Various utilities ( editor syntax files, D-Bus controller ... )
316 317
##############################################################################
EXTRA_DIST += \
318
	extras/analyser/zsh_completion.sh \
319 320 321 322
	extras/analyser/zsh.cpp \
	extras/analyser/emacs.init \
	extras/analyser/vlc.vim \
	extras/analyser/valgrind.suppressions \
323
	extras/buildsystem/make.pl \
324 325
	extras/misc/mpris.py \
	extras/misc/mpris.glade
326

Gildas Bazin's avatar
 
Gildas Bazin committed
327
dist-hook:
328
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
329

330 331 332 333
###############################################################################
# Building libvlc
###############################################################################

334
noinst_SCRIPTS = vlc-config
335
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
336 337
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
338
	touch $@
339

340 341
vlc-config.in: vlc-config.in.in
	./config.status --recheck
342
	touch $@
343

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
344
CLEANFILES = $(BUILT_SOURCES_clean)
345 346
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
MAINTAINERCLEANFILES = ChangeLog
347

348
# Shortcut for developers to rebuild the core (libvlc + vlc)
349 350
# Don't use it if you don't know what it is about.
# Don't complain if it doesn't work. -- Courmisch
351 352 353 354
libcompat:
	cd compat && $(MAKE) $(AM_MAKEFLAGS)

libvlc: libcompat
355
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
356

357 358
core: libvlc vlc
	cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) vlc-static$(EXEEXT)
359

360 361 362 363
doc:
	cd doc && $(MAKE) $(AM_MAKEFLAGS) doc

.PHONY: libvlc core doc
364

365
if HAVE_BEOS
366
noinst_DATA = vlc-bundle
367
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
368 369 370
	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
371 372
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
373 374
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
375 376
	  fi ; \
	done
377
	if test -d $(CONTRIB_DIR)/vlc-lib ; then \
Sam Hocevar's avatar
Sam Hocevar committed
378
	  mkdir -p $(top_builddir)/vlc-bundle/lib ; \
379
	  for i in $(CONTRIB_DIR)/vlc-lib/*.so ; do \
Sam Hocevar's avatar
Sam Hocevar committed
380
	    cp $$i $(top_builddir)/vlc-bundle/lib/ ; \
381 382
	  done ; \
	fi
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
383
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
384
	  mkdir -p "$(top_builddir)/vlc-bundle/share/locale/$$i/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
385
	  cp "$(top_builddir)/po/$$i.gmo" \
386
	    "$(top_builddir)/vlc-bundle/share/locale/$$i/LC_MESSAGES/vlc.mo" || true ; \
Eric Petit's avatar
Eric Petit committed
387
	done
Sam Hocevar's avatar
Sam Hocevar committed
388
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
389 390
endif

391 392 393 394
###############################################################################
# Building aliases
###############################################################################

395
ALL_ALIASES = cvlc rvlc svlc qvlc nvlc mvlc
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
396
bin_SCRIPTS = $(ALIASES)
397
CLEANFILES += $(ALIASES) $(noinst_SCRIPTS)
398 399 400 401
EXTRA_SCRIPTS = $(ALL_ALIASES)

dist_noinst_SCRIPTS += make-alias

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

404
cvlc: make-alias Makefile
405
	$(AM_V_GEN)$(MKALIAS) dummy
406

407
rvlc: make-alias Makefile
408
	$(AM_V_GEN)$(MKALIAS) rc
409

410
svlc: make-alias Makefile
411
	$(AM_V_GEN)$(MKALIAS) skins2
412

413
qvlc: make-alias Makefile
414
	$(AM_V_GEN)$(MKALIAS) qt4
415

416
nvlc: make-alias Makefile
417
	$(AM_V_GEN)$(MKALIAS) ncurses
418

419
mvlc: make-alias Makefile
420
	$(AM_V_GEN)$(MKALIAS) maemo
421

422
if BUILD_VLC
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
423
noinst_SCRIPTS += vlc$(EXEEXT)
424
endif
425

426
vlc$(EXEEXT):
427
	$(AM_V_GEN)ln -sf bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
428

429
if HAVE_DARWIN
430
if BUILD_MACOSX_VLC_APP
431
# Create the MacOS X app
432
noinst_DATA = VLC.app
433
endif
434 435
endif

436
silentstd = $(silentstd_$(V))
437
silentstd_ = $(silentstd_$(AM_DEFAULT_VERBOSITY))
438
silentstd_0 = 2>&1 >/dev/null
439

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

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

687 688 689 690 691
###############################################################################
# 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
692
# the same setup as the maintaner(s).
693
#
694

695 696 697
############################################################################
## Win                                                                    ##
############################################################################
698
destdir=$(prefix)
699
win32_destdir=$(top_builddir)/vlc-$(VERSION)
700
win32_debugdir=$(top_builddir)/symbols-$(VERSION)
701
win32_lua_destdir=$(win32_destdir)/lua
702
win32_xpi_destdir=$(win32_destdir)/vlc-plugin
703

704
#Win-common is for win32 and wince
705
package-win-common: install
706
# Check that tmp isn't in the way
707
	@if test -e "$(win32_destdir)"; then \
708 709 710 711 712
	    echo "Error: please remove $(win32_destdir), it is in the way"; \
	    false; \
	elif test -e "$(win32_debugdir)"; then \
	    echo "Error: please remove $(win32_debugdir), it is in the way"; \
	    false; \
713
	else \
714 715
	    echo "Debug dir OK."; mkdir -p "$(win32_debugdir)"; \
	    echo "Dest dir OK."; mkdir -p "$(win32_destdir)"; \
716
	fi
717

718
# Executables, major libs+manifests
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
719
	find $(destdir) -maxdepth 4 \( -name "*$(LIBEXT)" -o -name "*$(EXEEXT)" \) -exec cp {} "$(win32_destdir)/" \;
720
	for file in $(top_srcdir)/extras/package/win32/vlc$(EXEEXT).manifest \
721 722
                $(top_srcdir)/extras/package/win32/libvlc$(LIBEXT).manifest; \
	    do cp $$file "$(win32_destdir)/" ; done;
723

724
# Text files and clean them
Rafaël Carré's avatar
Rafaël Carré committed
725
	for file in AUTHORS THANKS ; \
726
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(win32_destdir)/$${file}.txt" ; done;
Christophe Mutricy's avatar
Christophe Mutricy committed
727
	for file in NEWS COPYING README; \
728
	  do cp "$(srcdir)/$$file" "$(win32_destdir)/$${file}.txt"; done
729

730
# Necessary icon
731
	cp $(srcdir)/share/icons/vlc.ico $(win32_destdir)
Luca Barbato's avatar
Luca Barbato committed
732

733
# Locales
734
	-cp -r $(destdir)/share/locale $(win32_destdir)
735

736
# Plugins
737
	cp -r $(destdir)/lib/vlc/plugins $(win32_destdir)
738

739
if BUILD_LUA
740
# Copy the lua scripts (HTTP)
741 742
	mkdir -p $(win32_lua_destdir)
	cp -r $(destdir)/share/vlc/lua/http "$(win32_lua_destdir)/http"
743

744
# Lua Scripts - cannot be simplified yet, because make install doesn't install READMEs
745 746 747 748
	$(INSTALL) -d $(win32_lua_destdir)
	for i in $(srcdir)/share/lua/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/`basename $${i}` ; \
	done
Fabio Ritrovato's avatar
Fabio Ritrovato committed
749
	$(INSTALL) -d $(win32_lua_destdir)/modules
750 751 752
	for i in $(srcdir)/share/lua/modules/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/modules/`basename $${i}` ; \
	done
753 754 755
	$(INSTALL) -d $(win32_lua_destdir)/extensions
	for i in $(srcdir)/share/lua/extensions/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/extensions/`basename $${i}` ; \
756
	done
757 758 759 760 761 762 763
	$(INSTALL) -d $(win32_lua_destdir)/intf
	for i in $(srcdir)/share/lua/intf/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/`basename $${i}` ; \
	done
	$(INSTALL) -d $(win32_lua_destdir)/intf/modules
	for i in $(srcdir)/share/lua/intf/modules/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/intf/modules/`basename $${i}` ; \
764
	done
765
	$(INSTALL) -d $(win32_lua_destdir)/meta/art
766
	for i in $(srcdir)/share/lua/meta/art/*.* ; do \
767 768
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/art/`basename $${i}` ; \
	done
769 770 771 772
	$(INSTALL) -d $(win32_lua_destdir)/meta/fetcher
	for i in $(srcdir)/share/lua/meta/fetcher/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/fetcher/`basename $${i}` ; \
	done
773
	$(INSTALL) -d $(win32_lua_destdir)/meta/reader
774
	for i in $(srcdir)/share/lua/meta/reader/*.* ; do \
775
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/reader/`basename $${i}` ; \
776
	done
777 778 779
	$(INSTALL) -d $(win32_lua_destdir)/playlist
	for i in $(srcdir)/share/lua/playlist/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/playlist/`basename $${i}` ; \
780
	done
781 782 783
	$(INSTALL) -d $(win32_lua_destdir)/sd
	for i in $(srcdir)/share/lua/sd/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/sd/`basename $${i}` ; \
784 785 786 787
	done
endif

if BUILD_HTTPD
788
	cp -r $(destdir)/share/vlc/http $(win32_destdir)
789 790
endif
if BUILD_SKINS
791
	cp -r $(destdir)/share/vlc/skins2 $(win32_destdir)/skins
792 793
endif
if BUILD_OSDMENU
794
	cp -r $(destdir)/share/vlc/osdmenu "$(win32_destdir)/osdmenu"
795
	for file in $(win32_destdir)/osdmenu/*.cfg; do \
796 797 798
		sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
		sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
		rm -f -- "$$file.tmp"; \
799
	done
800
endif
801
if BUILD_MOZILLA
802
	cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_destdir)
803 804
endif
if BUILD_ACTIVEX
805
	cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir)
806
endif
807

808
# SDK
809
	mkdir -p "$(win32_destdir)/sdk/lib"
810 811 812 813
	cp -r $(destdir)/include "$(win32_destdir)/sdk"
	cp -r $(destdir)/lib/pkgconfig "$(win32_destdir)/sdk/lib"
	for file in libvlc.dll.a libvlc.la libvlccore.dll.a libvlccore.la; do \
        cp -r $(destdir)/lib/$$file "$(win32_destdir)/sdk/lib"; done
814
if BUILD_ACTIVEX
815 816 817
	mkdir -p "$(win32_destdir)/sdk/activex"
	cp $(srcdir)/projects/activex/README.TXT $(win32_destdir)/sdk/activex/
	cp $(srcdir)/projects/activex/test.html $(win32_destdir)/sdk/activex/
818
endif
819

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
820
	find $(win32_destdir) -type f \( -name "*xml" -or -name "*html" -or -name '*js' -or -name '*css' -or -name '*hosts' -or -iname '*txt' -or -name '*.cfg' -or -name '*.lua' \) -exec $(U2D) {} \;
821

822 823
#Enable DEP and ASLR for all the binaries
if USE_PEFLAGS
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
824
	find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -print -o -name '*$(EXEEXT)' -print \) -exec $(PEFLAGS) --dynamicbase=true --nxcompat=true {} \;
825 826
endif

827
# Strip DLLs
828
package-win-base: package-win-common
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
829
	find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -or -name '*$(EXEEXT)' \) | while read i; \
830
	do if test -n "$$i" ; then \
831 832 833 834 835 836 837
	    $(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

838
package-win32-webplugin-common: package-win-base
839
	mkdir -p "$(win32_xpi_destdir)/plugins"
840 841 842 843
	find $(destdir) -maxdepth 4 -name "*$(LIBEXT)" -exec cp {} "$(win32_xpi_destdir)/" \;
	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 -r $(win32_destdir)/plugins/ "$(win32_xpi_destdir)/plugins"
844 845 846 847 848
	rm -rf "$(win32_xpi_destdir)/plugins/plugins/*qt*"
	rm -rf "$(win32_xpi_destdir)/plugins/plugins/*skins*"

package-win32-xpi: package-win32-webplugin-common
	cp $(top_builddir)/projects/mozilla/install.rdf "$(win32_xpi_destdir)"
849
	cd $(win32_xpi_destdir) && zip -r "../vlc-$(VERSION).xpi" install.rdf plugins
850 851 852 853

package-win32-crx: package-win32-webplugin-common
	cp $(top_builddir)/projects/mozilla/manifest.json "$(win32_xpi_destdir)"
	crxmake --pack-extension "$(win32_xpi_destdir)" \
854
		--extension-output "$(win32_destdir)/vlc-$(VERSION).crx" --ignore-file install.rdf
855

856
package-win32-base-exe: package-win-base
857 858 859 860 861 862 863 864 865 866
# Script installer
	cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/"
	cp "$(top_builddir)/extras/package/win32/spad.nsi" "$(win32_destdir)/"
	mkdir "$(win32_destdir)/languages"
	cp $(srcdir)/extras/package/win32/languages/*.nsh "$(win32_destdir)/languages/"
# Copy the UAC NSIS plugin
	mkdir -p "$(win32_destdir)/NSIS"
	cp "$(top_srcdir)/extras/package/win32/UAC.nsh" "$(win32_destdir)/NSIS"
	cp "$(top_srcdir)/extras/package/win32/UAC.dll" "$(win32_destdir)/NSIS"

867
# Create package
868
	if makensis -VERSION >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
869
	    MAKENSIS="makensis"; \
870
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
871
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
872
	elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
873
	    MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
Rafaël Carré's avatar
typo  
Rafaël Carré committed
874
	elif wine --version >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
875
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
876 877 878
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
879
	eval "$$MAKENSIS $(win32_destdir)/spad.nsi"; \
880
	eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
881

882
package-win32-base-zip: package-win-base
883
# Create package
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
884
	rm -f -- vlc-$(VERSION)-win32.zip
885
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
886

887
package-win32-base-debug-zip: package-win-common
888 889 890 891
# Create package
	rm -f -- vlc-$(VERSION)-win32-debug.zip
	zip -r -9 vlc-$(VERSION)-win32-debug.zip vlc-$(VERSION)

892
package-win32-base-7zip: package-win-base
893
# Create package
894
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
895

896
package-win32-base-debug-7zip: package-win-common
897 898 899
# Create package
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32-debug.7z vlc-$(VERSION)

900
package-win32-cleanup:
901
	rm -Rf $(win32_destdir) $(win32_debugdir)
902

903
package-win32-exe: package-win-base package-win32-base-exe package-win32-cleanup
Gildas Bazin's avatar
 
Gildas Bazin committed
904

905
package-win32-zip: package-win32-base-zip package-win32-cleanup
906

907
package-win32-debug-zip: package-win32-base-debug-zip package-win32-cleanup
908

909 910 911
package-win32-7zip: package-win32-base-7zip package-win32-cleanup

package-win32-debug-7zip: package-win32-base-debug-7zip package-win32-cleanup
912

913
package-win32-no-clean: package-win32-base-zip package-win32-base-7zip package-win32-base-exe package-win32-xpi
914

915
package-win32: package-win32-no-clean package-win32-cleanup
916

917
package-win32-debug: package-win32-base-debug-zip package-win32-base-debug-7zip package-win32-cleanup
918

919

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
920 921 922
#######
# WinCE
#######
923
package-wince-base: package-win-base
924

925
package-wince-base-zip: package-wince-base
926
# Create package
927 928
	rm -f -- vlc-$(VERSION)-wince.zip
	zip -r -9 vlc-$(VERSION)-wince.zip vlc-$(VERSION)
929

930
package-wince: package-wince-base-zip package-win32-cleanup
931 932


933 934 935
#########################################################################
## MacOS X                                                             ##
#########################################################################
936
package-macosx: VLC-release.app ChangeLog
937
# Check that the temporary location isn't in the way
938 939
	@if test -e "$(top_builddir)/vlc-$(VERSION)/"; then \
	  rm -Rf "$(top_builddir)/vlc-$(VERSION)/" ; \
940 941
	fi

942 943
	echo "Create package directory: vlc-$(VERSION)/";
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/";
944

945
# Copy relevant files 
946
	@if test -e "$(top_builddir)/VLC-release.app/"; then \
947
	  cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
948
	else \
949
	  cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
950
	fi
951
	mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies/ && \
952
          mkdir -p $(top_builddir)/vlc-$(VERSION)/.background/ && \