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

5 6 7
# SUBDIRS stores the directories where a "make" is required when building
# something. DIST_SUBDIRS stores the directories where nothing is built but
# which have makefiles with distribution information.
8 9
#  - src (libvlc) is nedeed by modules, mozilla and bindings
#  - libs/* are needed by modules
10
BASE_SUBDIRS = po compat src bin modules share doc test
11
EXTRA_SUBDIRS = m4 \
12
	libs/loader libs/srtp libs/unzip \
13
	projects/mozilla projects/activex
14
DIST_SUBDIRS = $(BASE_SUBDIRS) $(EXTRA_SUBDIRS)
15

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

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

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

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

92
BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
93

94 95
SUFFIXES = 

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

108
ACLOCAL_AMFLAGS = -I m4
109
AUTOMAKE_OPTIONS = \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
110
	1.11 \
111 112
	-Wall \
	check-news \
113
	dist-xz \
114
	no-dist-gzip
Christophe Mutricy's avatar
Christophe Mutricy committed
115
#	std-options
116

117 118
ChangeLog: Makefile.am
	rm -f -- "$@"
119
	cd doc && $(MAKE) $(AM_MAKEFLAGS) changelogs
120
	ln -sf doc/ChangeLog-2009 "$@"
121

122 123 124 125 126
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
127
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib \
128
	extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
129
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/designable.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
130
	extras/package/macosx/Resources/English.lproj/MediaInfo.nib/keyedobjects.nib \
131
	extras/package/macosx/Resources/English.lproj/About.nib/designable.nib \
132
	extras/package/macosx/Resources/English.lproj/About.nib/keyedobjects.nib \
133
	extras/package/macosx/Resources/English.lproj/Open.nib/designable.nib \
134
	extras/package/macosx/Resources/English.lproj/Open.nib/keyedobjects.nib \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
135
	extras/package/macosx/Resources/English.lproj/Preferences.nib/designable.nib \
136
	extras/package/macosx/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
137
	extras/package/macosx/Resources/English.lproj/Wizard.nib/designable.nib \
138
	extras/package/macosx/Resources/English.lproj/Wizard.nib/keyedobjects.nib \
139
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/designable.nib \
140
	extras/package/macosx/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
141
	extras/package/macosx/Resources/English.lproj/Extended.nib/designable.nib \
142
	extras/package/macosx/Resources/English.lproj/Extended.nib/keyedobjects.nib \
143
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/designable.nib \
144
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/keyedobjects.nib \
145
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/designable.nib \
146
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/keyedobjects.nib \
147
	extras/package/macosx/Resources/English.lproj/InfoPlist.strings.in \
148
	extras/package/macosx/Resources/dsa_pub.pem \
149 150
	extras/package/macosx/Resources/aiff.icns \
	extras/package/macosx/Resources/audio.icns \
151
	extras/package/macosx/Resources/avi.icns \
152
	extras/package/macosx/Resources/flv.icns \
153
	extras/package/macosx/Resources/generic.icns \
154 155 156
	extras/package/macosx/Resources/m4a.icns \
	extras/package/macosx/Resources/m4v.icns \
	extras/package/macosx/Resources/mkv.icns \
157
	extras/package/macosx/Resources/mov.icns \
158
	extras/package/macosx/Resources/movie.icns \
159 160 161
	extras/package/macosx/Resources/mp3.icns \
	extras/package/macosx/Resources/mpeg.icns \
	extras/package/macosx/Resources/ogg.icns \
162 163 164
	extras/package/macosx/Resources/playlist.icns \
	extras/package/macosx/Resources/rm.icns \
	extras/package/macosx/Resources/subtitle.icns \
165
	extras/package/macosx/Resources/vob.icns \
166 167
	extras/package/macosx/Resources/wav.icns \
	extras/package/macosx/Resources/vlc.icns \
168 169 170 171 172 173 174 175
	extras/package/macosx/Resources/wma.icns \
	extras/package/macosx/Resources/wmv.icns \
	extras/package/macosx/Resources/pause.png \
	extras/package/macosx/Resources/pause_blue.png \
	extras/package/macosx/Resources/play.png \
	extras/package/macosx/Resources/play_blue.png \
	extras/package/macosx/Resources/stop.png \
	extras/package/macosx/Resources/stop_blue.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
176 177 178
	extras/package/macosx/Resources/display_left.png \
	extras/package/macosx/Resources/display_middle.png \
	extras/package/macosx/Resources/display_right.png \
179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245
	extras/package/macosx/Resources/display_slider.png \
	extras/package/macosx/Resources/display_track.png \
	extras/package/macosx/Resources/equalizerdrawer_active.png \
	extras/package/macosx/Resources/equalizerdrawer_blue.png \
	extras/package/macosx/Resources/fullscreen_active.png \
	extras/package/macosx/Resources/fullscreen_blue.png \
	extras/package/macosx/Resources/next_active.png \
	extras/package/macosx/Resources/next_blue.png \
	extras/package/macosx/Resources/playlistdrawer_active.png \
	extras/package/macosx/Resources/playlistdrawer_blue.png \
	extras/package/macosx/Resources/previous_active.png \
	extras/package/macosx/Resources/previous_blue.png \
	extras/package/macosx/Resources/skip_forward_active.png \
	extras/package/macosx/Resources/skip_forward_blue.png \
	extras/package/macosx/Resources/skip_previous_active.png \
	extras/package/macosx/Resources/skip_previous_blue.png \
	extras/package/macosx/Resources/volume_high.png \
	extras/package/macosx/Resources/volume_low.png \
	extras/package/macosx/Resources/volumeslider_blue.png \
	extras/package/macosx/Resources/volumeslider_normal.png \
	extras/package/macosx/Resources/volumetrack.png \
	extras/package/macosx/Resources/about_bg.png \
	extras/package/macosx/Resources/skip_forward_active_embedded.png \
	extras/package/macosx/Resources/play_embedded.png \
	extras/package/macosx/Resources/pause_embedded.png \
	extras/package/macosx/Resources/skip_previous_active_embedded.png \
	extras/package/macosx/Resources/pause_embedded_blue.png \
	extras/package/macosx/Resources/play_embedded_blue.png \
	extras/package/macosx/Resources/skip_forward_embedded_blue.png \
	extras/package/macosx/Resources/skip_previous_embedded_blue.png \
	extras/package/macosx/Resources/vlc.scriptSuite \
	extras/package/macosx/Resources/vlc.scriptTerminology \
	extras/package/macosx/Resources/README \
	extras/package/macosx/Resources/add_embedded.png \
	extras/package/macosx/Resources/add_embedded_blue.png \
	extras/package/macosx/Resources/repeat_embedded.png \
	extras/package/macosx/Resources/repeat_embedded_blue.png \
	extras/package/macosx/Resources/repeat_single_embedded_blue.png \
	extras/package/macosx/Resources/shuffle_embedded.png \
	extras/package/macosx/Resources/shuffle_embedded_blue.png \
	extras/package/macosx/Resources/fs_volume_slider_knob_highlight.png \
	extras/package/macosx/Resources/fs_volume_slider_knob.png \
	extras/package/macosx/Resources/fs_volume_slider_bar.png \
	extras/package/macosx/Resources/fs_volume_mute_highlight.png \
	extras/package/macosx/Resources/fs_volume_mute.png \
	extras/package/macosx/Resources/fs_volume_max_highlight.png \
	extras/package/macosx/Resources/fs_volume_max.png \
	extras/package/macosx/Resources/fs_time_slider_knob_highlight.png \
	extras/package/macosx/Resources/fs_time_slider_knob.png \
	extras/package/macosx/Resources/fs_time_slider.png \
	extras/package/macosx/Resources/fs_stop_highlight.png \
	extras/package/macosx/Resources/fs_stop.png \
	extras/package/macosx/Resources/fs_skip_previous_highlight.png \
	extras/package/macosx/Resources/fs_skip_previous.png \
	extras/package/macosx/Resources/fs_skip_next_highlight.png \
	extras/package/macosx/Resources/fs_skip_next.png \
	extras/package/macosx/Resources/fs_rewind_highlight.png \
	extras/package/macosx/Resources/fs_rewind.png \
	extras/package/macosx/Resources/fs_play_highlight.png \
	extras/package/macosx/Resources/fs_play.png \
	extras/package/macosx/Resources/fs_pause_highlight.png \
	extras/package/macosx/Resources/fs_pause.png \
	extras/package/macosx/Resources/fs_forward_highlight.png \
	extras/package/macosx/Resources/fs_forward.png \
	extras/package/macosx/Resources/fs_exit_fullscreen_highlight.png \
	extras/package/macosx/Resources/fs_exit_fullscreen.png \
	extras/package/macosx/Resources/fs_background.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
	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 \
265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286
	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
287 288 289 290 291 292 293
	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 \
294 295 296 297 298 299 300 301 302 303
	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 \
304 305
	extras/package/macosx/plugin/Info.plist.in \
	extras/package/macosx/plugin/InstallerInfo.plist.in \
306 307
	extras/package/macosx/plugin/InstallerDescription.plist \
	extras/package/macosx/plugin/pbdevelopment.plist \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
308 309 310 311 312 313
	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
314
	extras/package/macosx/README.MacOSX.rtf \
315
	extras/package/macosx/Info.plist.in
Felix Paul Kühne's avatar
Felix Paul Kühne committed
316

317 318

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

Gildas Bazin's avatar
 
Gildas Bazin committed
331
dist-hook:
332
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
333

334 335 336 337
###############################################################################
# Building libvlc
###############################################################################

338
noinst_SCRIPTS = vlc-config
339
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
340 341
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
342
	touch $@
343

344 345
vlc-config.in: vlc-config.in.in
	./config.status --recheck
346
	touch $@
347

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
348
CLEANFILES = $(BUILT_SOURCES_clean)
349 350
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
MAINTAINERCLEANFILES = ChangeLog
351

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

libvlc: libcompat
359
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
360

361 362
core: libvlc vlc
	cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) vlc-static$(EXEEXT)
363

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

.PHONY: libvlc core doc
368

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

395 396 397 398
###############################################################################
# Building aliases
###############################################################################

399
ALL_ALIASES = cvlc rvlc svlc qvlc nvlc mvlc
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
400
bin_SCRIPTS = $(ALIASES)
401
CLEANFILES += $(ALIASES) $(noinst_SCRIPTS)
402 403 404 405
EXTRA_SCRIPTS = $(ALL_ALIASES)

dist_noinst_SCRIPTS += make-alias

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

408
cvlc: make-alias Makefile
409
	$(AM_V_GEN)$(MKALIAS) dummy
410

411
rvlc: make-alias Makefile
412
	$(AM_V_GEN)$(MKALIAS) rc
413

414
svlc: make-alias Makefile
415
	$(AM_V_GEN)$(MKALIAS) skins2
416

417
qvlc: make-alias Makefile
418
	$(AM_V_GEN)$(MKALIAS) qt4
419

420
nvlc: make-alias Makefile
421
	$(AM_V_GEN)$(MKALIAS) ncurses
422

423
mvlc: make-alias Makefile
424
	$(AM_V_GEN)$(MKALIAS) maemo
425

426
if BUILD_VLC
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
427
noinst_SCRIPTS += vlc$(EXEEXT)
428
endif
429

430
vlc$(EXEEXT):
431
	$(AM_V_GEN)ln -sf bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
432

433
if HAVE_DARWIN
434
if BUILD_MACOSX_VLC_APP
435
# Create the MacOS X app
436
noinst_DATA = VLC.app
437
endif
438 439
endif

440
silentstd = $(silentstd_$(V))
441
silentstd_ = $(silentstd_$(AM_DEFAULT_VERBOSITY))
442
silentstd_0 = 2>&1 >/dev/null
443

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

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

691 692 693 694 695
###############################################################################
# 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
696
# the same setup as the maintaner(s).
697
#
698

699 700 701
############################################################################
## Win                                                                    ##
############################################################################
702
destdir=$(prefix)
703
win32_destdir=$(top_builddir)/vlc-$(VERSION)
704
win32_debugdir=$(top_builddir)/symbols-$(VERSION)
705
win32_lua_destdir=$(win32_destdir)/lua
706
win32_xpi_destdir=$(win32_destdir)/vlc-plugin
707

708
#Win-common is for win32 and wince
709
package-win-common: install
710
# Check that tmp isn't in the way
711
	@if test -e "$(win32_destdir)"; then \
712 713 714 715 716
	    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; \
717
	else \
718 719
	    echo "Debug dir OK."; mkdir -p "$(win32_debugdir)"; \
	    echo "Dest dir OK."; mkdir -p "$(win32_destdir)"; \
720
	fi
721

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

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

734
# Necessary icon
735
	cp $(srcdir)/share/icons/vlc.ico $(win32_destdir)
Luca Barbato's avatar
Luca Barbato committed
736

737
# Locales
738
	-cp -r $(destdir)/share/locale $(win32_destdir)
739

740
# Plugins
741
	cp -r $(destdir)/lib/vlc/plugins $(win32_destdir)
742

743
if BUILD_LUA
744
# Copy the lua scripts (HTTP)
745 746
	mkdir -p $(win32_lua_destdir)
	cp -r $(destdir)/share/vlc/lua/http "$(win32_lua_destdir)/http"
747

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

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

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

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

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

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

842
package-win32-webplugin-common: package-win-base
843
	mkdir -p "$(win32_xpi_destdir)/plugins"
844 845 846 847
	find $(destdir) -maxdepth 4 -name "*$(LIBEXT)" -exec cp {} "$(win32_xpi_destdir)/" \;
	cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest "$(win32_xpi_destdir)/plugins"
	cp "$(top_srcdir)/extras/package/win32/libvlc.dll.manifest" "$(win32_xpi_destdir)/plugins"
	cp -r $(win32_destdir)/plugins/ "$(win32_xpi_destdir)/plugins"
848 849 850 851 852
	rm -rf "$(win32_xpi_destdir)/plugins/plugins/*qt*"
	rm -rf "$(win32_xpi_destdir)/plugins/plugins/*skins*"

package-win32-xpi: package-win32-webplugin-common
	cp $(top_builddir)/projects/mozilla/install.rdf "$(win32_xpi_destdir)"
853
	cd $(win32_xpi_destdir) && zip -r "../vlc-$(VERSION).xpi" install.rdf plugins
854 855 856 857

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

860
package-win32-base-exe: package-win-base
861 862 863 864 865 866 867 868 869 870
# 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"

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

886
package-win32-base-zip: package-win-base
887
# Create package
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
888
	rm -f -- vlc-$(VERSION)-win32.zip
889
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
Gildas Bazin's avatar
 
Gildas Bazin committed
890

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

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

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

904
package-win32-cleanup:
905
	rm -Rf $(win32_destdir) $(win32_debugdir)
906

907
package-win32-exe: package-win-base package-win32-base-exe package-win32-cleanup
Gildas Bazin's avatar
 
Gildas Bazin committed
908

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

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

913 914 915
package-win32-7zip: package-win32-base-7zip package-win32-cleanup

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

917
package-win32-no-clean: package-win32-base-zip package-win32-base-7zip package-win32-base-exe package-win32-xpi
918

919
package-win32: package-win32-no-clean package-win32-cleanup
920

921
package-win32-debug: package-win32-base-debug-zip package-win32-base-debug-7zip package-win32-cleanup
922

923

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
924 925 926
#######
# WinCE
#######
927
package-wince-base: package-win-base
928

929
package-wince-base-zip: package-wince-base
930
# Create package
931 932
	rm -f -- vlc-$(VERSION)-wince.zip
	zip -r -9 vlc-$(VERSION)-wince.zip vlc-$(VERSION)
933

934
package-wince: package-wince-base-zip package-win32-cleanup
935 936


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

946 947
	echo "Create package directory: vlc-$(VERSION)/";
	mkdir -p "$(top_builddir)/vlc-$(VERSION)/";
948

949
# Copy relevant files 
950
	@if test -e "$(top_builddir)/VLC-release.app/"; then \
951
	  cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \
952
	else \
953
	  cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-$(VERSION)/VLC.app"; \