Makefile.am 44.6 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.
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
8
#  - src (libvlc) is nedeed by modules
9
#  - libs/* are needed by modules
10
DIST_SUBDIRS = m4 compat doc po share src modules lib bin test
11
SUBDIRS = compat doc po share src modules lib
12 13 14
if BUILD_VLC
SUBDIRS += bin
endif
15
SUBDIRS += test
16

17 18 19
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
20
	extras/package/win32/vlc.exe.manifest \
21
	extras/package/win32/libvlc.dll.manifest \
22
	extras/package/macosx/README.MacOSX.rtf \
23 24
	extras/package/rpm/vlc.fedora.spec \
	extras/package/rpm/vlc.altlinux.spec \
25
	extras/package/win32/vlc.win32.nsi.in \
26
	extras/package/win32/spad.nsi.in \
27 28
	extras/package/win32/UAC.nsh \
	extras/package/win32/UAC.dll \
29
	extras/package/win32/languages/declaration.nsh \
Christophe Mutricy's avatar
Christophe Mutricy committed
30
	extras/package/win32/languages/bengali.nsh \
31
	extras/package/win32/languages/basque.nsh \
Christophe Mutricy's avatar
Christophe Mutricy committed
32 33 34
	extras/package/win32/languages/brazilian_portuguese.nsh \
	extras/package/win32/languages/bulgarian.nsh \
	extras/package/win32/languages/catalan.nsh \
35
	extras/package/win32/languages/danish.nsh \
Christophe Mutricy's avatar
Christophe Mutricy committed
36
	extras/package/win32/languages/dutch.nsh \
37
	extras/package/win32/languages/english.nsh \
Christophe Mutricy's avatar
Christophe Mutricy committed
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
	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 \
53
	extras/package/win32/languages/spanish.nsh
54

55
dist_noinst_SCRIPTS = bootstrap
56
nodist_noinst_SCRIPTS = compile
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
57

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
58
BUILT_SOURCES_distclean =
59 60 61 62
if HAVE_WIN32
BUILT_SOURCES_distclean += \
	extras/package/win32/vlc.win32.nsi extras/package/win32/spad.nsi
endif
63
if HAVE_DARWIN
64
BUILT_SOURCES_clean = macosx-sdk
65 66 67
else
BUILT_SOURCES_clean =
endif
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
68

69
BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
70

71 72
SUFFIXES = 

73 74
DISTCHECK_CONFIGURE_FLAGS = \
	--enable-fast-install \
75 76 77
	--disable-a52 \
	--disable-avcodec --disable-avformat \
	--disable-postproc --disable-swscale \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
78
	--disable-dbus \
79 80
	--disable-mad --disable-libmpeg2 \
	--disable-faad --disable-skins2 \
81
	--disable-live555 \
82
	--disable-fribidi --disable-glx \
83
	--disable-mkv \
84
	--with-kde-solid='$${datadir}/kde4/apps'
85

86
ACLOCAL_AMFLAGS = -I m4
87
AUTOMAKE_OPTIONS = \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
88
	1.11 \
89 90
	-Wall \
	check-news \
91
	dist-xz \
92
	no-dist-gzip
Christophe Mutricy's avatar
Christophe Mutricy committed
93
#	std-options
94

95 96
ChangeLog: Makefile.am
	rm -f -- "$@"
97
	cd doc && $(MAKE) $(AM_MAKEFLAGS) changelogs
KO Myung-Hun's avatar
KO Myung-Hun committed
98
	$(LN_S) -f doc/ChangeLog-2009 "$@"
99

100 101 102 103 104
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
105 106 107 108 109
	extras/package/macosx/Resources/about_bg.png \
	extras/package/macosx/Resources/add_embedded.png \
	extras/package/macosx/Resources/add_embedded_graphite.png \
	extras/package/macosx/Resources/dsa_pub.pem \
	extras/package/macosx/Resources/embedded_vout.png \
110 111 112 113 114 115 116 117 118 119 120 121
	extras/package/macosx/Resources/English.lproj/About.xib \
	extras/package/macosx/Resources/English.lproj/AudioEffects.xib \
	extras/package/macosx/Resources/English.lproj/Bookmarks.xib \
	extras/package/macosx/Resources/English.lproj/CoreDialogs.xib \
	extras/package/macosx/Resources/English.lproj/ErrorPanel.xib \
	extras/package/macosx/Resources/English.lproj/MainMenu.xib \
	extras/package/macosx/Resources/English.lproj/MediaInfo.xib \
	extras/package/macosx/Resources/English.lproj/Open.xib \
	extras/package/macosx/Resources/English.lproj/Preferences.xib \
	extras/package/macosx/Resources/English.lproj/SyncTracks.xib \
	extras/package/macosx/Resources/English.lproj/VideoEffects.xib \
	extras/package/macosx/Resources/English.lproj/Wizard.xib \
122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
	extras/package/macosx/Resources/fspanel/fs_background.png \
	extras/package/macosx/Resources/fspanel/fs_exit_fullscreen.png \
	extras/package/macosx/Resources/fspanel/fs_exit_fullscreen_highlight.png \
	extras/package/macosx/Resources/fspanel/fs_forward.png \
	extras/package/macosx/Resources/fspanel/fs_forward_highlight.png \
	extras/package/macosx/Resources/fspanel/fs_pause.png \
	extras/package/macosx/Resources/fspanel/fs_pause_highlight.png \
	extras/package/macosx/Resources/fspanel/fs_play.png \
	extras/package/macosx/Resources/fspanel/fs_play_highlight.png \
	extras/package/macosx/Resources/fspanel/fs_rewind.png \
	extras/package/macosx/Resources/fspanel/fs_rewind_highlight.png \
	extras/package/macosx/Resources/fspanel/fs_skip_next.png \
	extras/package/macosx/Resources/fspanel/fs_skip_next_highlight.png \
	extras/package/macosx/Resources/fspanel/fs_skip_previous.png \
	extras/package/macosx/Resources/fspanel/fs_skip_previous_highlight.png \
	extras/package/macosx/Resources/fspanel/fs_stop.png \
	extras/package/macosx/Resources/fspanel/fs_stop_highlight.png \
	extras/package/macosx/Resources/fspanel/fs_time_slider.png \
	extras/package/macosx/Resources/fspanel/fs_time_slider_knob.png \
	extras/package/macosx/Resources/fspanel/fs_time_slider_knob_highlight.png \
	extras/package/macosx/Resources/fspanel/fs_volume_max.png \
	extras/package/macosx/Resources/fspanel/fs_volume_max_highlight.png \
	extras/package/macosx/Resources/fspanel/fs_volume_mute.png \
	extras/package/macosx/Resources/fspanel/fs_volume_mute_highlight.png \
	extras/package/macosx/Resources/fspanel/fs_volume_slider_bar.png \
	extras/package/macosx/Resources/fspanel/fs_volume_slider_knob.png \
	extras/package/macosx/Resources/fspanel/fs_volume_slider_knob_highlight.png \
	extras/package/macosx/Resources/icons/aiff.icns \
	extras/package/macosx/Resources/icons/audio.icns \
	extras/package/macosx/Resources/icons/avi.icns \
	extras/package/macosx/Resources/icons/flv.icns \
	extras/package/macosx/Resources/icons/generic.icns \
	extras/package/macosx/Resources/icons/m4a.icns \
	extras/package/macosx/Resources/icons/m4v.icns \
	extras/package/macosx/Resources/icons/mkv.icns \
	extras/package/macosx/Resources/icons/mov.icns \
	extras/package/macosx/Resources/icons/movie.icns \
	extras/package/macosx/Resources/icons/mp3.icns \
	extras/package/macosx/Resources/icons/mpeg.icns \
	extras/package/macosx/Resources/icons/ogg.icns \
	extras/package/macosx/Resources/icons/playlist.icns \
	extras/package/macosx/Resources/icons/rm.icns \
	extras/package/macosx/Resources/icons/subtitle.icns \
	extras/package/macosx/Resources/icons/vlc.icns \
	extras/package/macosx/Resources/icons/vob.icns \
	extras/package/macosx/Resources/icons/wav.icns \
	extras/package/macosx/Resources/icons/wma.icns \
	extras/package/macosx/Resources/icons/wmv.icns \
	extras/package/macosx/Resources/mainwindow/back-pressed.png \
	extras/package/macosx/Resources/mainwindow/back.png \
172
	extras/package/macosx/Resources/mainwindow/bottom-background.png \
173
	extras/package/macosx/Resources/mainwindow/bottom-bar-mini.png \
174 175
	extras/package/macosx/Resources/mainwindow/dropzone-background.png \
	extras/package/macosx/Resources/mainwindow/dropzone.png \
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
	extras/package/macosx/Resources/mainwindow/effects-double-buttons-blue.png \
	extras/package/macosx/Resources/mainwindow/effects-double-buttons-pressed.png \
	extras/package/macosx/Resources/mainwindow/effects-double-buttons.png \
	extras/package/macosx/Resources/mainwindow/effects-one-button-blue.png \
	extras/package/macosx/Resources/mainwindow/effects-one-button.png \
	extras/package/macosx/Resources/mainwindow/forward-pressed.png \
	extras/package/macosx/Resources/mainwindow/forward.png \
	extras/package/macosx/Resources/mainwindow/fullscreen-double-buttons-pressed.png \
	extras/package/macosx/Resources/mainwindow/fullscreen-double-buttons.png \
	extras/package/macosx/Resources/mainwindow/mini-progressbar-fill-left.png \
	extras/package/macosx/Resources/mainwindow/mini-progressbar-fill-middle.png \
	extras/package/macosx/Resources/mainwindow/mini-progressbar-fill-right.png \
	extras/package/macosx/Resources/mainwindow/mini-progressbar-knob.png \
	extras/package/macosx/Resources/mainwindow/mini-progressbar-wrapper-left.png \
	extras/package/macosx/Resources/mainwindow/mini-progressbar-wrapper-middle.png \
	extras/package/macosx/Resources/mainwindow/mini-progressbar-wrapper-right.png \
	extras/package/macosx/Resources/mainwindow/pause-pressed.png \
	extras/package/macosx/Resources/mainwindow/pause.png \
	extras/package/macosx/Resources/mainwindow/play-pressed.png \
	extras/package/macosx/Resources/mainwindow/play.png \
	extras/package/macosx/Resources/mainwindow/playlist-blue.png \
	extras/package/macosx/Resources/mainwindow/playlist-pressed.png \
	extras/package/macosx/Resources/mainwindow/playlist.png \
	extras/package/macosx/Resources/mainwindow/progression-fill-left.png \
	extras/package/macosx/Resources/mainwindow/progression-fill-middle.png \
	extras/package/macosx/Resources/mainwindow/progression-fill-right.png \
	extras/package/macosx/Resources/mainwindow/progression-knob.png \
	extras/package/macosx/Resources/mainwindow/progression-track-wrapper-left.png \
	extras/package/macosx/Resources/mainwindow/progression-track-wrapper-middle.png \
	extras/package/macosx/Resources/mainwindow/progression-track-wrapper-right.png \
	extras/package/macosx/Resources/mainwindow/repeat-all-pressed.png \
	extras/package/macosx/Resources/mainwindow/repeat-all.png \
	extras/package/macosx/Resources/mainwindow/repeat-one-pressed.png \
	extras/package/macosx/Resources/mainwindow/repeat-one.png \
	extras/package/macosx/Resources/mainwindow/repeat-pressed.png \
	extras/package/macosx/Resources/mainwindow/repeat.png \
	extras/package/macosx/Resources/mainwindow/shuffle-blue-pressed.png \
	extras/package/macosx/Resources/mainwindow/shuffle-on.png \
	extras/package/macosx/Resources/mainwindow/shuffle-pressed.png \
	extras/package/macosx/Resources/mainwindow/shuffle.png \
	extras/package/macosx/Resources/mainwindow/stop-pressed.png \
	extras/package/macosx/Resources/mainwindow/stop.png \
	extras/package/macosx/Resources/mainwindow/volume-high.png \
	extras/package/macosx/Resources/mainwindow/volume-low.png \
	extras/package/macosx/Resources/mainwindow/volume-slider-knob.png \
	extras/package/macosx/Resources/mainwindow/volume-slider-track.png \
	extras/package/macosx/Resources/mainwindow_dark/back-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/back_dark.png \
224
	extras/package/macosx/Resources/mainwindow_dark/bottom-background_dark.png \
225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265
	extras/package/macosx/Resources/mainwindow_dark/effects-double-buttons-blue_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/effects-double-buttons-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/effects-double-buttons_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/effects-one-button-blue_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/effects-one-button_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/forward-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/forward_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/fullscreen-double-buttons-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/fullscreen-double-buttons_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/pause-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/pause_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/play-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/play_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/playlist-blue-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/playlist-blue_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/playlist-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/playlist_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/progressbar-fill-left_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/progressbar-fill-middle_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/progressbar-fill-right_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/progression-knob_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/progression-track-wrapper-left_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/progression-track-wrapper-middle_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/progression-track-wrapper-right_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/repeat-all-blue-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/repeat-all-blue_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/repeat-one-blue-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/repeat-one-blue_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/repeat-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/repeat_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/shuffle-blue-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/shuffle-blue_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/shuffle-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/shuffle_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/stop-pressed_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/stop_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/volume-high_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/volume-low_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/volume-slider-knob_dark.png \
	extras/package/macosx/Resources/mainwindow_dark/volume-slider-track_dark.png \
	extras/package/macosx/Resources/noart.png \
266
	extras/package/macosx/Resources/pause_embedded.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
267
	extras/package/macosx/Resources/pause_embedded_graphite.png \
268
	extras/package/macosx/Resources/play_embedded.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
269
	extras/package/macosx/Resources/play_embedded_graphite.png \
270 271 272 273 274 275 276 277
	extras/package/macosx/Resources/prefs/spref_cone_Audio_64.png \
	extras/package/macosx/Resources/prefs/spref_cone_Hotkeys_64.png \
	extras/package/macosx/Resources/prefs/spref_cone_Input_64.png \
	extras/package/macosx/Resources/prefs/spref_cone_Interface_64.png \
	extras/package/macosx/Resources/prefs/spref_cone_Subtitles_64.png \
	extras/package/macosx/Resources/prefs/spref_cone_Video_64.png \
	extras/package/macosx/Resources/README \
	extras/package/macosx/Resources/repeat_embedded.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
278 279
	extras/package/macosx/Resources/repeat_embedded_graphite.png \
	extras/package/macosx/Resources/repeat_single_embedded_graphite.png \
280
	extras/package/macosx/Resources/shuffle_embedded.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
281
	extras/package/macosx/Resources/shuffle_embedded_graphite.png \
282 283 284 285 286 287 288
	extras/package/macosx/Resources/sidebar-icons/document-music-playlist.png \
	extras/package/macosx/Resources/sidebar-icons/film-cast.png \
	extras/package/macosx/Resources/sidebar-icons/film.png \
	extras/package/macosx/Resources/sidebar-icons/music-beam.png \
	extras/package/macosx/Resources/sidebar-icons/network-cloud.png \
	extras/package/macosx/Resources/sidebar-icons/picture.png \
	extras/package/macosx/Resources/sidebar-icons/README \
289
	extras/package/macosx/Resources/skip_forward_active_embedded.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
290
	extras/package/macosx/Resources/skip_forward_embedded_graphite.png \
291
	extras/package/macosx/Resources/skip_previous_active_embedded.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
292
	extras/package/macosx/Resources/skip_previous_embedded_graphite.png \
293 294
	extras/package/macosx/Resources/vlc.scriptSuite \
	extras/package/macosx/Resources/vlc.scriptTerminology \
295 296 297 298 299 300 301 302 303 304
	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 \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
305 306 307 308 309 310
	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
311
	extras/package/macosx/README.MacOSX.rtf \
312
	extras/package/macosx/Info.plist.in
Felix Paul Kühne's avatar
Felix Paul Kühne committed
313

314 315

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

328 329 330 331 332 333 334
###############################################################################
# Scripts for building dependencies.
##############################################################################
EXTRA_DIST += \
	contrib/bootstrap \
	contrib/src/

335 336 337 338
###############################################################################
# Building libvlc
###############################################################################

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
339
CLEANFILES = $(BUILT_SOURCES_clean)
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
340
DISTCLEANFILES = $(BUILT_SOURCES_distclean) compile
341
MAINTAINERCLEANFILES = ChangeLog
342

343
# Shortcut for developers to rebuild the core (libvlc + vlc)
344 345
# Don't use it if you don't know what it is about.
# Don't complain if it doesn't work. -- Courmisch
346 347 348
libcompat:
	cd compat && $(MAKE) $(AM_MAKEFLAGS)

349 350 351 352 353
libvlccore: libcompat
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlccore.la

libvlc: libvlccore
	cd lib && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
354

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
355
core: libvlc vlc$(EXEEXT)
356
	cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) vlc-static$(EXEEXT)
357

358 359 360 361
doc:
	cd doc && $(MAKE) $(AM_MAKEFLAGS) doc

.PHONY: libvlc core doc
362

363 364 365 366
###############################################################################
# Building aliases
###############################################################################

367
ALL_ALIASES = cvlc rvlc svlc qvlc nvlc mvlc
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
368
bin_SCRIPTS = $(ALIASES)
369
CLEANFILES += $(ALIASES) $(noinst_SCRIPTS)
370 371 372 373
EXTRA_SCRIPTS = $(ALL_ALIASES)

dist_noinst_SCRIPTS += make-alias

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

376
cvlc: make-alias Makefile
377
	$(AM_V_GEN)$(MKALIAS) dummy
378

379
rvlc: make-alias Makefile
380
	$(AM_V_GEN)$(MKALIAS) rc
381

382
svlc: make-alias Makefile
383
	$(AM_V_GEN)$(MKALIAS) skins2
384

385
qvlc: make-alias Makefile
386
	$(AM_V_GEN)$(MKALIAS) qt4
387

388
nvlc: make-alias Makefile
389
	$(AM_V_GEN)$(MKALIAS) ncurses
390

391
mvlc: make-alias Makefile
392
	$(AM_V_GEN)$(MKALIAS) maemo
393

394
if BUILD_VLC
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
395
noinst_SCRIPTS = vlc$(EXEEXT)
396
endif
397

398
vlc$(EXEEXT):
KO Myung-Hun's avatar
KO Myung-Hun committed
399
	$(AM_V_GEN)$(LN_S) -f bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
400

401
if HAVE_DARWIN
402
if BUILD_MACOSX_VLC_APP
403
# Create the MacOS X app
404
noinst_DATA = VLC.app
405
endif
406 407
endif

408 409 410 411 412 413 414 415 416 417 418 419
###############################################################################
# Installing plugins cache
###############################################################################
install-exec-hook:
	if test "$(build)" = "$(host)"; then \
		LD_LIBRARY_PATH="$(DESTDIR)$(libdir):$$LD_LIBRARY_PATH" \
		"$(DESTDIR)$(vlclibdir)/vlc-cache-gen$(EXEEXT)" \
			 "$(DESTDIR)$(vlclibdir)/plugins" ; \
	else \
		echo "Cross-compilation: cache generation skipped!" ; \
	fi

420
silentstd = $(silentstd_$(V))
421
silentstd_ = $(silentstd_$(AM_DEFAULT_VERBOSITY))
422
silentstd_0 = 2>&1 >/dev/null
423

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

557
# This is just for development purposes. 
558
# The resulting VLC.app will only run in this tree.
559
VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/lib/.libs/libvlc.dylib
560
	$(AM_V_GEN)(cd src && make install $(silentstd))
561 562
	rm -Rf $(top_builddir)/tmp
	mkdir -p "$(top_builddir)/tmp/extras/package/macosx"
Loïc Minier's avatar
Loïc Minier committed
563
	rm -Rf $(top_builddir)/VLC.app
564
	for i in vlc.xcodeproj Resources README.MacOSX.rtf; do \
565 566
	  cp -R $(srcdir)/extras/package/macosx/$$i $(top_builddir)/tmp/extras/package/macosx/; \
	done
567
	REVISION=`(git --git-dir=$(srcdir)/.git describe --always || echo exported)` && \
568 569 570
	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/
571
	for i in AUTHORS COPYING THANKS; do \
Loïc Minier's avatar
Loïc Minier committed
572 573
	  cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
	done
574
	mkdir -p $(top_builddir)/tmp/extras/contrib/Sparkle
575
	cp -R $(CONTRIB_DIR)/Sparkle/Sparkle.framework $(top_builddir)/tmp/extras/contrib/Sparkle
576 577
	mkdir -p $(top_builddir)/tmp/extras/contrib/BGHUDAppKit
	cp -R $(CONTRIB_DIR)/BGHUDAppKit/BGHUDAppKit.framework $(top_builddir)/tmp/extras/contrib/BGHUDAppKit
578 579
	mkdir -p $(top_builddir)/tmp/extras/contrib/Growl
	cp -R $(CONTRIB_DIR)/Growl/Growl.framework $(top_builddir)/tmp/extras/contrib/Growl
Loïc Minier's avatar
Loïc Minier committed
580 581 582
	mkdir -p $(top_builddir)/tmp/modules/audio_output
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
583 584
	    AppleRemote.h \
	    AppleRemote.m \
Loïc Minier's avatar
Loïc Minier committed
585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
602 603
	    playlistinfo.h \
	    playlistinfo.m \
604 605
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
606 607
	    prefs.h \
	    prefs.m \
608 609
	    simple_prefs.h \
	    simple_prefs.m \
Loïc Minier's avatar
Loïc Minier committed
610
	    vout.h \
611
	    voutgl.m \
612 613
	    wizard.h \
	    wizard.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
614 615
	    bookmarks.h \
	    bookmarks.m \
616 617
	    coredialogs.h \
	    coredialogs.m \
618 619
	    embeddedwindow.h \
	    embeddedwindow.m \
620 621
	    fspanel.h \
	    fspanel.m \
Loïc Minier's avatar
Loïc Minier committed
622 623 624 625
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
626
	$(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
627
	xcodebuild -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd) && \
628
	cd ../../../../ && \
629
	cp -R -L $(top_builddir)/tmp/build/Default/VLC.bundle $(top_builddir)/VLC.app
Loïc Minier's avatar
Loïc Minier committed
630
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
631 632
	touch $(top_builddir)/VLC.app/Contents/MacOS/VLC
	chmod +x $(top_builddir)/VLC.app/Contents/MacOS/VLC
633
	$(INSTALL) $(top_builddir)/bin/.libs/vlc $(top_builddir)/VLC.app/Contents/MacOS/VLC
KO Myung-Hun's avatar
KO Myung-Hun committed
634
	$(LN_S) -f ../../../modules $(top_builddir)/VLC.app/Contents/MacOS/plugins
635 636
	install -d $(top_builddir)/VLC.app/Contents/MacOS/share
	for i in `ls $(srcdir)/share`; do \
KO Myung-Hun's avatar
KO Myung-Hun committed
637
	   $(LN_S) -f `pwd`/$(srcdir)/share/$$i $(top_builddir)/VLC.app/Contents/MacOS/share/; \
638
	done
639
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/locale
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
640
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
641
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/share/locale/$${i}/LC_MESSAGES ; \
KO Myung-Hun's avatar
KO Myung-Hun committed
642
	  $(LN_S) -f `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
643
	  mkdir -p $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
KO Myung-Hun's avatar
KO Myung-Hun committed
644
	  $(LN_S) -f ../English.lproj/InfoPlist.strings \
Loïc Minier's avatar
Loïc Minier committed
645
	      $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
646
	  $(LN_S) -f ../English.lproj/MainMenu.xib \
Loïc Minier's avatar
Loïc Minier committed
647
	      $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
648
	done
Loïc Minier's avatar
Loïc Minier committed
649
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
650

651 652 653 654 655
###############################################################################
# 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
656
# the same setup as the maintaner(s).
657
#
658

659 660 661
############################################################################
## Win                                                                    ##
############################################################################
662
destdir=$(prefix)
663
win32_destdir=$(top_builddir)/vlc-$(VERSION)
664
win32_debugdir=$(top_builddir)/symbols-$(VERSION)
665
win32_xpi_destdir=$(win32_destdir)/vlc-plugin
666

667 668 669 670 671 672 673 674 675 676 677 678 679 680
if HAVE_WIN64
build-npapi:
	touch $@

build-activex:
	touch $@
else
if HAVE_WINCE
build-npapi:
	touch $@

build-activex:
	touch $@
else
681 682
if HAVE_WIN32
include extras/package/npapi.am
Rafaël Carré's avatar
Rafaël Carré committed
683
include extras/package/activex.am
684
endif
685 686
endif
endif
687

688
#Win-common is for win32 and wince
Rafaël Carré's avatar
Rafaël Carré committed
689
package-win-common: install build-npapi build-activex
690
# Check that tmp isn't in the way
691
	@if test -e "$(win32_destdir)"; then \
692 693 694 695 696
	    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; \
697
	else \
698 699
	    echo "Debug dir OK."; mkdir -p "$(win32_debugdir)"; \
	    echo "Dest dir OK."; mkdir -p "$(win32_destdir)"; \
700
	fi
701

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

708
# Text files and clean them
Rafaël Carré's avatar
Rafaël Carré committed
709
	for file in AUTHORS THANKS ; \
710
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(win32_destdir)/$${file}.txt" ; done;
Christophe Mutricy's avatar
Christophe Mutricy committed
711
	for file in NEWS COPYING README; \
712
	  do cp "$(srcdir)/$$file" "$(win32_destdir)/$${file}.txt"; done
713

714
# Necessary icon
715
	cp $(srcdir)/share/icons/vlc.ico $(win32_destdir)
Luca Barbato's avatar
Luca Barbato committed
716

717
# Locales
718
	-cp -r $(destdir)/share/locale $(win32_destdir)
719

720
# Plugins
721
	cp -r $(destdir)/lib/vlc/plugins $(win32_destdir)
722

723
if BUILD_LUA
724 725 726
	mkdir -p $(win32_destdir)/lua
	cp -r $(destdir)/lib/vlc/lua/* $(win32_destdir)/lua
	cp -r $(destdir)/share/vlc/lua/* $(win32_destdir)/lua
727 728 729
endif

if BUILD_SKINS
730
	cp -r $(destdir)/share/vlc/skins2 $(win32_destdir)/skins
731 732
endif
if BUILD_OSDMENU
733
	cp -r $(destdir)/share/vlc/osdmenu "$(win32_destdir)/osdmenu"
734
	for file in $(win32_destdir)/osdmenu/*.cfg; do \
735 736 737
		sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
		sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
		rm -f -- "$$file.tmp"; \
738
	done
739
endif
Rafaël Carré's avatar
Rafaël Carré committed
740
if !HAVE_WIN64
741
if !HAVE_WINCE
Rafaël Carré's avatar
Rafaël Carré committed
742 743
	cp "$(top_builddir)/activex-vlc/src/axvlc.dll.manifest" "$(win32_destdir)/"
	cp "$(top_builddir)/activex-vlc/installed/lib/axvlc.dll" "$(win32_destdir)/"
744
	cp "$(top_builddir)/npapi-vlc/npapi/npvlc.dll.manifest" "$(win32_destdir)/"
Rafaël Carré's avatar
Rafaël Carré committed
745
	cp "$(top_builddir)/npapi-vlc/installed/lib/npvlc.dll" "$(win32_destdir)/"
746
endif
747
endif
748

749
# SDK
750
	mkdir -p "$(win32_destdir)/sdk/lib"
751 752 753
	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 \
754
        cp -rv $(destdir)/lib/$$file "$(win32_destdir)/sdk/lib"; done
Rafaël Carré's avatar
Rafaël Carré committed
755
if !HAVE_WIN64
756
if !HAVE_WINCE
757
	mkdir -p "$(win32_destdir)/sdk/activex"
Rafaël Carré's avatar
Rafaël Carré committed
758 759
	cp $(top_builddir)/activex-vlc/README $(win32_destdir)/sdk/activex/README.TXT
	cp $(top_builddir)/activex-vlc/src/test.html $(win32_destdir)/sdk/activex/
760
endif
761
endif
762

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
763
	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) {} \;
764

765 766
#Enable DEP and ASLR for all the binaries
if USE_PEFLAGS
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
767
	find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -print -o -name '*$(EXEEXT)' -print \) -exec $(PEFLAGS) --dynamicbase=true --nxcompat=true {} \;
768
endif
769
	find $(win32_destdir)/plugins/ -type f \( -name '*.a' -or -name '*.la' \) -exec rm -rvf {} \;
770

771
package-win-base: package-win-common
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
772
	find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -or -name '*$(EXEEXT)' \) | while read i; \
773
	do if test -n "$$i" ; then \
774 775 776 777 778 779 780
	    $(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

Rafaël Carré's avatar
Rafaël Carré committed
781
package-win32-webplugin-common: package-win-base
782 783
	mkdir -p "$(win32_xpi_destdir)/plugins"
	find $(destdir) -maxdepth 4 -name "*$(LIBEXT)" -exec cp {} "$(win32_xpi_destdir)/" \;
784
if !HAVE_WIN64
785
	cp $(top_builddir)/npapi-vlc/npapi/npvlc.dll.manifest "$(win32_xpi_destdir)/plugins"
786
endif
787 788 789 790
	cp "$(top_srcdir)/extras/package/win32/libvlc.dll.manifest" "$(win32_xpi_destdir)/plugins"
	cp -r $(win32_destdir)/plugins/ "$(win32_xpi_destdir)/plugins"
	rm -rf "$(win32_xpi_destdir)/plugins/plugins/*qt*"
	rm -rf "$(win32_xpi_destdir)/plugins/plugins/*skins*"
791

Rafaël Carré's avatar
Rafaël Carré committed
792
package-win32-xpi: package-win32-webplugin-common
793
if !HAVE_WIN64
794
	cp $(top_builddir)/npapi-vlc/npapi/install.rdf "$(win32_xpi_destdir)"
795
	cd $(win32_xpi_destdir) && zip -r "../vlc-$(VERSION).xpi" install.rdf plugins
796
endif
797

Rafaël Carré's avatar
Rafaël Carré committed
798
package-win32-crx: package-win32-webplugin-common
799
if !HAVE_WIN64
800
	cp $(top_builddir)/npapi-vlc/npapi/manifest.json "$(win32_xpi_destdir)"
801 802
	crxmake --pack-extension "$(win32_xpi_destdir)" \
		--extension-output "$(win32_destdir)/vlc-$(VERSION).crx" --ignore-file install.rdf
803
endif
804

Rafaël Carré's avatar
Rafaël Carré committed
805
package-win32-base-exe: package-win-base
806 807 808 809 810 811 812 813 814 815
# 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"

816
# Create package
817
	if makensis -VERSION >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
818
	    MAKENSIS="makensis"; \
819
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
820
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
821
	elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
822
	    MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
Rafaël Carré's avatar
typo  
Rafaël Carré committed
823
	elif wine --version >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
824
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
825 826 827
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
828
	eval "$$MAKENSIS $(win32_destdir)/spad.nsi"; \
829
	eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
830

831
package-win32-base-zip: package-win-base
832
# Create package
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
833
	rm -f -- vlc-$(VERSION)-win32.zip
834
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
835

836
package-win32-base-debug-zip: package-win-common
837 838 839 840
# Create package
	rm -f -- vlc-$(VERSION)-win32-debug.zip
	zip -r -9 vlc-$(VERSION)-win32-debug.zip vlc-$(VERSION)

841
package-win32-base-7zip: package-win-base
842
# Create package
843
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
844

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

849
package-win32-cleanup:
850
	rm -Rf $(win32_destdir) $(win32_debugdir)
851

852
package-win32-exe: package-win-base package-win32-base-exe package-win32-cleanup
Gildas Bazin's avatar
 
Gildas Bazin committed
853

854
package-win32-zip: package-win32-base-zip package-win32-cleanup
855

856
package-win32-debug-zip: package-win32-base-debug-zip package-win32-cleanup
857

858 859 860
package-win32-7zip: package-win32-base-7zip package-win32-cleanup

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

862
package-win32-no-clean: package-win32-base-zip package-win32-base-7zip package-win32-base-exe package-win32-xpi
863

864
package-win32: package-win32-no-clean package-win32-cleanup
865

866
package-win32-debug: package-win32-base-debug-zip package-win32-base-debug-7zip package-win32-cleanup
867

868

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
869 870 871
#######
# WinCE
#######
872
package-wince-base: package-win-base
873

874
package-wince-base-zip: package-wince-base
875
# Create package
876 877
	rm -f -- vlc-$(VERSION)-wince.zip
	zip -r -9 vlc-$(VERSION)-wince.zip vlc-$(VERSION)
878

879
package-wince: package-wince-base-zip package-win32-cleanup
880 881


882 883 884
#########################################################################
## MacOS X                                                             ##
#########################################################################
885
package-macosx: VLC-release.app ChangeLog
886
# Check that the temporary location isn't in the way
887 888
	@if test -e "$(top_builddir)/vlc-$(VERSION)/"; then \
	  rm -Rf "$(top_builddir)/vlc-$(VERSION)/" ; \
889 890
	fi

891 892
	echo "Create package directory: vlc-$(VERSION)/";
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/";
893

894
# Copy relevant files 
895
	@if test -e "$(top_builddir)/VLC-release.app/"; then \
896
	  cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
897
	else \
898
	  cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
899
	fi
900
	mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies/ && \
901
          mkdir -p $(top_builddir)/vlc-$(VERSION)/.background/ && \
902 903 904 905 906
          cp $(srcdir)/AUTHORS $(srcdir)/COPYING $(srcdir)/README $(srcdir)/THANKS $(srcdir)/NEWS $(top_builddir)/vlc-$(VERSION)/Goodies/ && \
          cp -R  $(srcdir)/extras/package/macosx/Delete_Preferences.app $(top_builddir)/vlc-$(VERSION)/Goodies/Delete\ VLC\ Preferences.app && \
	  cp $(srcdir)/extras/package/macosx/README.MacOSX.rtf $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf && \
	  cp $(srcdir)/extras/package/macosx/Resources/about_bg.png $(top_builddir)/vlc-$(VERSION)/.background/background.png
	cp -L $(top_builddir)/ChangeLog $(top_builddir)/vlc-$(VERSION)/Goodies/
907 908

# Place a link to the application folder
KO Myung-Hun's avatar
KO Myung-Hun committed
909
	$(LN_S) /Applications $(top_builddir)/vlc-$(VERSION)/Applications
910

911
# Create disk image (temporarily taken from the 0.8.6-bugfix branch to provide reliable NBs)
912 913
	echo "Creating disk image"
	rm -f "$(top_builddir)/vlc-$(VERSION).dmg"
914
	hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" \
915 916 917
	  "$(top_builddir)/vlc-$(VERSION).dmg" -scrub
	echo "Disk image creation completed:"
	ls -la "$(top_builddir)/vlc-$(VERSION).dmg" ; echo
918 919

# Create disk image 
920 921
#	echo "Creating disk image"
#	rm -f "$(top_builddir)/vlc-$(VERSION).dmg"
922 923
#	hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" \
#	  "$(top_builddir)/vlc-$(VERSION).dmg" -format UDRW \
924
#	  -scrub -imagekey zlib-level=9 -attach
925 926 927 928

# Make sure the root window of the dmg will pop up when the dmg is mounted.
# Note: We dont mount in /Volumes to be sure we won't collide with an other
# finder mounted dmg with the same name.
929 930 931 932
#	echo "Make sure the root window of the dmg will pop up when the dmg is mounted"
#	mkdir -p $(top_builddir)/vlcmnt
#	hdiutil attach -nokernel -readwrite -noverify -noautoopen -private "$(top_builddir)/vlc-$(VERSION).dmg" -mountpoint "$(top_builddir)/vlcmnt/vlc-$(VERSION)"
#	bless --folder "$(top_builddir)/vlcmnt/vlc-$(VERSION)/" --openfolder "$(top_builddir)/vlcmnt/vlc-$(VERSION)"
933
#	sleep 1 # Make sure operation completes
934
#	cd "$(srcdir)"
935 936

# Unmount the image now
937 938
#	hdiutil detach "$(top_builddir)/vlcmnt/vlc-$(VERSION)"
#	rm -R $(top_builddir)/vlcmnt
939 940 941

# Make sure the image is not writable
# Note: We can't directly create a read only dmg as we do the bless stuff
942 943
	echo "Make the disk image read-only"
	mv "$(top_builddir)/vlc-$(VERSION).dmg" "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
944
	hdiutil convert "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -format UDBZ -o "$(top_builddir)/vlc-$(VERSION).dmg"
945
	rm "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
946 947

# We are done
948 949
	echo "Disk image creation completed:"
	ls -la "$(top_builddir)/vlc-$(VERSION).dmg" ; echo
950 951

# Clean up
952
	rm -Rf "$(top_builddir)/vlc-$(VERSION)"
953

954
package-macosx-zip: VLC-release.app
955 956 957
	rm -Rf $(top_builddir)/vlc-$(VERSION)
	mkdir -p $(top_builddir)/vlc-$(VERSION)
	cp -R $(top_builddir)/VLC-release.app $(top_builddir)/vlc-$(VERSION)/VLC.app
958
	mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies
959 960
	for i in AUTHORS COPYING ChangeLog README THANKS NEWS; do \
	  cp $(srcdir)/$$i $(top_builddir)/vlc-$(VERSION)/Goodies; \
961 962 963 964
	done
	cp -R  $(srcdir)/extras/package/macosx/Delete_Preferences.app \
	     $(top_builddir)/vlc-$(VERSION)/Goodies
	cp $(srcdir)/extras/package/macosx/README.MacOSX.rtf \
965
	   $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf
966
	zip -r -y -9 $(top_builddir)/vlc-$(VERSION).zip $(top_builddir)/vlc-$(VERSION)
967
	rm -Rf $(top_builddir)/vlc-$(VERSION)
968 969

package-macosx-framework-zip:
970 971 972 973
	rm -Rf $(top_builddir)/vlckit-$(VERSION)
	mkdir -p $(top_builddir)/vlckit-$(VERSION)
	cp -R $(srcdir)/projects/macosx/framework/build/Debug/VLCKit.framework \
	  $(top_builddir)/vlckit-$(VERSION)/VLCKit.framework
974 975 976
	mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies
	for i in AUTHORS COPYING ChangeLog README THANKS NEWS; do \
	  cp $(srcdir)/$$i $(top_builddir)/vlckit-$(VERSION)/Goodies; \
977
	done
978
	zip -r -y -9 $(top_builddir)/vlckit-$(VERSION).zip $(top_builddir)/vlckit-$(VERSION)
979
	rm -Rf $(top_builddir)/vlc-$(VERSION)
980

981
package-translations:
982 983
	@if test -e "$(srcdir)/vlc-translations-$(VERSION)"; then \
	  echo "Error: please remove $(srcdir)/vlc-translations-$(VERSION), it is in the way"; \
984 985
	  false; \
	else \
986
	  echo "OK."; mkdir -p "$(srcdir)/vlc-translations-$(VERSION)"; \
987 988
	fi
# Copy translations