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

5 6 7
# SUBDIRS stores the directories where a "make" is required when building
# something. DIST_SUBDIRS stores the directories where nothing is built but
# which have makefiles with distribution information.
Rafaël Carré's avatar
Rafaël Carré committed
8
#  - src (libvlccore) is nedeed by modules
9
DIST_SUBDIRS = m4 compat doc po share src modules lib bin test
10
SUBDIRS = compat doc po share src modules lib
11 12 13
if BUILD_VLC
SUBDIRS += bin
endif
14
SUBDIRS += test
15

16
EXTRA_DIST = \
17
	extras/package/win32/vlc.exe.manifest \
18
	extras/package/win32/libvlc.dll.manifest \
19 20 21 22 23 24 25 26
	extras/package/win32/peflags.pl \
	extras/package/win32/change-contribs-directory.sh \
	extras/package/win32/configure-common.sh \
	extras/package/win32/configure-cygwin.sh \
	extras/package/win32/configure-mingw64.sh \
	extras/package/win32/configure-mingw-release.sh \
	extras/package/win32/configure-mingw.sh \
	extras/package/win32/configure-msys.sh \
27
	extras/package/macosx/README.MacOSX.rtf \
28 29
	extras/package/rpm/vlc.fedora.spec \
	extras/package/rpm/vlc.altlinux.spec \
30
	extras/package/win32/vlc.win32.nsi.in \
31
	extras/package/win32/spad.nsi.in \
32 33
	extras/package/win32/UAC.nsh \
	extras/package/win32/UAC.dll \
34
	extras/package/win32/languages/declaration.nsh \
Christophe Mutricy's avatar
Christophe Mutricy committed
35
	extras/package/win32/languages/bengali.nsh \
36
	extras/package/win32/languages/basque.nsh \
Christophe Mutricy's avatar
Christophe Mutricy committed
37 38 39
	extras/package/win32/languages/brazilian_portuguese.nsh \
	extras/package/win32/languages/bulgarian.nsh \
	extras/package/win32/languages/catalan.nsh \
40
	extras/package/win32/languages/danish.nsh \
Christophe Mutricy's avatar
Christophe Mutricy committed
41
	extras/package/win32/languages/dutch.nsh \
42
	extras/package/win32/languages/english.nsh \
Christophe Mutricy's avatar
Christophe Mutricy committed
43 44 45 46 47 48 49
	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
50
	extras/package/win32/languages/lithuanian.nsh \
Christophe Mutricy's avatar
Christophe Mutricy committed
51 52 53 54 55 56 57 58
	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 \
59
	extras/package/win32/languages/spanish.nsh
60

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

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
64
BUILT_SOURCES_distclean =
65 66 67 68
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
69

70
BUILT_SOURCES = $(BUILT_SOURCES_distclean)
71

72 73
SUFFIXES = 

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

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

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

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

EXTRA_DIST += \
106 107
	extras/package/macosx/Resources/about_bg.png \
	extras/package/macosx/Resources/dsa_pub.pem \
108 109 110 111 112 113 114 115 116 117 118 119
	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 \
120 121 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
	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 \
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 172 173
	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 \
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
	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 \
197
	extras/package/macosx/Resources/mainwindow/bottom-background.png \
198
	extras/package/macosx/Resources/mainwindow/bottombar-mini.png \
199 200
	extras/package/macosx/Resources/mainwindow/dropzone-background.png \
	extras/package/macosx/Resources/mainwindow/dropzone.png \
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
	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 \
238
	extras/package/macosx/Resources/mainwindow/shuffle-blue.png \
239 240 241 242 243 244 245 246 247 248
	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 \
249
	extras/package/macosx/Resources/mainwindow_dark/bottom-background_dark.png \
250
	extras/package/macosx/Resources/mainwindow_dark/bottombar-mini.png \
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 292 293 294 295 296 297 298
	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 \
299 300 301 302 303 304 305
	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 \
306 307
	extras/package/macosx/Resources/vlc.scriptSuite \
	extras/package/macosx/Resources/vlc.scriptTerminology \
308 309 310 311 312 313 314 315 316 317
	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
318 319 320 321 322 323
	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
324
	extras/package/macosx/README.MacOSX.rtf \
325
	extras/package/macosx/Info.plist.in
Felix Paul Kühne's avatar
Felix Paul Kühne committed
326

327 328

###############################################################################
Rafaël Carré's avatar
Rafaël Carré committed
329
# Various utilities ( editor syntax files, D-Bus controller ... )
330 331
##############################################################################
EXTRA_DIST += \
332
	extras/analyser/zsh_completion.sh \
333 334 335 336
	extras/analyser/zsh.cpp \
	extras/analyser/emacs.init \
	extras/analyser/vlc.vim \
	extras/analyser/valgrind.suppressions \
337
	extras/buildsystem/make.pl \
338
	extras/misc/mpris.py \
Pierre Ynard's avatar
Pierre Ynard committed
339
	extras/misc/mpris.xml
340

341 342 343 344 345 346 347
###############################################################################
# Scripts for building dependencies.
##############################################################################
EXTRA_DIST += \
	contrib/bootstrap \
	contrib/src/

348 349 350 351
###############################################################################
# Building libvlc
###############################################################################

352
CLEANFILES =
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
353
DISTCLEANFILES = $(BUILT_SOURCES_distclean) compile
354
MAINTAINERCLEANFILES = ChangeLog
355

356
# Shortcut for developers to rebuild the core (libvlc + vlc)
357 358
# Don't use it if you don't know what it is about.
# Don't complain if it doesn't work. -- Courmisch
359 360 361
libcompat:
	cd compat && $(MAKE) $(AM_MAKEFLAGS)

362 363 364 365 366
libvlccore: libcompat
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlccore.la

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

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

371 372 373 374
doc:
	cd doc && $(MAKE) $(AM_MAKEFLAGS) doc

.PHONY: libvlc core doc
375

376 377 378 379
###############################################################################
# Building aliases
###############################################################################

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

dist_noinst_SCRIPTS += make-alias

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

389
cvlc: make-alias Makefile
390
	$(AM_V_GEN)$(MKALIAS) dummy
391

392
rvlc: make-alias Makefile
393
	$(AM_V_GEN)$(MKALIAS) rc
394

395
svlc: make-alias Makefile
396
	$(AM_V_GEN)$(MKALIAS) skins2
397

398
qvlc: make-alias Makefile
399
	$(AM_V_GEN)$(MKALIAS) qt4
400

401
nvlc: make-alias Makefile
402
	$(AM_V_GEN)$(MKALIAS) ncurses
403

404
mvlc: make-alias Makefile
405
	$(AM_V_GEN)$(MKALIAS) maemo
406

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

411
vlc$(EXEEXT):
KO Myung-Hun's avatar
KO Myung-Hun committed
412
	$(AM_V_GEN)$(LN_S) -f bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
413

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

421 422 423 424 425 426 427 428 429 430 431 432
###############################################################################
# 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

433
silentstd = $(silentstd_$(V))
434
silentstd_ = $(silentstd_$(AM_DEFAULT_VERBOSITY))
435
silentstd_0 = 2>&1 >/dev/null
436

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

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

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

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

Rafaël Carré's avatar
Rafaël Carré committed
673 674 675 676
package-win-install:
	$(MAKE) install
	touch $@

677
#Win-common is for win32 and wince
Rafaël Carré's avatar
Rafaël Carré committed
678 679 680
package-win-common: package-win-install build-npapi
	mkdir -p "$(win32_debugdir)"
	mkdir -p "$(win32_destdir)"
681

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

688
# Text files and clean them
Rafaël Carré's avatar
Rafaël Carré committed
689
	for file in AUTHORS THANKS ; \
690
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(win32_destdir)/$${file}.txt" ; done;
Christophe Mutricy's avatar
Christophe Mutricy committed
691
	for file in NEWS COPYING README; \
692
	  do cp "$(srcdir)/$$file" "$(win32_destdir)/$${file}.txt"; done
693

694
# Necessary icon
695
	cp $(srcdir)/share/icons/vlc.ico $(win32_destdir)
Luca Barbato's avatar
Luca Barbato committed
696

697
# Locales
698
	-cp -r $(destdir)/share/locale $(win32_destdir)
699

700
# Plugins
701
	cp -r $(destdir)/lib/vlc/plugins $(win32_destdir)
702

703
if BUILD_LUA
704 705 706
	mkdir -p $(win32_destdir)/lua
	cp -r $(destdir)/lib/vlc/lua/* $(win32_destdir)/lua
	cp -r $(destdir)/share/vlc/lua/* $(win32_destdir)/lua
707 708 709
endif

if BUILD_SKINS
710
	cp -r $(destdir)/share/vlc/skins2 $(win32_destdir)/skins
711 712
endif
if BUILD_OSDMENU
713
	cp -r $(destdir)/share/vlc/osdmenu "$(win32_destdir)/osdmenu"
714
	for file in $(win32_destdir)/osdmenu/*.cfg; do \
715 716 717
		sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
		sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
		rm -f -- "$$file.tmp"; \
718
	done
719
endif
720

721
if !HAVE_WINCE
722
if !HAVE_WIN64
723 724
	cp "$(top_builddir)/npapi-vlc/activex/axvlc.dll.manifest" "$(win32_destdir)/"
	cp "$(top_builddir)/npapi-vlc/installed/lib/axvlc.dll" "$(win32_destdir)/"
725
endif
726
	cp "$(top_builddir)/npapi-vlc/npapi/npvlc.dll.manifest" "$(win32_destdir)/"
Rafaël Carré's avatar
Rafaël Carré committed
727
	cp "$(top_builddir)/npapi-vlc/installed/lib/npvlc.dll" "$(win32_destdir)/"
728
endif
729

730 731 732
# Compiler shared DLLs, when using compilers built with --enable-shared
# If gcc_s_sjlj/stdc++-6 DLLs exist, our C++ modules were linked to them
	gcc_lib_dir=`$(CXX) -v /dev/null 2>&1 | grep ^LIBRARY_PATH|cut -d= -f2|cut -d: -f1` ; \
733 734
	cp "$${gcc_lib_dir}/libstdc++-6.dll" "$${gcc_lib_dir}/libgcc_s_sjlj-1.dll" "$(win32_destdir)/" ; true

735
# SDK
736
	mkdir -p "$(win32_destdir)/sdk/lib"
737
	cp -r $(destdir)/include "$(win32_destdir)/sdk"
738 739
	cp -r $(destdir)/lib/pkgconfig "$(win32_destdir)/sdk/lib"
	for file in libvlc.dll.a libvlc.la libvlccore.dll.a libvlccore.la; do \
740 741
		cp -rv $(destdir)/lib/$$file "$(win32_destdir)/sdk/lib"; \
	done
742
if !HAVE_WINCE
743 744
	$(DLLTOOL) -D libvlc.dll -l "$(win32_destdir)/sdk/lib/libvlc.lib" -d "$(top_builddir)/lib/.libs/libvlc.dll.def" "$(destdir)/bin/libvlc.dll"
	$(DLLTOOL) -D libvlccore.dll -l "$(win32_destdir)/sdk/lib/libvlccore.lib" -d "$(top_builddir)/src/.libs/libvlccore.dll.def" "$(destdir)/bin/libvlccore.dll"
745

Rafaël Carré's avatar
Rafaël Carré committed
746
if !HAVE_WIN64
747
	mkdir -p "$(win32_destdir)/sdk/activex"
748 749
	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/
750
endif
751
endif
752

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

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

Rafaël Carré's avatar
Rafaël Carré committed
759
package-win-strip: package-win-common
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
760
	find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -or -name '*$(EXEEXT)' \) | while read i; \
761
	do if test -n "$$i" ; then \
762 763 764 765 766 767 768
	    $(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
769
package-win32-webplugin-common: package-win-strip
770 771
	mkdir -p "$(win32_xpi_destdir)/plugins"
	find $(destdir) -maxdepth 4 -name "*$(LIBEXT)" -exec cp {} "$(win32_xpi_destdir)/" \;
772
	cp $(top_builddir)/npapi-vlc/npapi/npvlc.dll.manifest "$(win32_xpi_destdir)/plugins"
773 774 775 776
	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*"
777

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

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

Rafaël Carré's avatar
Rafaël Carré committed
787
package-win32-exe: package-win-strip
788 789 790
# Script installer
	cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/"
	cp "$(top_builddir)/extras/package/win32/spad.nsi" "$(win32_destdir)/"
Rafaël Carré's avatar
Rafaël Carré committed
791
	mkdir -p "$(win32_destdir)/languages"
792 793 794 795 796 797
	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"

798
# Create package
799
	if makensis -VERSION >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
800
	    MAKENSIS="makensis"; \
801
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
802
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
803
	elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
804
	    MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
Rafaël Carré's avatar
typo  
Rafaël Carré committed
805
	elif wine --version >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
806
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
807 808 809
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
810
	eval "$$MAKENSIS $(win32_destdir)/spad.nsi"; \
811
	eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
812

Rafaël Carré's avatar
Rafaël Carré committed
813
package-win32-zip: package-win-strip
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
814
	rm -f -- vlc-$(VERSION)-win32.zip
815
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
816

Rafaël Carré's avatar
Rafaël Carré committed
817
package-win32-debug-zip: package-win-common
818 819 820
	rm -f -- vlc-$(VERSION)-win32-debug.zip
	zip -r -9 vlc-$(VERSION)-win32-debug.zip vlc-$(VERSION)

Rafaël Carré's avatar
Rafaël Carré committed
821
package-win32-7zip: package-win-strip
822
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
823

Rafaël Carré's avatar
Rafaël Carré committed
824
package-win32-debug-7zip: package-win-common
825 826
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32-debug.7z vlc-$(VERSION)

827
package-win32-cleanup:
828
	rm -Rf $(win32_destdir) $(win32_debugdir)
829

Rafaël Carré's avatar
Rafaël Carré committed
830
package-win32: package-win32-zip package-win32-7zip package-win32-exe package-win32-xpi
831

Rafaël Carré's avatar
Rafaël Carré committed
832
package-win32-debug: package-win32-debug-zip package-win32-debug-7zip
833

834

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
835 836 837
#######
# WinCE
#######
Rafaël Carré's avatar
Rafaël Carré committed
838
package-wince: package-win-strip
839 840
	rm -f -- vlc-$(VERSION)-wince.zip
	zip -r -9 vlc-$(VERSION)-wince.zip vlc-$(VERSION)
841

Rafaël Carré's avatar
Rafaël Carré committed
842
.PHONY: package-win-install package-win-common package-win-strip package-win32-webplugin-common package-win32-xpi package-win32-crx package-win32-exe package-win32-zip package-win32-debug-zip package-win32-7zip package-win32-debug-7zip package-win32-cleanup package-win32 package-win32-debug package-wince
843

844 845 846
#########################################################################
## MacOS X                                                             ##
#########################################################################
847
package-macosx: VLC-release.app ChangeLog
Rafaël Carré's avatar
Rafaël Carré committed
848
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/"
849
	@if test -e "$(top_builddir)/VLC-release.app/"; then \
850
	  cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
851
	else \
852
	  cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
853
	fi
Rafaël Carré's avatar
Rafaël Carré committed
854 855
	mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies/
	for i in AUTHORS COPYING README THANKS NEWS; do \
Rafaël Carré's avatar
Rafaël Carré committed
856
	  cp $(srcdir)/$$i $(top_builddir)/vlc-$(VERSION)/Goodies/; \
Rafaël Carré's avatar
Rafaël Carré committed
857 858 859 860 861 862 863 864 865
	done
	cp $(top_builddir)/ChangeLog $(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
	mkdir -p $(top_builddir)/vlc-$(VERSION)/.background/
	cp $(srcdir)/extras/package/macosx/Resources/about_bg.png $(top_builddir)/vlc-$(VERSION)/.background/background.png
	$(LN_S) /Applications $(top_builddir)/vlc-$(VERSION)/
	rm -f "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
	hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -scrub
866 867
# Make sure the image is not writable
# Note: We can't directly create a read only dmg as we do the bless stuff
868
	hdiutil convert "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -format UDBZ -o "$(top_builddir)/vlc-$(VERSION).dmg"
Rafaël Carré's avatar
Rafaël Carré committed
869
	ls -l "$(top_builddir)/vlc-$(VERSION).dmg"
870

871
package-macosx-zip: VLC-release.app
872 873
	mkdir -p $(top_builddir)/vlc-$(VERSION)
	cp -R $(top_builddir)/VLC-release.app $(top_builddir)/vlc-$(VERSION)/VLC.app
874
	mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies
875 876
	for i in AUTHORS COPYING ChangeLog README THANKS NEWS; do \
	  cp $(srcdir)/$$i $(top_builddir)/vlc-$(VERSION)/Goodies; \
877 878 879 880
	done
	cp -R  $(srcdir)/extras/package/macosx/Delete_Preferences.app \
	     $(top_builddir)/vlc-$(VERSION)/Goodies
	cp $(srcdir)/extras/package/macosx/README.MacOSX.rtf \
881
	   $(top_builddir)/vlc-$(VERSION)/Read\ Me.rtf
882
	zip -r -y -9 $(top_builddir)/vlc-$(VERSION).zip $(top_builddir)/vlc-$(VERSION)
883 884

package-macosx-framework-zip:
885
	mkdir -p $(top_builddir)/vlckit-$(VERSION)
Rafaël Carré's avatar
Rafaël Carré committed
886
	cp -R $(srcdir)/projects/macosx/framework/build/Debug/VLCKit.framework $(top_builddir)/vlckit-$(VERSION)/
887 888 889
	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; \
890
	done
891
	zip -r -y -9 $(top_builddir)/vlckit-$(VERSION).zip $(top_builddir)/vlckit-$(VERSION)
892

893
package-translations:
Rafaël Carré's avatar
Rafaël Carré committed
894
	mkdir -p "$(srcdir)/vlc-translations-$(VERSION)"
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
895
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
896
	  cp "$(srcdir)/po/$${i}.po" \
897
	    "$(srcdir)/vlc-translations-$(VERSION)/$${i}.po" \
898 899 900
	    || true ; \
	done
	cp "$(srcdir)/doc/translations.txt" \
901
	  "$(srcdir)/vlc-translations-$(VERSION)/README.txt"
902 903 904 905 906 907 908 909 910 911 912 913 914

	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

Rafaël Carré's avatar
Rafaël Carré committed
915
.PHONY: package-macosx package-macosx-zip package-macosx-framework-zip package-translations
916 917 918 919 920 921
###############################################################################
# PO translation files update
###############################################################################
.PHONY: update-po

update-po:
922
	cd po && $(MAKE) POTFILES vlc.pot update-po