Makefile.am 44.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.
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
113
	ln -sf 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/Extended.nib/designable.nib \
135
	extras/package/macosx/Resources/English.lproj/Extended.nib/keyedobjects.nib \
136
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/designable.nib \
137
	extras/package/macosx/Resources/English.lproj/CoreDialogs.nib/keyedobjects.nib \
138
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/designable.nib \
139
	extras/package/macosx/Resources/English.lproj/ErrorPanel.nib/keyedobjects.nib \
140
	extras/package/macosx/Resources/English.lproj/InfoPlist.strings.in \
141
	extras/package/macosx/Resources/dsa_pub.pem \
142
143
	extras/package/macosx/Resources/aiff.icns \
	extras/package/macosx/Resources/audio.icns \
144
	extras/package/macosx/Resources/avi.icns \
145
	extras/package/macosx/Resources/flv.icns \
146
	extras/package/macosx/Resources/generic.icns \
147
148
149
	extras/package/macosx/Resources/m4a.icns \
	extras/package/macosx/Resources/m4v.icns \
	extras/package/macosx/Resources/mkv.icns \
150
	extras/package/macosx/Resources/mov.icns \
151
	extras/package/macosx/Resources/movie.icns \
152
153
154
	extras/package/macosx/Resources/mp3.icns \
	extras/package/macosx/Resources/mpeg.icns \
	extras/package/macosx/Resources/ogg.icns \
155
156
157
	extras/package/macosx/Resources/playlist.icns \
	extras/package/macosx/Resources/rm.icns \
	extras/package/macosx/Resources/subtitle.icns \
158
	extras/package/macosx/Resources/vob.icns \
159
160
	extras/package/macosx/Resources/wav.icns \
	extras/package/macosx/Resources/vlc.icns \
161
162
163
164
165
166
167
168
	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
169
170
171
	extras/package/macosx/Resources/display_left.png \
	extras/package/macosx/Resources/display_middle.png \
	extras/package/macosx/Resources/display_right.png \
172
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
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
	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
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
	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 \
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
	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
280
281
282
283
284
285
286
	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 \
287
288
289
290
291
292
293
294
295
296
	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
297
298
299
300
301
302
	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
303
	extras/package/macosx/README.MacOSX.rtf \
304
	extras/package/macosx/Info.plist.in
Felix Paul Kühne's avatar
Felix Paul Kühne committed
305

306
307

###############################################################################
Rafaël Carré's avatar
Rafaël Carré committed
308
# Various utilities ( editor syntax files, D-Bus controller ... )
309
310
##############################################################################
EXTRA_DIST += \
311
	extras/analyser/zsh_completion.sh \
312
313
314
315
	extras/analyser/zsh.cpp \
	extras/analyser/emacs.init \
	extras/analyser/vlc.vim \
	extras/analyser/valgrind.suppressions \
316
	extras/buildsystem/make.pl \
317
318
	extras/misc/mpris.py \
	extras/misc/mpris.glade
319

320
321
322
323
###############################################################################
# Building libvlc
###############################################################################

324
noinst_SCRIPTS = vlc-config
325
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
326
327
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
328
	touch $@
329

330
331
vlc-config.in: vlc-config.in.in
	./config.status --recheck
332
	touch $@
333

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
334
CLEANFILES = $(BUILT_SOURCES_clean)
335
336
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
MAINTAINERCLEANFILES = ChangeLog
337

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

libvlc: libcompat
345
	cd src && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
346

347
348
core: libvlc vlc
	cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) vlc-static$(EXEEXT)
349

350
351
352
353
doc:
	cd doc && $(MAKE) $(AM_MAKEFLAGS) doc

.PHONY: libvlc core doc
354

355
if HAVE_BEOS
356
noinst_DATA = vlc-bundle
357
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
358
359
360
	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
361
362
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
363
364
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
365
366
	  fi ; \
	done
367
	if test -d $(CONTRIB_DIR)/vlc-lib ; then \
Sam Hocevar's avatar
Sam Hocevar committed
368
	  mkdir -p $(top_builddir)/vlc-bundle/lib ; \
369
	  for i in $(CONTRIB_DIR)/vlc-lib/*.so ; do \
Sam Hocevar's avatar
Sam Hocevar committed
370
	    cp $$i $(top_builddir)/vlc-bundle/lib/ ; \
371
372
	  done ; \
	fi
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
373
	cat $(top_srcdir)/po/LINGUAS | while read i; do \
374
	  mkdir -p "$(top_builddir)/vlc-bundle/share/locale/$$i/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
375
	  cp "$(top_builddir)/po/$$i.gmo" \
376
	    "$(top_builddir)/vlc-bundle/share/locale/$$i/LC_MESSAGES/vlc.mo" || true ; \
Eric Petit's avatar
Eric Petit committed
377
	done
Sam Hocevar's avatar
Sam Hocevar committed
378
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
379
380
endif

381
382
383
384
###############################################################################
# Building aliases
###############################################################################

385
ALL_ALIASES = cvlc rvlc svlc qvlc nvlc mvlc
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
386
bin_SCRIPTS = $(ALIASES)
387
CLEANFILES += $(ALIASES) $(noinst_SCRIPTS)
388
389
390
391
EXTRA_SCRIPTS = $(ALL_ALIASES)

dist_noinst_SCRIPTS += make-alias

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

394
cvlc: make-alias Makefile
395
	$(AM_V_GEN)$(MKALIAS) dummy
396

397
rvlc: make-alias Makefile
398
	$(AM_V_GEN)$(MKALIAS) rc
399

400
svlc: make-alias Makefile
401
	$(AM_V_GEN)$(MKALIAS) skins2
402

403
qvlc: make-alias Makefile
404
	$(AM_V_GEN)$(MKALIAS) qt4
405

406
nvlc: make-alias Makefile
407
	$(AM_V_GEN)$(MKALIAS) ncurses
408

409
mvlc: make-alias Makefile
410
	$(AM_V_GEN)$(MKALIAS) maemo
411

412
if BUILD_VLC
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
413
noinst_SCRIPTS += vlc$(EXEEXT)
414
endif
415

416
vlc$(EXEEXT):
417
	$(AM_V_GEN)ln -sf bin/vlc-static$(EXEEXT) vlc$(EXEEXT)
418

419
if HAVE_DARWIN
420
if BUILD_MACOSX_VLC_APP
421
# Create the MacOS X app
422
noinst_DATA = VLC.app
423
endif
424
425
endif

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

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

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

677
678
679
680
681
###############################################################################
# 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
682
# the same setup as the maintaner(s).
683
#
684

685
686
687
############################################################################
## Win                                                                    ##
############################################################################
688
destdir=$(prefix)
689
win32_destdir=$(top_builddir)/vlc-$(VERSION)
690
win32_debugdir=$(top_builddir)/symbols-$(VERSION)
691
win32_lua_destdir=$(win32_destdir)/lua
692
win32_xpi_destdir=$(win32_destdir)/vlc-plugin
693

694
695
696
697
698
699
700
701
702
703
704
705
706
707
if HAVE_WIN64
build-npapi:
	touch $@

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

build-activex:
	touch $@
else
708
709
if HAVE_WIN32
include extras/package/npapi.am
Rafaël Carré's avatar
Rafaël Carré committed
710
include extras/package/activex.am
711
endif
712
713
endif
endif
714

715
#Win-common is for win32 and wince
Rafaël Carré's avatar
Rafaël Carré committed
716
package-win-common: install build-npapi build-activex
717
# Check that tmp isn't in the way
718
	@if test -e "$(win32_destdir)"; then \
719
720
721
722
723
	    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; \
724
	else \
725
726
	    echo "Debug dir OK."; mkdir -p "$(win32_debugdir)"; \
	    echo "Dest dir OK."; mkdir -p "$(win32_destdir)"; \
727
	fi
728

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

735
# Text files and clean them
Rafaël Carré's avatar
Rafaël Carré committed
736
	for file in AUTHORS THANKS ; \
737
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(win32_destdir)/$${file}.txt" ; done;
Christophe Mutricy's avatar
Christophe Mutricy committed
738
	for file in NEWS COPYING README; \
739
	  do cp "$(srcdir)/$$file" "$(win32_destdir)/$${file}.txt"; done
740

741
# Necessary icon
742
	cp $(srcdir)/share/icons/vlc.ico $(win32_destdir)
Luca Barbato's avatar
Luca Barbato committed
743

744
# Locales
745
	-cp -r $(destdir)/share/locale $(win32_destdir)
746

747
# Plugins
748
	cp -r $(destdir)/lib/vlc/plugins $(win32_destdir)
749

750
if BUILD_LUA
751
# Copy the lua scripts (HTTP)
752
753
	mkdir -p $(win32_lua_destdir)
	cp -r $(destdir)/share/vlc/lua/http "$(win32_lua_destdir)/http"
754

755
# Lua Scripts - cannot be simplified yet, because make install doesn't install READMEs
756
757
758
759
	$(INSTALL) -d $(win32_lua_destdir)
	for i in $(srcdir)/share/lua/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/`basename $${i}` ; \
	done
Sephiroth87's avatar
Sephiroth87 committed
760
	$(INSTALL) -d $(win32_lua_destdir)/modules
761
762
763
	for i in $(srcdir)/share/lua/modules/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/modules/`basename $${i}` ; \
	done
764
765
766
	$(INSTALL) -d $(win32_lua_destdir)/extensions
	for i in $(srcdir)/share/lua/extensions/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/extensions/`basename $${i}` ; \
767
	done
768
769
770
771
772
773
774
	$(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}` ; \
775
	done
776
	$(INSTALL) -d $(win32_lua_destdir)/meta/art
777
	for i in $(srcdir)/share/lua/meta/art/*.* ; do \
778
779
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/art/`basename $${i}` ; \
	done
780
781
782
783
	$(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
784
	$(INSTALL) -d $(win32_lua_destdir)/meta/reader
785
	for i in $(srcdir)/share/lua/meta/reader/*.* ; do \
786
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/meta/reader/`basename $${i}` ; \
787
	done
788
789
790
	$(INSTALL) -d $(win32_lua_destdir)/playlist
	for i in $(srcdir)/share/lua/playlist/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/playlist/`basename $${i}` ; \
791
	done
792
793
794
	$(INSTALL) -d $(win32_lua_destdir)/sd
	for i in $(srcdir)/share/lua/sd/*.* ; do \
	  $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/sd/`basename $${i}` ; \
795
796
797
798
	done
endif

if BUILD_HTTPD
799
	cp -r $(destdir)/share/vlc/http $(win32_destdir)
800
801
endif
if BUILD_SKINS
802
	cp -r $(destdir)/share/vlc/skins2 $(win32_destdir)/skins
803
804
endif
if BUILD_OSDMENU
805
	cp -r $(destdir)/share/vlc/osdmenu "$(win32_destdir)/osdmenu"
806
	for file in $(win32_destdir)/osdmenu/*.cfg; do \
807
808
809
		sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \
		sed 's%/%\\%g' "$$file.tmp" > "$$file" || exit$$? ; \
		rm -f -- "$$file.tmp"; \
810
	done
811
endif
Rafaël Carré's avatar
Rafaël Carré committed
812
813
814
815
816
if !HAVE_WIN64
	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)/"
817
endif
818

819
# SDK
820
	mkdir -p "$(win32_destdir)/sdk/lib"
821
822
823
824
	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
Rafaël Carré's avatar
Rafaël Carré committed
825
if !HAVE_WIN64
826
	mkdir -p "$(win32_destdir)/sdk/activex"
Rafaël Carré's avatar
Rafaël Carré committed
827
828
	cp $(top_builddir)/activex-vlc/README $(win32_destdir)/sdk/activex/README.TXT
	cp $(top_builddir)/activex-vlc/src/test.html $(win32_destdir)/sdk/activex/
829
endif
830

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

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

838
package-win-base: package-win-common
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
839
	find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -or -name '*$(EXEEXT)' \) | while read i; \
840
	do if test -n "$$i" ; then \
841
842
843
844
845
846
847
	    $(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
848
package-win32-webplugin-common: package-win-base
849
850
	mkdir -p "$(win32_xpi_destdir)/plugins"
	find $(destdir) -maxdepth 4 -name "*$(LIBEXT)" -exec cp {} "$(win32_xpi_destdir)/" \;
851
if !HAVE_WIN64
Rafaël Carré's avatar
Rafaël Carré committed
852
	cp $(top_builddir)/npapi-vlc/src/npvlc.dll.manifest "$(win32_xpi_destdir)/plugins"
853
endif
854
855
856
857
	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*"
858

Rafaël Carré's avatar
Rafaël Carré committed
859
package-win32-xpi: package-win32-webplugin-common
860
if !HAVE_WIN64
861
	cp $(top_builddir)/npapi-vlc/src/install.rdf "$(win32_xpi_destdir)"
862
	cd $(win32_xpi_destdir) && zip -r "../vlc-$(VERSION).xpi" install.rdf plugins
863
endif
864

Rafaël Carré's avatar
Rafaël Carré committed
865
package-win32-crx: package-win32-webplugin-common
866
if !HAVE_WIN64
867
	cp $(top_builddir)/npapi-vlc/src/manifest.json "$(win32_xpi_destdir)"
868
869
	crxmake --pack-extension "$(win32_xpi_destdir)" \
		--extension-output "$(win32_destdir)/vlc-$(VERSION).crx" --ignore-file install.rdf
870
endif
871

Rafaël Carré's avatar
Rafaël Carré committed
872
package-win32-base-exe: package-win-base
873
874
875
876
877
878
879
880
881
882
# 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"

883
# Create package
884
	if makensis -VERSION >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
885
	    MAKENSIS="makensis"; \
886
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
887
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \
888
	elif [ -x "$(PROGRAMFILES)/NSIS/makensis" ]; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
889
	    MAKENSIS="$(PROGRAMFILES)/NSIS/makensis"; \
Rafaël Carré's avatar
typo    
Rafaël Carré committed
890
	elif wine --version >/dev/null 2>&1; then \
Christophe Mutricy's avatar
Christophe Mutricy committed
891
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe"; \
892
893
894
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
895
	eval "$$MAKENSIS $(win32_destdir)/spad.nsi"; \
896
	eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi"
897

898
package-win32-base-zip: package-win-base
899
# Create package
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
900
	rm -f -- vlc-$(VERSION)-win32.zip
901
	zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION)
gbazin's avatar
   
gbazin committed
902

903
package-win32-base-debug-zip: package-win-common
904
905
906
907
# Create package
	rm -f -- vlc-$(VERSION)-win32-debug.zip
	zip -r -9 vlc-$(VERSION)-win32-debug.zip vlc-$(VERSION)

908
package-win32-base-7zip: package-win-base
909
# Create package
910
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION)
dionoea's avatar
dionoea committed
911

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

916
package-win32-cleanup:
917
	rm -Rf $(win32_destdir) $(win32_debugdir)
918

919
package-win32-exe: package-win-base package-win32-base-exe package-win32-cleanup
gbazin's avatar
   
gbazin committed
920

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

923
package-win32-debug-zip: package-win32-base-debug-zip package-win32-cleanup
dionoea's avatar
dionoea committed
924

925
926
927
package-win32-7zip: package-win32-base-7zip package-win32-cleanup

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

Jean-Baptiste Kempf's avatar