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

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

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
57
BUILT_SOURCES_distclean =
58 59 60 61
if HAVE_WIN32
BUILT_SOURCES_distclean += \
	extras/package/win32/vlc.win32.nsi extras/package/win32/spad.nsi
endif
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
62

63
BUILT_SOURCES = $(BUILT_SOURCES_distclean)
64

65 66
SUFFIXES = 

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

80
ACLOCAL_AMFLAGS = -I m4
81
AUTOMAKE_OPTIONS = \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
82
	1.11 \
83 84
	-Wall \
	check-news \
85
	dist-xz \
86
	no-dist-gzip
Christophe Mutricy's avatar
Christophe Mutricy committed
87
#	std-options
88

89 90
ChangeLog: Makefile.am
	rm -f -- "$@"
91
	cd doc && $(MAKE) $(AM_MAKEFLAGS) changelogs
KO Myung-Hun's avatar
KO Myung-Hun committed
92
	$(LN_S) -f doc/ChangeLog-2009 "$@"
93

94 95 96 97 98
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
99 100
	extras/package/macosx/Resources/about_bg.png \
	extras/package/macosx/Resources/dsa_pub.pem \
101 102 103 104 105 106 107 108 109 110 111 112
	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 \
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
	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 \
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
	extras/package/macosx/Resources/fspanel/fs_background@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_exit_fullscreen@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_exit_fullscreen_highlight@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_forward@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_forward_highlight@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_pause@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_pause_highlight@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_play@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_play_highlight@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_rewind@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_rewind_highlight@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_skip_next@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_skip_next_highlight@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_skip_previous@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_skip_previous_highlight@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_stop@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_stop_highlight@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_time_slider@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_time_slider_knob@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_time_slider_knob_highlight@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_volume_max@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_volume_max_highlight@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_volume_mute@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_volume_mute_highlight@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_volume_slider_bar@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_volume_slider_knob@x1.5.png \
	extras/package/macosx/Resources/fspanel/fs_volume_slider_knob_highlight@x1.5.png \
167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
	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 \
190
	extras/package/macosx/Resources/mainwindow/bottom-background.png \
191
	extras/package/macosx/Resources/mainwindow/bottombar-mini.png \
192 193
	extras/package/macosx/Resources/mainwindow/dropzone-background.png \
	extras/package/macosx/Resources/mainwindow/dropzone.png \
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
	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 \
231
	extras/package/macosx/Resources/mainwindow/shuffle-blue.png \
232 233 234 235 236 237 238 239 240 241
	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 \
242
	extras/package/macosx/Resources/mainwindow_dark/bottom-background_dark.png \
243
	extras/package/macosx/Resources/mainwindow_dark/bottombar-mini.png \
244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291
	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 \
	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 \
292 293 294 295 296 297 298
	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 \
299 300
	extras/package/macosx/Resources/vlc.scriptSuite \
	extras/package/macosx/Resources/vlc.scriptTerminology \
301 302 303 304 305 306 307 308 309 310
	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
311 312 313 314 315 316
	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
317
	extras/package/macosx/README.MacOSX.rtf \
318
	extras/package/macosx/Info.plist.in
Felix Paul Kühne's avatar
Felix Paul Kühne committed
319

320 321

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

334 335 336 337 338 339 340
###############################################################################
# Scripts for building dependencies.
##############################################################################
EXTRA_DIST += \
	contrib/bootstrap \
	contrib/src/

341 342 343 344
###############################################################################
# Building libvlc
###############################################################################

345
CLEANFILES =
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
346
DISTCLEANFILES = $(BUILT_SOURCES_distclean) compile
347
MAINTAINERCLEANFILES = ChangeLog
348

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

355 356 357 358 359
libvlccore: libcompat
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlccore.la

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

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

364 365 366 367
doc:
	cd doc && $(MAKE) $(AM_MAKEFLAGS) doc

.PHONY: libvlc core doc
368

369 370 371 372
###############################################################################
# Building aliases
###############################################################################

373
ALL_ALIASES = cvlc rvlc svlc qvlc nvlc mvlc
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
374
bin_SCRIPTS = $(ALIASES)
375
CLEANFILES += $(ALIASES) $(noinst_SCRIPTS)
376 377 378 379
EXTRA_SCRIPTS = $(ALL_ALIASES)

dist_noinst_SCRIPTS += make-alias

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

382
cvlc: make-alias Makefile
383
	$(AM_V_GEN)$(MKALIAS) dummy
384

385
rvlc: make-alias Makefile
386
	$(AM_V_GEN)$(MKALIAS) rc
387

388
svlc: make-alias Makefile
389
	$(AM_V_GEN)$(MKALIAS) skins2
390

391
qvlc: make-alias Makefile
392
	$(AM_V_GEN)$(MKALIAS) qt4
393

394
nvlc: make-alias Makefile
395
	$(AM_V_GEN)$(MKALIAS) ncurses
396

397
mvlc: make-alias Makefile
398
	$(AM_V_GEN)$(MKALIAS) maemo
399

400
if BUILD_VLC
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
401
noinst_SCRIPTS = vlc$(EXEEXT)
402
endif
403

404
vlc$(EXEEXT):
KO Myung-Hun's avatar
KO Myung-Hun committed
405
	$(AM_V_GEN)$(LN_S) -f bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
406

407
if HAVE_DARWIN
408
if BUILD_MACOSX_VLC_APP
409
# Create the MacOS X app
410
noinst_DATA = VLC.app
411
endif
412 413
endif

414 415 416 417 418 419 420 421 422 423 424 425
###############################################################################
# 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

426
silentstd = $(silentstd_$(V))
427
silentstd_ = $(silentstd_$(AM_DEFAULT_VERBOSITY))
428
silentstd_0 = 2>&1 >/dev/null
429

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

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

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

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

665
if HAVE_WIN64
Rafaël Carré's avatar
Rafaël Carré committed
666
include extras/package/npapi.am
667 668 669 670 671
else
if HAVE_WINCE
build-npapi:
	touch $@
else
672 673 674
if HAVE_WIN32
include extras/package/npapi.am
endif
675 676
endif
endif
677

678
#Win-common is for win32 and wince
679
package-win-common: install build-npapi
680
# Check that tmp isn't in the way
681
	@if test -e "$(win32_destdir)"; then \
682 683 684 685 686
	    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; \
687
	else \
688 689
	    echo "Debug dir OK."; mkdir -p "$(win32_debugdir)"; \
	    echo "Dest dir OK."; mkdir -p "$(win32_destdir)"; \
690
	fi
691

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

698
# Text files and clean them
Rafaël Carré's avatar
Rafaël Carré committed
699
	for file in AUTHORS THANKS ; \
700
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(win32_destdir)/$${file}.txt" ; done;
Christophe Mutricy's avatar
Christophe Mutricy committed
701
	for file in NEWS COPYING README; \
702
	  do cp "$(srcdir)/$$file" "$(win32_destdir)/$${file}.txt"; done
703

704
# Necessary icon
705
	cp $(srcdir)/share/icons/vlc.ico $(win32_destdir)
Luca Barbato's avatar
Luca Barbato committed
706

707
# Locales
708
	-cp -r $(destdir)/share/locale $(win32_destdir)
709

710
# Plugins
711
	cp -r $(destdir)/lib/vlc/plugins $(win32_destdir)
712

713
if BUILD_LUA
714 715 716
	mkdir -p $(win32_destdir)/lua
	cp -r $(destdir)/lib/vlc/lua/* $(win32_destdir)/lua
	cp -r $(destdir)/share/vlc/lua/* $(win32_destdir)/lua
717 718 719
endif

if BUILD_SKINS
720
	cp -r $(destdir)/share/vlc/skins2 $(win32_destdir)/skins
721 722
endif
if BUILD_OSDMENU
723
	cp -r $(destdir)/share/vlc/osdmenu "$(win32_destdir)/osdmenu"
724
	for file in $(win32_destdir)/osdmenu/*.cfg; do \
725 726 727
		sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
		sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
		rm -f -- "$$file.tmp"; \
728
	done
729
endif
730

731
if !HAVE_WINCE
732
if !HAVE_WIN64
733 734
	cp "$(top_builddir)/npapi-vlc/activex/axvlc.dll.manifest" "$(win32_destdir)/"
	cp "$(top_builddir)/npapi-vlc/installed/lib/axvlc.dll" "$(win32_destdir)/"
735
endif
736
	cp "$(top_builddir)/npapi-vlc/npapi/npvlc.dll.manifest" "$(win32_destdir)/"
Rafaël Carré's avatar
Rafaël Carré committed
737
	cp "$(top_builddir)/npapi-vlc/installed/lib/npvlc.dll" "$(win32_destdir)/"
738
endif
739

740 741 742
# Compiler shared DLLs
# For win64 only, Debian mingw32 compilers are built with --disable-shared
if HAVE_WIN64
Rafaël Carré's avatar
Rafaël Carré committed
743
#   if gcc_s_sjlj/stdc++ DLLs exist, our C++ modules were linked to them
744 745 746 747
	gcc_lib_dir=`x86_64-w64-mingw32-gcc -v /dev/null 2>&1 | grep ^LIBRARY_PATH|cut -d= -f2|cut -d: -f1` ; \
	cp "$${gcc_lib_dir}/libstdc++-6.dll" "$${gcc_lib_dir}/libgcc_s_sjlj-1.dll" "$(win32_destdir)/" ; true
endif

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

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

764
#Enable DEP and ASLR for all the binaries
Rafaël Carré's avatar
Rafaël Carré committed
765
	find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -print -o -name '*$(EXEEXT)' -print \) -exec $(top_srcdir)/extras/package/win32/peflags.pl {} \;
766
	find $(win32_destdir)/plugins/ -type f \( -name '*.a' -or -name '*.la' \) -exec rm -rvf {} \;
767

768
package-win-base: package-win-common
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
769
	find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -or -name '*$(EXEEXT)' \) | while read i; \
770
	do if test -n "$$i" ; then \
771 772 773 774 775 776 777
	    $(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
778
package-win32-webplugin-common: package-win-base
779 780
	mkdir -p "$(win32_xpi_destdir)/plugins"
	find $(destdir) -maxdepth 4 -name "*$(LIBEXT)" -exec cp {} "$(win32_xpi_destdir)/" \;
781
	cp $(top_builddir)/npapi-vlc/npapi/npvlc.dll.manifest "$(win32_xpi_destdir)/plugins"
782 783 784 785
	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*"
786

Rafaël Carré's avatar
Rafaël Carré committed
787
package-win32-xpi: package-win32-webplugin-common
788
	cp $(top_builddir)/npapi-vlc/npapi/install.rdf "$(win32_xpi_destdir)"
789
	cd $(win32_xpi_destdir) && zip -r "../vlc-$(VERSION).xpi" install.rdf plugins
790

Rafaël Carré's avatar
Rafaël Carré committed
791
package-win32-crx: package-win32-webplugin-common
792
	cp $(top_builddir)/npapi-vlc/npapi/manifest.json "$(win32_xpi_destdir)"
793 794
	crxmake --pack-extension "$(win32_xpi_destdir)" \
		--extension-output "$(win32_destdir)/vlc-$(VERSION).crx" --ignore-file install.rdf
795

Rafaël Carré's avatar
Rafaël Carré committed
796
package-win32-base-exe: package-win-base
797 798 799 800 801 802 803 804 805 806
# 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"

807
# Create package
808
	if makensis -VERSION >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
809
	    MAKENSIS="makensis"; \
810
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
811
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
812
	elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
813
	    MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
Rafaël Carré's avatar
typo  
Rafaël Carré committed
814
	elif wine --version >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
815
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
816 817 818
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
819
	eval "$$MAKENSIS $(win32_destdir)/spad.nsi"; \
820
	eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
821

822
package-win32-base-zip: package-win-base
823
# Create package
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
824
	rm -f -- vlc-$(VERSION)-win32.zip
825
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
826

827
package-win32-base-debug-zip: package-win-common
828 829 830 831
# Create package
	rm -f -- vlc-$(VERSION)-win32-debug.zip
	zip -r -9 vlc-$(VERSION)-win32-debug.zip vlc-$(VERSION)

832
package-win32-base-7zip: package-win-base
833
# Create package
834
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
835

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

840
package-win32-cleanup:
841
	rm -Rf $(win32_destdir) $(win32_debugdir)
842

843
package-win32-exe: package-win-base package-win32-base-exe package-win32-cleanup
Gildas Bazin's avatar
 
Gildas Bazin committed
844

845
package-win32-zip: package-win32-base-zip package-win32-cleanup
846

847
package-win32-debug-zip: package-win32-base-debug-zip package-win32-cleanup
848

849 850 851
package-win32-7zip: package-win32-base-7zip package-win32-cleanup

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

853
package-win32-no-clean: package-win32-base-zip package-win32-base-7zip package-win32-base-exe package-win32-xpi
854

855
package-win32: package-win32-no-clean package-win32-cleanup
856

857
package-win32-debug: package-win32-base-debug-zip package-win32-base-debug-7zip package-win32-cleanup
858

859

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
860 861 862
#######
# WinCE
#######
863
package-wince-base: package-win-base
864

865
package-wince-base-zip: package-wince-base
866
# Create package
867 868
	rm -f -- vlc-$(VERSION)-wince.zip
	zip -r -9 vlc-$(VERSION)-wince.zip vlc-$(VERSION)
869

870
package-wince: package-wince-base-zip package-win32-cleanup
871 872


873 874 875
#########################################################################
## MacOS X                                                             ##
#########################################################################
876
package-macosx: VLC-release.app ChangeLog
877
# Check that the temporary location isn't in the way
878 879
	@if test -e "$(top_builddir)/vlc-$(VERSION)/"; then \
	  rm -Rf "$(top_builddir)/vlc-$(VERSION)/" ; \
880 881
	fi

882 883
	echo "Create package directory: vlc-$(VERSION)/";
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/";
884

885
# Copy relevant files 
886
	@if test -e "$(top_builddir)/VLC-release.app/"; then \
887
	  cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
888
	else \
889
	  cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
890
	fi
891
	mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies/ && \
892
          mkdir -p $(top_builddir)/vlc-$(VERSION)/.background/ && \
893 894 895 896 897
          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/
898 899

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

902
# Create disk image (temporarily taken from the 0.8.6-bugfix branch to provide reliable NBs)
903 904
	echo "Creating disk image"
	rm -f "$(top_builddir)/vlc-$(VERSION).dmg"
905
	hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" \
906 907 908
	  "$(top_builddir)/vlc-$(VERSION).dmg" -scrub
	echo "Disk image creation completed:"
	ls -la "$(top_builddir)/vlc-$(VERSION).dmg" ; echo
909 910

# Create disk image 
911 912
#	echo "Creating disk image"
#	rm -f "$(top_builddir)/vlc-$(VERSION).dmg"
913 914
#	hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" \
#	  "$(top_builddir)/vlc-$(VERSION).dmg" -format UDRW \
915
#	  -scrub -imagekey zlib-level=9 -attach
916 917 918 919

# 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.
920 921 922 923
#	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)"
924
#	sleep 1 # Make sure operation completes
925
#	cd "$(srcdir)"
926 927

# Unmount the image now
928 929
#	hdiutil detach "$(top_builddir)/vlcmnt/vlc-$(VERSION)"
#	rm -R $(top_builddir)/vlcmnt
930 931 932

# Make sure the image is not writable
# Note: We can't directly create a read only dmg as we do the bless stuff
933 934
	echo "Make the disk image read-only"
	mv "$(top_builddir)/vlc-$(VERSION).dmg" "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
935
	hdiutil convert "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -format UDBZ -o "$(top_builddir)/vlc-$(VERSION).dmg"
936
	rm "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
937 938

# We are done
939 940
	echo "Disk image creation completed:"
	ls -la "$(top_builddir)/vlc-$(VERSION).dmg" ; echo
941 942

# Clean up
943
	rm -Rf "$(top_builddir)/vlc-$(VERSION)"
944

945
package-macosx-zip: VLC-release.app
946 947 948
	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
949
	mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies
950 951
	for i in AUTHORS COPYING ChangeLog README THANKS NEWS; do \
	  cp $(srcdir)/$$i $(top_builddir)/vlc-$(VERSION)/Goodies; \
952 953 954 955
	done
	cp -R  $(srcdir)/extras/package/macosx/Delete_Preferences.app \
	     $(top_builddir)/vlc-$(VERSION)/Goodies
	cp $(srcdir)/extras/package/macosx/README.MacOSX.rtf \
956
	   $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf
957
	zip -r -y -9 $(top_builddir)/vlc-$(VERSION).zip $(top_builddir)/vlc-$(VERSION)
958
	rm -Rf $(top_builddir)/vlc-$(VERSION)
959 960

package-macosx-framework-zip:
961 962 963 964
	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
965 966 967
	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; \
968
	done
969
	zip -r -y -9 $(top_builddir)/vlckit-$(VERSION).zip $(top_builddir)/vlckit-$(VERSION)
970
	rm -Rf $(top_builddir)/vlc-$(VERSION)
971

972
package-translations:
973 974
	@if test -e "$(srcdir)/vlc-translations-$(VERSION)"; then \
	  echo "Error: please remove $(srcdir)/vlc-translations-$(VERSION), it is in the way"; \
975 976
	  false; \
	else \
977
	  echo "OK."; mkdir -p "$(srcdir)/vlc-translations-$(VERSION)"; \
978 979
	fi
# Copy translations
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
980
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
981
	  cp "$(srcdir)/po/$${i}.po" \
982
	    "$(srcdir)/vlc-translations-$(VERSION)/$${i}.po" \
983 984 985
	    || true ; \
	done
	cp "$(srcdir)/doc/translations.txt" \
986
	  "$(srcdir)/vlc-translations-$(VERSION)/README.txt"
987 988 989 990 991 992 993 994 995 996 997 998 999

	echo "#!/bin/sh" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo 'if test $$# != 1; then' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "	echo \"Usage: convert-po.sh <.po file>\"" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "	exit 1" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "fi" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
	echo 'msgfmt --statistics -o vlc.mo $$1' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"

	$(AMTAR) chof - $(srcdir)/vlc-translations-$(VERSION) \
	  | GZIP=$(GZIP_ENV) gzip -c >$(srcdir)/vlc-translations-$(VERSION).tar.gz

1000 1001 1002 1003 1004 1005