Makefile.am 43.4 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
BASE_SUBDIRS = po compat src bin modules share doc test
11
EXTRA_SUBDIRS = m4 \
Rafaël Carré's avatar
Rafaël Carré committed
12
	libs/loader libs/srtp libs/unzip
13
DIST_SUBDIRS = $(BASE_SUBDIRS) $(EXTRA_SUBDIRS)
14

15
SUBDIRS = po compat src
16 17 18
if LOADER
SUBDIRS += libs/loader
endif
19
if HAVE_GCRYPT
20 21
SUBDIRS += libs/srtp
endif
22
if HAVE_ZLIB
23
if !HAVE_MINIZIP
24 25
SUBDIRS += libs/unzip
endif
26
endif
27 28 29
if BUILD_VLC
SUBDIRS += bin
endif
30
SUBDIRS += modules share doc test
31

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

70
dist_noinst_SCRIPTS = bootstrap
71
nodist_noinst_SCRIPTS = compile
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
72

73 74 75 76 77
BUILT_SOURCES_distclean = vlc-config
if HAVE_WIN32
BUILT_SOURCES_distclean += \
	extras/package/win32/vlc.win32.nsi extras/package/win32/spad.nsi
endif
78
if HAVE_DARWIN
79
BUILT_SOURCES_clean = macosx-sdk
80 81 82
else
BUILT_SOURCES_clean =
endif
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
83

84
BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
85

86 87
SUFFIXES = 

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

101
ACLOCAL_AMFLAGS = -I m4
102
AUTOMAKE_OPTIONS = \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
103
	1.11 \
104 105
	-Wall \
	check-news \
106
	dist-xz \
107
	no-dist-gzip
Christophe Mutricy's avatar
Christophe Mutricy committed
108
#	std-options
109

110 111
ChangeLog: Makefile.am
	rm -f -- "$@"
112
	cd doc && $(MAKE) $(AM_MAKEFLAGS) changelogs
KO Myung-Hun's avatar
KO Myung-Hun committed
113
	$(LN_S) -f doc/ChangeLog-2009 "$@"
114

115 116 117 118 119
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
120
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib \
121
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
122
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/designable.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
123
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/keyedobjects.nib \
124
	extras/package/macosx/Resources/English.lproj/About.nib/designable.nib \
125
	extras/package/macosx/Resources/English.lproj/About.nib/keyedobjects.nib \
126
	extras/package/macosx/Resources/English.lproj/Open.nib/designable.nib \
127
	extras/package/macosx/Resources/English.lproj/Open.nib/keyedobjects.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
128
	extras/package/macosx/Resources/English.lproj/Preferences.nib/designable.nib \
129
	extras/package/macosx/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
130
	extras/package/macosx/Resources/English.lproj/Wizard.nib/designable.nib \
131
	extras/package/macosx/Resources/English.lproj/Wizard.nib/keyedobjects.nib \
132
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/designable.nib \
133
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
134
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/designable.nib \
135
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/keyedobjects.nib \
136
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/designable.nib \
137
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/keyedobjects.nib \
138 139 140 141
	extras/package/macosx/Resources/English.lproj/AudioEffects.nib/designable.nib \
	extras/package/macosx/Resources/English.lproj/AudioEffects.nib/keyedobjects.nib \
	extras/package/macosx/Resources/English.lproj/SyncTracks.nib/designable.nib \
	extras/package/macosx/Resources/English.lproj/SyncTracks.nib/keyedobjects.nib \
142 143
	extras/package/macosx/Resources/English.lproj/VideoEffects.nib/designable.nib \
	extras/package/macosx/Resources/English.lproj/VideoEffects.nib/keyedobjects.nib \
144
	extras/package/macosx/Resources/English.lproj/InfoPlist.strings.in \
145
	extras/package/macosx/Resources/dsa_pub.pem \
146 147
	extras/package/macosx/Resources/aiff.icns \
	extras/package/macosx/Resources/audio.icns \
148
	extras/package/macosx/Resources/avi.icns \
149
	extras/package/macosx/Resources/flv.icns \
150
	extras/package/macosx/Resources/generic.icns \
151 152 153
	extras/package/macosx/Resources/m4a.icns \
	extras/package/macosx/Resources/m4v.icns \
	extras/package/macosx/Resources/mkv.icns \
154
	extras/package/macosx/Resources/mov.icns \
155
	extras/package/macosx/Resources/movie.icns \
156 157 158
	extras/package/macosx/Resources/mp3.icns \
	extras/package/macosx/Resources/mpeg.icns \
	extras/package/macosx/Resources/ogg.icns \
159 160 161
	extras/package/macosx/Resources/playlist.icns \
	extras/package/macosx/Resources/rm.icns \
	extras/package/macosx/Resources/subtitle.icns \
162
	extras/package/macosx/Resources/vob.icns \
163 164
	extras/package/macosx/Resources/wav.icns \
	extras/package/macosx/Resources/vlc.icns \
165 166 167 168 169
	extras/package/macosx/Resources/wma.icns \
	extras/package/macosx/Resources/wmv.icns \
	extras/package/macosx/Resources/pause.png \
	extras/package/macosx/Resources/play.png \
	extras/package/macosx/Resources/stop.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
170 171 172
	extras/package/macosx/Resources/display_left.png \
	extras/package/macosx/Resources/display_middle.png \
	extras/package/macosx/Resources/display_right.png \
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
	extras/package/macosx/Resources/display_slider.png \
	extras/package/macosx/Resources/display_track.png \
	extras/package/macosx/Resources/equalizerdrawer_active.png \
	extras/package/macosx/Resources/fullscreen_active.png \
	extras/package/macosx/Resources/next_active.png \
	extras/package/macosx/Resources/playlistdrawer_active.png \
	extras/package/macosx/Resources/previous_active.png \
	extras/package/macosx/Resources/skip_forward_active.png \
	extras/package/macosx/Resources/skip_previous_active.png \
	extras/package/macosx/Resources/volume_high.png \
	extras/package/macosx/Resources/volume_low.png \
	extras/package/macosx/Resources/volumeslider_normal.png \
	extras/package/macosx/Resources/volumetrack.png \
	extras/package/macosx/Resources/about_bg.png \
	extras/package/macosx/Resources/skip_forward_active_embedded.png \
	extras/package/macosx/Resources/play_embedded.png \
	extras/package/macosx/Resources/pause_embedded.png \
	extras/package/macosx/Resources/skip_previous_active_embedded.png \
	extras/package/macosx/Resources/vlc.scriptSuite \
	extras/package/macosx/Resources/vlc.scriptTerminology \
	extras/package/macosx/Resources/README \
	extras/package/macosx/Resources/add_embedded.png \
	extras/package/macosx/Resources/repeat_embedded.png \
	extras/package/macosx/Resources/shuffle_embedded.png \
	extras/package/macosx/Resources/fs_volume_slider_knob_highlight.png \
	extras/package/macosx/Resources/fs_volume_slider_knob.png \
	extras/package/macosx/Resources/fs_volume_slider_bar.png \
	extras/package/macosx/Resources/fs_volume_mute_highlight.png \
	extras/package/macosx/Resources/fs_volume_mute.png \
	extras/package/macosx/Resources/fs_volume_max_highlight.png \
	extras/package/macosx/Resources/fs_volume_max.png \
	extras/package/macosx/Resources/fs_time_slider_knob_highlight.png \
	extras/package/macosx/Resources/fs_time_slider_knob.png \
	extras/package/macosx/Resources/fs_time_slider.png \
	extras/package/macosx/Resources/fs_stop_highlight.png \
	extras/package/macosx/Resources/fs_stop.png \
	extras/package/macosx/Resources/fs_skip_previous_highlight.png \
	extras/package/macosx/Resources/fs_skip_previous.png \
	extras/package/macosx/Resources/fs_skip_next_highlight.png \
	extras/package/macosx/Resources/fs_skip_next.png \
	extras/package/macosx/Resources/fs_rewind_highlight.png \
	extras/package/macosx/Resources/fs_rewind.png \
	extras/package/macosx/Resources/fs_play_highlight.png \
	extras/package/macosx/Resources/fs_play.png \
	extras/package/macosx/Resources/fs_pause_highlight.png \
	extras/package/macosx/Resources/fs_pause.png \
	extras/package/macosx/Resources/fs_forward_highlight.png \
	extras/package/macosx/Resources/fs_forward.png \
	extras/package/macosx/Resources/fs_exit_fullscreen_highlight.png \
	extras/package/macosx/Resources/fs_exit_fullscreen.png \
	extras/package/macosx/Resources/fs_background.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242
	extras/package/macosx/Resources/add_embedded_graphite.png \
	extras/package/macosx/Resources/equalizerdrawer_graphite.png \
	extras/package/macosx/Resources/fullscreen_graphite.png \
	extras/package/macosx/Resources/next_graphite.png \
	extras/package/macosx/Resources/pause_embedded_graphite.png \
	extras/package/macosx/Resources/pause_graphite.png \
	extras/package/macosx/Resources/play_embedded_graphite.png \
	extras/package/macosx/Resources/play_graphite.png \
	extras/package/macosx/Resources/playlistdrawer_graphite.png \
	extras/package/macosx/Resources/previous_graphite.png \
	extras/package/macosx/Resources/repeat_embedded_graphite.png \
	extras/package/macosx/Resources/repeat_single_embedded_graphite.png \
	extras/package/macosx/Resources/shuffle_embedded_graphite.png \
	extras/package/macosx/Resources/skip_forward_embedded_graphite.png \
	extras/package/macosx/Resources/skip_forward_graphite.png \
	extras/package/macosx/Resources/skip_previous_embedded_graphite.png \
	extras/package/macosx/Resources/skip_previous_graphite.png \
	extras/package/macosx/Resources/stop_graphite.png \
	extras/package/macosx/Resources/volumeslider_graphite.png \
243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
	extras/package/macosx/Resources/backward_big_down.png \
	extras/package/macosx/Resources/backward_big.png \
	extras/package/macosx/Resources/eq_sm.pdf \
	extras/package/macosx/Resources/forward_big_down.png \
	extras/package/macosx/Resources/forward_big.png \
	extras/package/macosx/Resources/fs_sm.pdf \
	extras/package/macosx/Resources/list_sm.pdf \
	extras/package/macosx/Resources/next_sm.pdf \
	extras/package/macosx/Resources/pause_big_down.png \
	extras/package/macosx/Resources/pause_big.png \
	extras/package/macosx/Resources/play_big_down.png \
	extras/package/macosx/Resources/play_big.png \
	extras/package/macosx/Resources/prev_sm.pdf \
	extras/package/macosx/Resources/sidebarAdd.png \
	extras/package/macosx/Resources/sidebarRepeat.png \
	extras/package/macosx/Resources/sidebarRepeatOn.png \
	extras/package/macosx/Resources/sidebarRepeatOneOn.png \
	extras/package/macosx/Resources/sidebarResizeWidget.png \
	extras/package/macosx/Resources/sidebarShuffle.png \
	extras/package/macosx/Resources/sidebarShuffleOn.png \
	extras/package/macosx/Resources/sidebarStatusAreaBackground.png \
	extras/package/macosx/Resources/stop_sm.pdf \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
265 266 267 268 269 270 271
	extras/package/macosx/Resources/noart.png \
	extras/package/macosx/Resources/spref_cone_Audio_64.png \
	extras/package/macosx/Resources/spref_cone_Hotkeys_64.png \
	extras/package/macosx/Resources/spref_cone_Input_64.png \
	extras/package/macosx/Resources/spref_cone_Interface_64.png \
	extras/package/macosx/Resources/spref_cone_Subtitles_64.png \
	extras/package/macosx/Resources/spref_cone_Video_64.png \
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 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318
	extras/package/macosx/Resources/back-pressed.png \
	extras/package/macosx/Resources/back.png \
	extras/package/macosx/Resources/bottom-bar-mini.png \
	extras/package/macosx/Resources/effects-double-buttons-blue.png \
	extras/package/macosx/Resources/effects-double-buttons-pressed.png \
	extras/package/macosx/Resources/effects-double-buttons.png \
	extras/package/macosx/Resources/effects-one-button-blue.png \
	extras/package/macosx/Resources/effects-one-button.png \
	extras/package/macosx/Resources/forward-pressed.png \
	extras/package/macosx/Resources/forward.png \
	extras/package/macosx/Resources/fullscreen-double-buttons-pressed.png \
	extras/package/macosx/Resources/fullscreen-double-buttons.png \
	extras/package/macosx/Resources/mainwindow_dark/ \
	extras/package/macosx/Resources/mini-progressbar-fill-left.png \
	extras/package/macosx/Resources/mini-progressbar-fill-middle.png \
	extras/package/macosx/Resources/mini-progressbar-fill-right.png \
	extras/package/macosx/Resources/mini-progressbar-knob.png \
	extras/package/macosx/Resources/mini-progressbar-wrapper-left.png \
	extras/package/macosx/Resources/mini-progressbar-wrapper-middle.png \
	extras/package/macosx/Resources/mini-progressbar-wrapper-right.png \
	extras/package/macosx/Resources/pause-pressed.png \
	extras/package/macosx/Resources/play-pressed.png \
	extras/package/macosx/Resources/playlist-blue.png \
	extras/package/macosx/Resources/playlist-pressed.png \
	extras/package/macosx/Resources/playlist.png \
	extras/package/macosx/Resources/progression-fill-left.png \
	extras/package/macosx/Resources/progression-fill-middle.png \
	extras/package/macosx/Resources/progression-fill-right.png \
	extras/package/macosx/Resources/progression-knob.png \
	extras/package/macosx/Resources/progression-track-wrapper-left.png \
	extras/package/macosx/Resources/progression-track-wrapper-middle.png \
	extras/package/macosx/Resources/progression-track-wrapper-right.png \
	extras/package/macosx/Resources/repeat-all-pressed.png \
	extras/package/macosx/Resources/repeat-all.png \
	extras/package/macosx/Resources/repeat-one-pressed.png \
	extras/package/macosx/Resources/repeat-one.png \
	extras/package/macosx/Resources/repeat-pressed.png \
	extras/package/macosx/Resources/repeat.png \
	extras/package/macosx/Resources/shuffle-blue-pressed.png \
	extras/package/macosx/Resources/shuffle-on.png \
	extras/package/macosx/Resources/shuffle-pressed.png \
	extras/package/macosx/Resources/shuffle.png \
	extras/package/macosx/Resources/stop-pressed.png \
	extras/package/macosx/Resources/volume-high.png \
	extras/package/macosx/Resources/volume-low.png \
	extras/package/macosx/Resources/volume-slider-knob.png \
	extras/package/macosx/Resources/volume-slider-track.png \
319 320 321 322 323 324 325 326 327 328
	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
329 330 331 332 333 334
	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
335
	extras/package/macosx/README.MacOSX.rtf \
336
	extras/package/macosx/Info.plist.in
Felix Paul Kühne's avatar
Felix Paul Kühne committed
337

338 339

###############################################################################
Rafaël Carré's avatar
Rafaël Carré committed
340
# Various utilities ( editor syntax files, D-Bus controller ... )
341 342
##############################################################################
EXTRA_DIST += \
343
	extras/analyser/zsh_completion.sh \
344 345 346 347
	extras/analyser/zsh.cpp \
	extras/analyser/emacs.init \
	extras/analyser/vlc.vim \
	extras/analyser/valgrind.suppressions \
348
	extras/buildsystem/make.pl \
349
	extras/misc/mpris.py \
Pierre Ynard's avatar
Pierre Ynard committed
350
	extras/misc/mpris.xml
351

352 353 354 355
###############################################################################
# Building libvlc
###############################################################################

356
noinst_SCRIPTS = vlc-config
357
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
358 359
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
360
	touch $@
361

362 363
vlc-config.in: vlc-config.in.in
	./config.status --recheck
364
	touch $@
365

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
366
CLEANFILES = $(BUILT_SOURCES_clean)
367 368
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
MAINTAINERCLEANFILES = ChangeLog
369

370
# Shortcut for developers to rebuild the core (libvlc + vlc)
371 372
# Don't use it if you don't know what it is about.
# Don't complain if it doesn't work. -- Courmisch
373 374 375 376
libcompat:
	cd compat && $(MAKE) $(AM_MAKEFLAGS)

libvlc: libcompat
377
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
378

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

382 383 384 385
doc:
	cd doc && $(MAKE) $(AM_MAKEFLAGS) doc

.PHONY: libvlc core doc
386

387 388 389 390
###############################################################################
# Building aliases
###############################################################################

391
ALL_ALIASES = cvlc rvlc svlc qvlc nvlc mvlc
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
392
bin_SCRIPTS = $(ALIASES)
393
CLEANFILES += $(ALIASES) $(noinst_SCRIPTS)
394 395 396 397
EXTRA_SCRIPTS = $(ALL_ALIASES)

dist_noinst_SCRIPTS += make-alias

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

400
cvlc: make-alias Makefile
401
	$(AM_V_GEN)$(MKALIAS) dummy
402

403
rvlc: make-alias Makefile
404
	$(AM_V_GEN)$(MKALIAS) rc
405

406
svlc: make-alias Makefile
407
	$(AM_V_GEN)$(MKALIAS) skins2
408

409
qvlc: make-alias Makefile
410
	$(AM_V_GEN)$(MKALIAS) qt4
411

412
nvlc: make-alias Makefile
413
	$(AM_V_GEN)$(MKALIAS) ncurses
414

415
mvlc: make-alias Makefile
416
	$(AM_V_GEN)$(MKALIAS) maemo
417

418
if BUILD_VLC
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
419
noinst_SCRIPTS += vlc$(EXEEXT)
420
endif
421

422
vlc$(EXEEXT):
KO Myung-Hun's avatar
KO Myung-Hun committed
423
	$(AM_V_GEN)$(LN_S) -f bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
424

425
if HAVE_DARWIN
426
if BUILD_MACOSX_VLC_APP
427
# Create the MacOS X app
428
noinst_DATA = VLC.app
429
endif
430 431
endif

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

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

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

668 669 670 671 672
###############################################################################
# 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
673
# the same setup as the maintaner(s).
674
#
675

676 677 678
############################################################################
## Win                                                                    ##
############################################################################
679
destdir=$(prefix)
680
win32_destdir=$(top_builddir)/vlc-$(VERSION)
681
win32_debugdir=$(top_builddir)/symbols-$(VERSION)
682
win32_xpi_destdir=$(win32_destdir)/vlc-plugin
683

684 685 686 687 688 689 690 691 692 693 694 695 696 697
if HAVE_WIN64
build-npapi:
	touch $@

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

build-activex:
	touch $@
else
698 699
if HAVE_WIN32
include extras/package/npapi.am
Rafaël Carré's avatar
Rafaël Carré committed
700
include extras/package/activex.am
701
endif
702 703
endif
endif
704

705
#Win-common is for win32 and wince
Rafaël Carré's avatar
Rafaël Carré committed
706
package-win-common: install build-npapi build-activex
707
# Check that tmp isn't in the way
708
	@if test -e "$(win32_destdir)"; then \
709 710 711 712 713
	    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; \
714
	else \
715 716
	    echo "Debug dir OK."; mkdir -p "$(win32_debugdir)"; \
	    echo "Dest dir OK."; mkdir -p "$(win32_destdir)"; \
717
	fi
718

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

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

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

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

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

740
if BUILD_LUA
741 742 743
	mkdir -p $(win32_destdir)/lua
	cp -r $(destdir)/lib/vlc/lua/* $(win32_destdir)/lua
	cp -r $(destdir)/share/vlc/lua/* $(win32_destdir)/lua
744 745 746
endif

if BUILD_SKINS
747
	cp -r $(destdir)/share/vlc/skins2 $(win32_destdir)/skins
748 749
endif
if BUILD_OSDMENU
750
	cp -r $(destdir)/share/vlc/osdmenu "$(win32_destdir)/osdmenu"
751
	for file in $(win32_destdir)/osdmenu/*.cfg; do \
752 753 754
		sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
		sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
		rm -f -- "$$file.tmp"; \
755
	done
756
endif
Rafaël Carré's avatar
Rafaël Carré committed
757
if !HAVE_WIN64
758
if !HAVE_WINCE
Rafaël Carré's avatar
Rafaël Carré committed
759 760 761 762
	cp "$(top_builddir)/activex-vlc/src/axvlc.dll.manifest" "$(win32_destdir)/"
	cp "$(top_builddir)/activex-vlc/installed/lib/axvlc.dll" "$(win32_destdir)/"
	cp "$(top_builddir)/npapi-vlc/src/npvlc.dll.manifest" "$(win32_destdir)/"
	cp "$(top_builddir)/npapi-vlc/installed/lib/npvlc.dll" "$(win32_destdir)/"
763
endif
764
endif
765

766
# SDK
767
	mkdir -p "$(win32_destdir)/sdk/lib"
768 769 770
	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 \
771
        cp -rv $(destdir)/lib/$$file "$(win32_destdir)/sdk/lib"; done
Rafaël Carré's avatar
Rafaël Carré committed
772
if !HAVE_WIN64
773
if !HAVE_WINCE
774
	mkdir -p "$(win32_destdir)/sdk/activex"
Rafaël Carré's avatar
Rafaël Carré committed
775 776
	cp $(top_builddir)/activex-vlc/README $(win32_destdir)/sdk/activex/README.TXT
	cp $(top_builddir)/activex-vlc/src/test.html $(win32_destdir)/sdk/activex/
777
endif
778
endif
779

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

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

788
package-win-base: package-win-common
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
789
	find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -or -name '*$(EXEEXT)' \) | while read i; \
790
	do if test -n "$$i" ; then \
791 792 793 794 795 796 797
	    $(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
798
package-win32-webplugin-common: package-win-base
799 800
	mkdir -p "$(win32_xpi_destdir)/plugins"
	find $(destdir) -maxdepth 4 -name "*$(LIBEXT)" -exec cp {} "$(win32_xpi_destdir)/" \;
801
if !HAVE_WIN64
Rafaël Carré's avatar
Rafaël Carré committed
802
	cp $(top_builddir)/npapi-vlc/src/npvlc.dll.manifest "$(win32_xpi_destdir)/plugins"
803
endif
804 805 806 807
	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*"
808

Rafaël Carré's avatar
Rafaël Carré committed
809
package-win32-xpi: package-win32-webplugin-common
810
if !HAVE_WIN64
811
	cp $(top_builddir)/npapi-vlc/src/install.rdf "$(win32_xpi_destdir)"
812
	cd $(win32_xpi_destdir) && zip -r "../vlc-$(VERSION).xpi" install.rdf plugins
813
endif
814

Rafaël Carré's avatar
Rafaël Carré committed
815
package-win32-crx: package-win32-webplugin-common
816
if !HAVE_WIN64
817
	cp $(top_builddir)/npapi-vlc/src/manifest.json "$(win32_xpi_destdir)"
818 819
	crxmake --pack-extension "$(win32_xpi_destdir)" \
		--extension-output "$(win32_destdir)/vlc-$(VERSION).crx" --ignore-file install.rdf
820
endif
821

Rafaël Carré's avatar
Rafaël Carré committed
822
package-win32-base-exe: package-win-base
823 824 825 826 827 828 829 830 831 832
# 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"

833
# Create package
834
	if makensis -VERSION >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
835
	    MAKENSIS="makensis"; \
836
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
837
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
838
	elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
839
	    MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
Rafaël Carré's avatar
typo  
Rafaël Carré committed
840
	elif wine --version >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
841
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
842 843 844
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
845
	eval "$$MAKENSIS $(win32_destdir)/spad.nsi"; \
846
	eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
847

848
package-win32-base-zip: package-win-base
849
# Create package
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
850
	rm -f -- vlc-$(VERSION)-win32.zip
851
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
852

853
package-win32-base-debug-zip: package-win-common
854 855 856 857
# Create package
	rm -f -- vlc-$(VERSION)-win32-debug.zip
	zip -r -9 vlc-$(VERSION)-win32-debug.zip vlc-$(VERSION)

858
package-win32-base-7zip: package-win-base
859
# Create package
860
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
861

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

866
package-win32-cleanup:
867
	rm -Rf $(win32_destdir) $(win32_debugdir)
868

869
package-win32-exe: package-win-base package-win32-base-exe package-win32-cleanup
Gildas Bazin's avatar
 
Gildas Bazin committed
870

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

873
package-win32-debug-zip: package-win32-base-debug-zip package-win32-cleanup
874

875 876 877
package-win32-7zip: package-win32-base-7zip package-win32-cleanup

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

879
package-win32-no-clean: package-win32-base-zip package-win32-base-7zip package-win32-base-exe package-win32-xpi
880

881
package-win32: package-win32-no-clean package-win32-cleanup
882

883
package-win32-debug: package-win32-base-debug-zip package-win32-base-debug-7zip package-win32-cleanup
884

885

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
886 887 888
#######
# WinCE
#######
889
package-wince-base: package-win-base
890

891
package-wince-base-zip: package-wince-base
892
# Create package
893 894
	rm -f -- vlc-$(VERSION)-wince.zip
	zip -r -9 vlc-$(VERSION)-wince.zip vlc-$(VERSION)
895

896
package-wince: package-wince-base-zip package-win32-cleanup
897 898


899 900 901
#########################################################################
## MacOS X                                                             ##
#########################################################################
902
package-macosx: VLC-release.app ChangeLog
903
# Check that the temporary location isn't in the way
904 905
	@if test -e "$(top_builddir)/vlc-$(VERSION)/"; then \
	  rm -Rf "$(top_builddir)/vlc-$(VERSION)/" ; \
906 907
	fi

908 909
	echo "Create package directory: vlc-$(VERSION)/";
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/";
910

911
# Copy relevant files 
912
	@if test -e "$(top_builddir)/VLC-release.app/"; then \
913
	  cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
914
	else \
915
	  cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
916
	fi
917
	mkdir -p $(top_builddir)/vlc-$(VERSION)/Goodies/ && \
918
          mkdir -p $(top_builddir)/vlc-$(VERSION)/.background/ && \
919 920 921 922 923
          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/
924 925

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

928
# Create disk image (temporarily taken from the 0.8.6-bugfix branch to provide reliable NBs)
929 930
	echo "Creating disk image"
	rm -f "$(top_builddir)/vlc-$(VERSION).dmg"
931
	hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" \
932 933 934
	  "$(top_builddir)/vlc-$(VERSION).dmg" -scrub
	echo "Disk image creation completed:"
	ls -la "$(top_builddir)/vlc-$(VERSION).dmg" ; echo
935 936

# Create disk image 
937 938
#	echo "Creating disk image"
#	rm -f "$(top_builddir)/vlc-$(VERSION).dmg"
939 940
#	hdiutil create -verbose -srcfolder "$(top_builddir)/vlc-$(VERSION)" \
#	  "$(top_builddir)/vlc-$(VERSION).dmg" -format UDRW \
941
#	  -scrub -imagekey zlib-level=9 -attach
942 943 944 945

# 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.
946 947 948 949
#	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)"
950
#	sleep 1 # Make sure operation completes
951
#	cd "$(srcdir)"
952 953

# Unmount the image now
954 955
#	hdiutil detach "$(top_builddir)/vlcmnt/vlc-$(VERSION)"
#	rm -R $(top_builddir)/vlcmnt
956 957 958

# Make sure the image is not writable
# Note: We can't directly create a read only dmg as we do the bless stuff
959 960
	echo "Make the disk image read-only"
	mv "$(top_builddir)/vlc-$(VERSION).dmg" "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
961
	hdiutil convert "$(top_builddir)/vlc-$(VERSION)-rw.dmg" -format UDBZ -o "$(top_builddir)/vlc-$(VERSION).dmg"
962
	rm "$(top_builddir)/vlc-$(VERSION)-rw.dmg"
963 964

# We are done