Makefile.am 42 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
10
11
#  - intl (gettext) is needed by src and modules
#  - src (libvlc) is nedeed by modules, mozilla and bindings
#  - libs/* are needed by modules
SUBDIRS = intl po libs/loader libs/srtp src modules \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
12
13
		mozilla bindings activex share doc
DIST_SUBDIRS = $(SUBDIRS) m4 ipkg
14

15
16
17
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
18
	INSTALL.wince \
19
	vlc.exe.manifest \
20
21
22
23
	MAINTAINERS \
	README.MacOSX.rtf \
	bootstrap \
	toolbox \
24
	vlc-api.pl \
Sam Hocevar's avatar
Sam Hocevar committed
25
	vlc-config.in.in \
Christophe Mutricy's avatar
Hrm    
Christophe Mutricy committed
26
	vlc.fedora.spec \
27
28
	vlc.mandriva.spec \
	vlc.altlinux.spec \
29
	vlc.win32.nsi.in
30

31
BUILT_SOURCES_distclean = vlc-config compile vlc.win32.nsi
32
BUILT_SOURCES_clean = macosx-sdk
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
33

34
BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
35

36
37
SUFFIXES = 

38
DISTCHECK_CONFIGURE_FLAGS = --disable-dvd --disable-mad --disable-libmpeg2 \
39
	--disable-ffmpeg --disable-faad --disable-wxwidgets --disable-skins2
40

41
42
43
44
45
46
47
48
49
50
# Tell aclocal to use -I m4. Wonder if it really works.
ACLOCAL_AMFLAGS = -I m4

###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib \
51
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
hartman's avatar
hartman committed
52
53
	extras/MacOSX/Resources/English.lproj/About.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/About.nib/info.nib \
54
	extras/MacOSX/Resources/English.lproj/About.nib/keyedobjects.nib \
hartman's avatar
hartman committed
55
56
	extras/MacOSX/Resources/English.lproj/Open.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Open.nib/info.nib \
57
	extras/MacOSX/Resources/English.lproj/Open.nib/keyedobjects.nib \
hartman's avatar
hartman committed
58
59
	extras/MacOSX/Resources/English.lproj/Preferences.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \
60
	extras/MacOSX/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
61
62
63
	extras/MacOSX/Resources/English.lproj/Wizard.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Wizard.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Wizard.nib/keyedobjects.nib \
64
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib \
65
66
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
67
68
69
	extras/MacOSX/Resources/English.lproj/Extended.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Extended.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Extended.nib/keyedobjects.nib \
70
71
72
	extras/MacOSX/Resources/English.lproj/SFilters.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/SFilters.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/SFilters.nib/keyedobjects.nib \
73
74
75
	extras/MacOSX/Resources/English.lproj/Update.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Update.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Update.nib/keyedobjects.nib \
76
77
78
	extras/MacOSX/Resources/English.lproj/Interaction.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Interaction.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/Interaction.nib/keyedobjects.nib \
79
80
81
	extras/MacOSX/Resources/English.lproj/InteractionErrorPanel.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/InteractionErrorPanel.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/InteractionErrorPanel.nib/keyedobjects.nib \
82
	extras/MacOSX/Resources/English.lproj/InfoPlist.strings \
83
84
85
86
87
88
89
90
	extras/MacOSX/Resources/a52.icns \
	extras/MacOSX/Resources/aac.icns \
	extras/MacOSX/Resources/asf.icns \
	extras/MacOSX/Resources/asx.icns \
	extras/MacOSX/Resources/avi.icns \
	extras/MacOSX/Resources/bin.icns \
	extras/MacOSX/Resources/cue.icns \
	extras/MacOSX/Resources/dat.icns \
91
	extras/MacOSX/Resources/divx.icns \
92
	extras/MacOSX/Resources/dv.icns \
93
	extras/MacOSX/Resources/generic.icns \
94
95
96
97
	extras/MacOSX/Resources/m3u.icns \
	extras/MacOSX/Resources/mov.icns \
	extras/MacOSX/Resources/mp3.icns \
	extras/MacOSX/Resources/mp4.icns \
98
99
100
101
	extras/MacOSX/Resources/mpeg.icns \
	extras/MacOSX/Resources/mpeg1.icns \
	extras/MacOSX/Resources/mpeg2.icns \
	extras/MacOSX/Resources/mpeg4.icns \
102
103
104
105
106
107
	extras/MacOSX/Resources/mpg.icns \
	extras/MacOSX/Resources/ogg.icns \
	extras/MacOSX/Resources/ogm.icns \
	extras/MacOSX/Resources/pls.icns \
	extras/MacOSX/Resources/srt.icns \
	extras/MacOSX/Resources/sub.icns \
108
	extras/MacOSX/Resources/vlc.icns \
109
110
111
	extras/MacOSX/Resources/vob.icns \
	extras/MacOSX/Resources/wma.icns \
	extras/MacOSX/Resources/wmv.icns \
112
	extras/MacOSX/Resources/pause.png \
113
	extras/MacOSX/Resources/pause_blue.png \
114
	extras/MacOSX/Resources/play.png \
115
	extras/MacOSX/Resources/play_blue.png \
116
	extras/MacOSX/Resources/stop.png \
117
118
119
120
	extras/MacOSX/Resources/stop_blue.png \
	extras/MacOSX/Resources/display.png \
	extras/MacOSX/Resources/display_slider.png \
	extras/MacOSX/Resources/display_track.png \
121
122
	extras/MacOSX/Resources/equalizerdrawer_active.png \
	extras/MacOSX/Resources/equalizerdrawer_blue.png \
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
	extras/MacOSX/Resources/fullscreen_active.png \
	extras/MacOSX/Resources/fullscreen_blue.png \
	extras/MacOSX/Resources/next_active.png \
	extras/MacOSX/Resources/next_blue.png \
	extras/MacOSX/Resources/playlistdrawer_active.png \
	extras/MacOSX/Resources/playlistdrawer_blue.png \
	extras/MacOSX/Resources/previous_active.png \
	extras/MacOSX/Resources/previous_blue.png \
	extras/MacOSX/Resources/skip_forward_active.png \
	extras/MacOSX/Resources/skip_forward_blue.png \
	extras/MacOSX/Resources/skip_previous_active.png \
	extras/MacOSX/Resources/skip_previous_blue.png \
	extras/MacOSX/Resources/volume_high.png \
	extras/MacOSX/Resources/volume_low.png \
	extras/MacOSX/Resources/volumeslider_blue.png \
	extras/MacOSX/Resources/volumeslider_normal.png \
	extras/MacOSX/Resources/volumetrack.png \
140
	extras/MacOSX/Resources/about_bg.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
141
142
143
144
145
146
147
148
	extras/MacOSX/Resources/skip_forward_active_embedded.png \
	extras/MacOSX/Resources/play_embedded.png \
	extras/MacOSX/Resources/pause_embedded.png \
	extras/MacOSX/Resources/skip_previous_active_embedded.png \
	extras/MacOSX/Resources/pause_embedded_blue.png \
	extras/MacOSX/Resources/play_embedded_blue.png \
	extras/MacOSX/Resources/skip_forward_embedded_blue.png \
	extras/MacOSX/Resources/skip_previous_embedded_blue.png \
149
	extras/MacOSX/Resources/vlc.scriptSuite \
150
	extras/MacOSX/Resources/vlc.scriptTerminology \
151
	extras/MacOSX/Resources/README \
152
153
154
155
156
157
158
	extras/MacOSX/Resources/add_embedded.png \
	extras/MacOSX/Resources/add_embedded_blue.png \
	extras/MacOSX/Resources/repeat_embedded.png \
	extras/MacOSX/Resources/repeat_embedded_blue.png \
	extras/MacOSX/Resources/repeat_single_embedded_blue.png \
	extras/MacOSX/Resources/shuffle_embedded.png \
	extras/MacOSX/Resources/shuffle_embedded_blue.png \
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
	extras/MacOSX/Resources/fs_volume_slider_knob_highlight.png \
	extras/MacOSX/Resources/fs_volume_slider_knob.png \
	extras/MacOSX/Resources/fs_volume_slider_bar.png \
	extras/MacOSX/Resources/fs_volume_mute_highlight.png \
	extras/MacOSX/Resources/fs_volume_mute.png \
	extras/MacOSX/Resources/fs_volume_max_highlight.png \
	extras/MacOSX/Resources/fs_volume_max.png \
	extras/MacOSX/Resources/fs_time_slider_knob_highlight.png \
	extras/MacOSX/Resources/fs_time_slider_knob.png \
	extras/MacOSX/Resources/fs_time_slider.png \
	extras/MacOSX/Resources/fs_stop_highlight.png \
	extras/MacOSX/Resources/fs_stop.png \
	extras/MacOSX/Resources/fs_skip_previous_highlight.png \
	extras/MacOSX/Resources/fs_skip_previous.png \
	extras/MacOSX/Resources/fs_skip_next_highlight.png \
	extras/MacOSX/Resources/fs_skip_next.png \
	extras/MacOSX/Resources/fs_rewind_highlight.png \
	extras/MacOSX/Resources/fs_rewind.png \
	extras/MacOSX/Resources/fs_play_highlight.png \
	extras/MacOSX/Resources/fs_play.png \
	extras/MacOSX/Resources/fs_pause_highlight.png \
	extras/MacOSX/Resources/fs_pause.png \
	extras/MacOSX/Resources/fs_forward_highlight.png \
	extras/MacOSX/Resources/fs_forward.png \
	extras/MacOSX/Resources/fs_exit_fullscreen_highlight.png \
	extras/MacOSX/Resources/fs_exit_fullscreen.png \
	extras/MacOSX/Resources/fs_background.png \
Felix Paul Kühne's avatar
Felix Paul Kühne committed
186
	extras/MacOSX/fullscreen_panel.svg \
187
	extras/MacOSX/ub.sh \
Christophe Mutricy's avatar
Christophe Mutricy committed
188
	extras/MacOSX/vlc.xcodeproj/project.pbxproj \
189
	extras/MacOSX/Delete_Preferences.app/Contents/Info.plist \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
190
	extras/MacOSX/Delete_Preferences.app/Contents/PkgInfo \
191
192
193
194
195
	extras/MacOSX/Delete_Preferences.app/Contents/MacOS/applet \
	extras/MacOSX/Delete_Preferences.app/Contents/Resources/description.rtfd/TXT.rtf \
	extras/MacOSX/Delete_Preferences.app/Contents/Resources/applet.icns \
	extras/MacOSX/Delete_Preferences.app/Contents/Resources/applet.rsrc \
	extras/MacOSX/Delete_Preferences.app/Contents/Resources/Scripts/main.scpt \
196
197
198
199
	extras/MacOSX/plugin/Info.plist \
	extras/MacOSX/plugin/InstallerInfo.plist \
	extras/MacOSX/plugin/InstallerDescription.plist \
	extras/MacOSX/plugin/pbdevelopment.plist \
200
	extras/MacOSX/plugin/English.lproj/InfoPlist.strings
201
202

###############################################################################
Rafaël Carré's avatar
Rafaël Carré committed
203
# Various utilities ( editor syntax files, D-Bus controller ... )
204
205
##############################################################################
EXTRA_DIST += \
206
207
	extras/Makefile \
	extras/zsh.cpp \
208
209
210
211
	extras/emacs.init \
	extras/vlc.vim \
	extras/make.pl \
	extras/valgrind.suppressions \
212
	extras/m4/autoconf260.m4 \
Rafaël Carré's avatar
Rafaël Carré committed
213
	extras/dbus-vlc.py \
214
	extras/dbus-vlc.glade
215
216

###############################################################################
217
# MS Visual Studio and eMbedded Visual Studio projects
218
219
220
221
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
222
223
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
224
	msvc/vlc.dsp.in \
225
	msvc/config.h.in \
226
	msvc/modules_builtin_msvc.h \
227
	evc/vlc.vcw \
228
	evc/libvlc.vcp.in \
229
	evc/vlc.vcp.in \
230
	evc/plugins.vcp.in \
231
	evc/errno.h \
232
	evc/config.h.in \
233
	evc/modules_builtin_evc.h
234

gbazin's avatar
   
gbazin committed
235
dist-hook:
236
237
	cd $(distdir) && srcdir=. $(SHELL) ./toolbox --update-vc
	distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
gbazin's avatar
   
gbazin committed
238

239
240
241
242
243
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
244
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
245
246
	$(SHELL) ./config.status --file=$@
	chmod 0755 $@
247
	touch $@
248

249
250
vlc-config.in: vlc-config.in.in
	./config.status --recheck
251
	touch $@
252

253
CLEANFILES = $(BUILT_SOURCES_clean) stamp-builtin
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
254
DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
255

256
257
258
259
###############################################################################
# Building vlc
###############################################################################

Sam Hocevar's avatar
Sam Hocevar committed
260
bin_PROGRAMS = vlc
261

262
vlc_SOURCES = src/vlc.c
263
# Ugly kludge so that automake defines $(CXXLINK)
Christophe Mutricy's avatar
Christophe Mutricy committed
264
nodist_EXTRA_vlc_SOURCES = extras/zsh.cpp src/misc/darwin_specific.m
265

266
267
# Work around a bug in the arm-wince-pe linker
if HAVE_WINCE
268
vlc_WORKAROUNDLDFLAGS = $(LIBVLC)
269
270
endif

271
vlc_DEPENDENCIES = src/$(LIB_libvlc) $(DATA_win32_rc)
272

273
274
vlc_LDADD = $(DATA_win32_rc) $(LIBVLC)

275
276
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
if USE_LIBTOOL
277
278
LIB_libvlc = libvlc.la
LIBVLC = src/$(LIB_libvlc)
279
vlc_LDFLAGS =
280
else
281
if HAVE_WIN32
282
vlc_LDFLAGS = -L$(top_builddir)/src -lvlc `$(VLC_CONFIG) --libs vlc`
283
LIB_libvlc = libvlc.dll.a
284
LIBVLC =
285
else
286
vlc_LDFLAGS = $(vlc_WORKAROUNDLFDLAGS) `$(VLC_CONFIG) --libs vlc builtin`
287
288
LIB_libvlc = libvlc.a
LIBVLC = src/$(LIB_libvlc)
289
vlc_DEPENDENCIES += stamp-builtin
290
endif
291
vlc_LDADD += $(INCLUDED_LIBINTL)
292
endif
293

294
295
296
# Shortcut for developpers to rebuild the core (libvlc + vlc)
# Don't use it if you don't know what it is about.
# Don't complain if it doesn't work. -- Courmisch
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
297
298
libvlc:
	cd src && $(MAKE) $(AM_MAKEFLAGS) $(LIB_libvlc)
299

300
301
core: libvlc
	$(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT)
302

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
303
304
305
.PHONY: libvlc core

src/$(LIB_libvlc): libvlc
306

307
vlc$(EXEEXT): $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_DEPENDENCIES)
308
	@rm -f vlc$(EXEEXT)
309
	@case `$(VLC_CONFIG) --linkage vlc builtin` in \
310
311
312
313
	  c++) cmd="$(CXXLINK)" ;; \
	  objc) cmd="$(OBJCLINK)" ;; \
	  c|*) cmd="$(LINK)" ;; \
	esac ; \
314
	cmd="$$cmd $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS)" ; \
315
316
	echo $$cmd ; \
	eval $$cmd
Eric Petit's avatar
Eric Petit committed
317

318
if HAVE_BEOS
319
noinst_DATA = vlc-bundle
320
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
321
322
323
	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
324
325
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
326
327
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
328
329
	  fi ; \
	done
Sam Hocevar's avatar
Sam Hocevar committed
330
331
332
333
	if test -d $(top_builddir)/extras/contrib/vlc-lib ; then \
	  mkdir -p $(top_builddir)/vlc-bundle/lib ; \
	  for i in $(top_builddir)/extras/contrib/vlc-lib/*.so ; do \
	    cp $$i $(top_builddir)/vlc-bundle/lib/ ; \
334
335
	  done ; \
	fi
Eric Petit's avatar
Eric Petit committed
336
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
337
338
339
	  mkdir -p "$(top_builddir)/vlc-bundle/locale/$$i/LC_MESSAGES" ; \
	  cp "$(top_builddir)/po/$$i.gmo" \
	    "$(top_builddir)/vlc-bundle/locale/$$i/LC_MESSAGES/vlc.mo" || true ; \
Eric Petit's avatar
Eric Petit committed
340
	done
Sam Hocevar's avatar
Sam Hocevar committed
341
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
342
343
endif

344
# Install the symlinks
hartman's avatar
hartman committed
345
install-exec-local: install-binPROGRAMS
346
	inst="`echo vlc | sed -e '$(transform)'`" ; \
Sam Hocevar's avatar
Sam Hocevar committed
347
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
348
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
349
	  ln -sf "$${inst}" "$(DESTDIR)$(bindir)/$$i" ; \
350
351
	fi ; done

352
353
354
355
356
357
# the opposite of install-{data,exec}-local
uninstall-local:
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
	  rm -f "$(DESTDIR)$(bindir)/$$i" ; \
	fi ; done

358
359
if HAVE_DARWIN
# Create the MacOS X app
hartman's avatar
hartman committed
360
vlc_app_DATA = VLC.app
361
vlc_appdir = $(bindir)
362
363
364
365
366
367
368
369
370
# VLC-release.app is the old VLC.app target
VLC-release.app: vlc
	@if test -e "$(top_builddir)/tmp"; then \
	  echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
	  false; \
	else \
	  echo "OK."; mkdir -p "$(top_builddir)/tmp/extras"; \
	fi
	rm -Rf $(top_builddir)/VLC-release.app
hartman's avatar
hartman committed
371
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
372
373
374
375
376
377
	for i in AUTHORS COPYING README.MacOSX.rtf THANKS; do \
	  cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
	done
	mkdir -p $(top_builddir)/tmp/modules/audio_output
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
378
379
	    AppleRemote.h \
	    AppleRemote.m \
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
	    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 \
	    vout.h \
	    voutqt.m \
	    voutgl.m \
408
409
	    wizard.h \
	    wizard.m \
410
411
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
412
413
	    bookmarks.h \
	    bookmarks.m \
414
415
	    sfilters.h \
	    sfilters.m \
416
417
418
419
420
421
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
422
423
	    fspanel.h \
	    fspanel.m \
424
425
426
427
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
428
	cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
429
430
	    cd ../../../ && \
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
431
	          $(top_builddir)/VLC-release.app; \
432
433
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
434
435
436
437
438
439
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/lib
	$(INSTALL) $(top_builddir)/.libs/vlc \
		   $(top_builddir)/VLC.app/Contents/MacOS/VLC
	$(INSTALL) $(top_builddir)/src/.libs/libvlc.1.dylib \
		   $(top_builddir)/VLC.app/Contents/MacOS/lib/libvlc.dylib
	install_name_tool -change /usr/local/lib/libvlc.1.dylib \
440
441
		   @executable_path/lib/libvlc.dylib \
	       $(top_builddir)/VLC.app/Contents/MacOS/VLC
442
443
	ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
444
445
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; \
446
	    then $(INSTALL) "`pwd`/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)" \
447
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
448
	  fi ; done
449
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
450
	  mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/lib ; \
451
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
452
	    $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/lib/`basename $${i}` ; \
453
454
	  done ; \
	fi
455
456
457
458
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/luaplaylist
	for i in $(srcdir)/share/luaplaylist/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/luaplaylist/`basename $${i}` ; \
	done ; \
459
460
461
462
463
464
465
466
	$(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/old
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old/admin
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old/vlm
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/images
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests
	for i in $(srcdir)/share/http/*.* ; do \
467
468
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \
	done ; \
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
	for i in $(srcdir)/share/http/dialogs/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/dialogs/`basename $${i}` ; \
	done ; \
	for i in $(srcdir)/share/http/js/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/js/`basename $${i}` ; \
	done ; \
	for i in $(srcdir)/share/http/old/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old/`basename $${i}` ; \
	done ; \
	for i in $(srcdir)/share/http/old/admin/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old/admin/`basename $${i}` ; \
	done ; \
	for i in $(srcdir)/share/http/old/vlm/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/old/vlm/`basename $${i}` ; \
	done ; \
	for i in $(srcdir)/share/http/images/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/images/`basename $${i}` ; \
	done ; \
	for i in $(srcdir)/share/http/requests/*.* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/`basename $${i}` ; \
	done ; \
490
	$(INSTALL) -m 644 $(srcdir)/share/http/requests/readme $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/requests/readme.txt
491
492
493
494
495
496
497
498
499
500
501
	$(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/locale
	for i in $(ALL_LINGUAS); do \
	  mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
	  cp $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
	  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
502
503
	find $(top_builddir)/VLC-release.app -type d -exec chmod ugo+rx '{}' \;
	find $(top_builddir)/VLC-release.app -type f -exec chmod ugo+r '{}' \;
504

Sam Hocevar's avatar
Sam Hocevar committed
505
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
506
507
508
509
510
511
512
	@if test -e "$(top_builddir)/tmp"; then \
	  echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
	  false; \
	else \
	  echo "OK."; mkdir -p "$(top_builddir)/tmp/extras"; \
	fi
	rm -Rf $(top_builddir)/VLC.app
hartman's avatar
hartman committed
513
	cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
Loïc Minier's avatar
Loïc Minier committed
514
515
516
517
518
519
	for i in AUTHORS COPYING README.MacOSX.rtf THANKS; do \
	  cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
	done
	mkdir -p $(top_builddir)/tmp/modules/audio_output
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
520
521
	    AppleRemote.h \
	    AppleRemote.m \
Loïc Minier's avatar
Loïc Minier committed
522
523
524
525
526
527
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
528
529
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
530
531
532
533
534
535
536
537
538
539
540
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
541
542
	    playlistinfo.h \
	    playlistinfo.m \
543
544
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
545
546
547
	    prefs.h \
	    prefs.m \
	    vout.h \
hartman's avatar
hartman committed
548
549
	    voutqt.m \
	    voutgl.m \
550
551
	    wizard.h \
	    wizard.m \
552
553
	    extended.h \
	    extended.m \
Jean-Paul Saman's avatar
Jean-Paul Saman committed
554
555
	    bookmarks.h \
	    bookmarks.m \
556
557
	    sfilters.h \
	    sfilters.m \
558
559
560
561
562
563
	    update.h \
	    update.m \
	    interaction.h \
	    interaction.m \
	    embeddedwindow.h \
	    embeddedwindow.m \
564
565
	    fspanel.h \
	    fspanel.m \
Loïc Minier's avatar
Loïc Minier committed
566
567
568
569
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
570
	cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' && \
571
572
	    cd ../../../ && \
	    cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
573
	          $(top_builddir)/VLC.app; \
Loïc Minier's avatar
Loïc Minier committed
574
575
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
576
577
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/lib
	$(INSTALL) $(top_builddir)/.libs/vlc \
Loïc Minier's avatar
Loïc Minier committed
578
		   $(top_builddir)/VLC.app/Contents/MacOS/VLC
579
580
	$(INSTALL) $(top_builddir)/src/.libs/libvlc.1.dylib \
		   $(top_builddir)/VLC.app/Contents/MacOS/lib/libvlc.dylib
581
	install_name_tool -change /usr/local/lib/libvlc.1.dylib \
582
583
		   @executable_path/lib/libvlc.dylib \
	       $(top_builddir)/VLC.app/Contents/MacOS/VLC
hartman's avatar
hartman committed
584
	ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
Loïc Minier's avatar
Loïc Minier committed
585
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
Sam Hocevar's avatar
Sam Hocevar committed
586
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
587
	  if test -n "$$i" ; \
588
	    then ln -sfn "`pwd`/`dirname $$i`/.libs/`basename $$i`$(LIBEXT)" \
Loïc Minier's avatar
Loïc Minier committed
589
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
590
	  fi ; done
591
	if test -d $(srcdir)/extras/contrib/vlc-lib; then \
592
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
593
	  for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
594
		install_name_tool -change /usr/local/lib/libvlc.1.dylib @executable_path/lib/libvlc.dylib $${i}; \
595
	    ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/`basename $${i}` ; \
596
	  done ; \
597
	fi
598
	ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/
Loïc Minier's avatar
Loïc Minier committed
599
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
600
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
601
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
602
	  ln -sfn `pwd`/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
Loïc Minier's avatar
Loïc Minier committed
603
604
605
606
607
	  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 ; \
608
	done
Loïc Minier's avatar
Loïc Minier committed
609
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
610
611
612
endif

if HAVE_WIN32
613
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
614
615
616
noinst_share_vlc_win32_rc_DATA = share/vlc_win32_rc.$(OBJEXT)
noinst_share_vlc_win32_rcdir = $(libdir)
share/vlc_win32_rc.$(OBJEXT): share/vlc_win32_rc.rc
617
	$(WINDRES) -DVERSION=$(VERSION) -DVERSION_NUMBER=`echo $(VERSION).0.0.0 | sed 's/\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\).*/\1,\2,\3,\4/'` --include-dir $(srcdir)/share -i $< -o $@
618
619
endif

hartman's avatar
hartman committed
620

621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
###############################################################################
# Building specific source packages
###############################################################################

dist-woody: distdir
	$(remove_distdir_woody)
	mv $(distdir) $(PACKAGE)-woody-$(VERSION)
	$(srcdir)/toolbox --make-woody $(PACKAGE)-woody-$(VERSION)
	$(AMTAR) chof - $(PACKAGE)-woody-$(VERSION) \
	  | GZIP=$(GZIP_ENV) gzip -c >$(PACKAGE)-woody-$(VERSION).tar.gz
	$(remove_distdir_woody)

remove_distdir_woody = \
  { test ! -d $(PACKAGE)-woody-$(VERSION) \
    || { find $(PACKAGE)-woody-$(VERSION) -type d ! -perm -200 \
           -exec chmod u+w {} ';' \
         && rm -fr $(PACKAGE)-woody-$(VERSION); }; }

639
640
641
642
643
644
645
###############################################################################
# Building architecture-specific binary packages
###############################################################################

# XXX: this rule is probably only useful to you if you have exactly
# the same setup as me. Contact sam@zoy.org if you need to use it.
#
646
647

package-win-common:
648
# Check that tmp isn't in the way
649
650
	@if test -e "$(top_builddir)/vlc-${VERSION}"; then \
	  echo "Error: please remove $(top_builddir)/vlc-${VERSION}, it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
651
	  false; \
652
	else \
653
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
654
	fi
655

656
# Copy relevant files
657
658
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
	cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
659
	cp "src/libvlc$(LIBEXT)" "vlc-${VERSION}/"
660

gbazin's avatar
   
gbazin committed
661
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
662
663
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; \
	  unix2dos "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; done
gbazin's avatar
   
gbazin committed
664

665
	mkdir $(top_builddir)/vlc-${VERSION}/locale
gbazin's avatar
   
gbazin committed
666
	for i in $(ALL_LINGUAS); do \
667
	  mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
668
	  cp "$(srcdir)/po/$${i}.gmo" \
669
	    "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
gbazin's avatar
   
gbazin committed
670
            || true ; \
gbazin's avatar
   
gbazin committed
671
672
	done

673
674
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests"
675
676
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/js"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/dialogs"
zorglub's avatar
zorglub committed
677
678
679
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/old"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/old/vlm"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/old/admin"
680
	cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
681
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
682
683
	cp $(srcdir)/share/http/.hosts $(top_builddir)/vlc-${VERSION}/http/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/.hosts ;
684
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
685
	unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
686
687
	cp $(srcdir)/share/http/js/*.js $(top_builddir)/vlc-${VERSION}/http/js/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/js/*.js ;
688
689
	cp $(srcdir)/share/http/dialogs/* $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/* ;
690
691
	cp $(srcdir)/share/http/dialogs/.hosts $(top_builddir)/vlc-${VERSION}/http/dialogs/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/dialogs/.hosts ;
692
	cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
693
694
695
	cp $(srcdir)/share/http/images/*.png $(top_builddir)/vlc-${VERSION}/http/images/
	cp $(srcdir)/share/http/requests/*.xml $(top_builddir)/vlc-${VERSION}/http/requests/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/requests/*.xml ;
696
697
	cp $(srcdir)/share/http/requests/readme $(top_builddir)/vlc-${VERSION}/http/requests/readme.txt ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/requests/readme.txt ;
gbazin's avatar
   
gbazin committed
698

zorglub's avatar
zorglub committed
699
700
701
	cp $(srcdir)/share/http/old/*.html $(top_builddir)/vlc-${VERSION}/http/old/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/old/*.html ;
	cp $(srcdir)/share/http/old/*.css $(top_builddir)/vlc-${VERSION}/http/old/ ;
702
	cp $(srcdir)/share/http/old/.hosts $(top_builddir)/vlc-${VERSION}/http/old/ ;
zorglub's avatar
zorglub committed
703
704
705
706
707
	cp $(srcdir)/share/http/old/*.png $(top_builddir)/vlc-${VERSION}/http/old/ ;
	cp $(srcdir)/share/http/old/vlm/*.html $(top_builddir)/vlc-${VERSION}/http/old/vlm/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/old/vlm/*.html ;
	cp $(srcdir)/share/http/old/admin/*.html $(top_builddir)/vlc-${VERSION}/http/old/admin/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/http/old/admin/*.html ;
708
	cp $(srcdir)/share/http/old/admin/.access $(top_builddir)/vlc-${VERSION}/http/old/admin/ ;
zorglub's avatar
zorglub committed
709

710
	cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ;
711

gbazin's avatar
   
gbazin committed
712
if BUILD_MOZILLA
713
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
714
	cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
gbazin's avatar
   
gbazin committed
715
716
endif

717
if BUILD_ACTIVEX
718
	mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
Christophe Mutricy's avatar
Christophe Mutricy committed
719
720
	cp $(srcdir)/activex/README.TXT  $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(srcdir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
721
722
723
724
	unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;

	cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ;
endif
725
# Rebase all those DLLs to speed up loading (need cygwin rebase)
726
	if rebase -b 0x42 /dev/null >/dev/null 2>&1; then \
727
728
		find $(top_builddir)/vlc-${VERSION} -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \
	fi
729

730
731
732
733
734
735
736
737
738
739
package-win-common-strip:
	$(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
	$(STRIP) "vlc-${VERSION}/libvlc$(LIBEXT)"
if BUILD_MOZILLA
	$(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
endif
if BUILD_ACTIVEX
	$(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
endif

740
741
package-win32-base-debug: package-win-common
# Copy relevant files
742
	cp "$(top_builddir)/vlc.win32.nsi" "$(top_builddir)/vlc-${VERSION}/"
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771

	mkdir -p "$(top_builddir)/vlc-${VERSION}/plugins"
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
	    $(INSTALL) "$(top_builddir)/$$i$(LIBEXT)" \
            "$(top_builddir)/vlc-${VERSION}/plugins/" ; \
	  fi ; done

	mkdir -p $(top_builddir)/vlc-${VERSION}/skins/fonts
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/fonts/ || true ; \
	done
	for i in $(srcdir)/share/skins2/*.*; do \
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/ || true ; \
	done

	mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu"
	cp $(srcdir)/share/osdmenu/*.* "$(top_builddir)/vlc-${VERSION}/osdmenu"
	for dir in dvd dvd/selected dvd/unselect dvd/selection dvd/volume default default/selected default/selection default/volume;do \
		mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir"; \
		for file in $(srcdir)/share/osdmenu/$${dir}/*.*;do \
			 cp $$file "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir" || true; \
		done; \
	done
	unix2dos $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg;
	sed -i 's%share/osdmenu%osdmenu%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg
	sed -i 's%/%\\%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg 


772
package-win32-base: package-win32-base-debug package-win-common-strip
773
774
775
	for i in "" $(top_builddir)/vlc-${VERSION}/plugins/*$(LIBEXT) ; \
	  do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done

776
package-win32-base-exe: package-win32-base
777
# Create package
778
	if makensis -VERSION >/dev/null 2>&1; then \
779
	    MAKENSIS="makensis -DVERSION=${VERSION}"; \
780
	elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \
781
	    MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis /DVERSION=${VERSION}"; \
782
	elif wine --version >dev/null 2>&1; then \
783
	    MAKENSIS="wine C:/Program\ Files/NSIS/makensis.exe /DVERSION=${VERSION}"; \
784
785
786
	else \
	    echo 'Error: cannot locate makensis tool'; exit 1; \
	fi; \
787
	eval "$$MAKENSIS $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi"
788

789
package-win32-base-exe-cygwin: package-win32-base-exe
790
# Create package
gbazin's avatar
   
gbazin committed
791

792
793
794
795
package-win32-base-exe-linux:
# Create package
	makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

796
package-win32-base-zip: package-win32-base
797
# Create package 
798
	zip -r -9 vlc-${VERSION}-win32.zip vlc-${VERSION}
gbazin's avatar
   
gbazin committed
799

dionoea's avatar
dionoea committed
800
801
802
803
package-win32-base-7zip: package-win32-base
# Create package 
	7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-${VERSION}-win32.7z vlc-${VERSION}

gbazin's avatar
   
gbazin committed
804
805
package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
806
	rm -Rf $(top_builddir)/vlc-${VERSION}
gbazin's avatar
   
gbazin committed
807

808
809
810
811
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

812
package-win32-zip: package-win32-base-zip
gbazin's avatar
   
gbazin committed
813
# Clean up
814
	rm -Rf $(top_builddir)/vlc-${VERSION}
gbazin's avatar
   
gbazin committed
815

dionoea's avatar
dionoea committed
816
817
818
819
package-win32-7zip: package-win32-base-7zip
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

820
821
822
package-win32-no-clean: package-win32-base-exe package-win32-base-zip package-win32-base-7zip

package-win32: package-win32-no-clean
823
# Clean up
824
	rm -Rf $(top_builddir)/vlc-${VERSION}
825

826
package-wince-base: package-win-common package-win-common-strip
827
828
829
830
831
832
833
834
835
836

package-wince-base-zip:
# Create package 
	zip -r vlc-${VERSION}-wince.zip vlc-${VERSION}

package-wince: package-wince-base  package-wince-base-zip
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}


837
838
package-beos:
# Check that tmp isn't in the way
839
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
840
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
841
	  false ; \
842
	else \
843
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
844
	fi
845

846
# Copy relevant files
847
	mkdir -p $(srcdir)/tmp/vlc ;
848
849
850
851
852
853
854
	cd $(srcdir) && cp -R vlc-bundle/* AUTHORS COPYING ChangeLog README \
	  THANKS NEWS tmp/vlc/ ;

# Create debug package
	xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
	find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
855
	(cd $(srcdir)/tmp && zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
856
857
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/ ;
	mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc ;
858

859
# Create normal package
860
861
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
862
	  --strip-debug --strip-unneeded "{}" \; ;
863
864
865
	xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
	find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
866
	(cd $(srcdir)/tmp &&  zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
867
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
868

869
# Clean up
870
	rm -Rf $(srcdir)/tmp ;
871
872

package-macosx:
873
874
875
# Check that the temporary location isn't in the way
	@if test -e "$(top_builddir)/vlc-${VERSION}/"; then \
	  rm -Rf "$(top_builddir)/vlc-${VERSION}/" ; \
876
877
	fi

878
879
880
	echo "Create package directory: vlc-${VERSION}/";
	mkdir -p "$(top_builddir)/vlc-${VERSION}/";

881
# Copy relevant files 
882
883
884
885
886
	@if test -e "$(top_builddir)/VLC-release.app/"; then \
	  cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/vlc-${VERSION}/VLC.app"; \
	else \
	  cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/vlc-${VERSION}/VLC.app"; \
	fi
887
888
889
890
891
892
893
894
895
	cd "$(srcdir)" && mkdir -p $(top_builddir)/vlc-${VERSION}/Goodies/ && \
          mkdir -p $(top_builddir)/vlc-${VERSION}/.background/ && \
          cp AUTHORS COPYING ChangeLog README THANKS NEWS $(top_builddir)/vlc-${VERSION}/Goodies/ && \
          cp -R extras/MacOSX/Delete_Preferences.app $(top_builddir)/vlc-${VERSION}/Goodies/Delete\ VLC\ Preferences.app && \
	  cp README.MacOSX.rtf $(top_builddir)/vlc-${VERSION}/Read\ Me.rtf && \
	  cp extras/MacOSX/Resources/about_bg.png $(top_builddir)/vlc-${VERSION}/.background/background.png ;

# Place a link to the application folder
	ln -s /Applications $(top_builddir)/vlc-${VERSION}/Applications ;
896
897

# Create disk image 
898
899
900
	echo "Creating disk image" ;
	rm -f "$(top_builddir)/vlc-${VERSION}.dmg" ;
	hdiutil create -srcfolder "$(top_builddir)/vlc-${VERSION}" \
901
	  "$(top_builddir)/vlc-${VERSION}.dmg" -format UDRW \
902
	  -scrub -imagekey zlib-level=9 ;
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938

# Make sure the root window of the dmg will pop up when the dmg is mounted.
# Note: We dont mount in /Volumes to be sure we won't collide with an other
# finder mounted dmg with the same name.
	echo "Make sure the root window of the dmg will pop up when the dmg is mounted" ;
	mkdir -p $(top_builddir)/vlcmnt ;
	hdiutil attach -readwrite -noverify -noautoopen "$(top_builddir)/vlc-${VERSION}.dmg" -mountpoint "$(top_builddir)/vlcmnt/vlc-${VERSION}" ;
	bless --folder "$(top_builddir)/vlcmnt/vlc-${VERSION}/" --openfolder "$(top_builddir)/vlcmnt/vlc-${VERSION}" ;
	sleep 1 # Make sure operation completes

# Place the image disk finder icon at the correct place
# Note: careful here the finder does some weird things
# sometimes. delays in the script should prevent those.
	cd "$(srcdir)"
	osascript -e "tell application \"Finder\"" \
	-e "   set f to POSIX file (\"$(top_builddir)/vlcmnt/vlc-${VERSION}/\" as string) as alias" \
	-e "   tell folder f" \
	-e "       open" \
	-e "       tell container window" \
	-e "          set toolbar visible to false" \
	-e "          set statusbar visible to false" \
	-e "          set current view to icon view" \
	-e "          delay 1 -- Sync" \
	-e "          set the bounds to {50, 100, 1000, 1000} -- Big size so the finder won't do silly things" \
	-e "       end tell" \
	-e "       delay 1 -- Sync" \
	-e "       set icon size of the icon view options of container window to 128" \
	-e "       set arrangement of the icon view options of container window to not arranged" \
	-e "       set background picture of the icon view options of container window to file \".background:background.png\"" \
	-e "       set position of item \"VLC.app\" to {100, 20}" \
	-e "       set position of item \"Applications\" to {310, 20}" \
	-e "       set position of item \"Goodies\" to {40, 200}" \
	-e "       set position of item \"Read Me.rtf\" to {410, 200}" \
	-e "       set the bounds of the container window to {50, 100, 590, 500}" \
	-e "       update without registering applications" \
	-e "       delay 5 -- Sync" \
Christophe Mutricy's avatar
Christophe Mutricy committed
939
	-e "       close" \
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
	-e "   end tell" \
	-e "   -- Sync" \
	-e "   delay 5" \
	-e "end tell" || true # Make sure we don't make the build bots fail

# Unmount the image now
	hdiutil detach "$(top_builddir)/vlcmnt/vlc-${VERSION}" ;
	rm -R $(top_builddir)/vlcmnt ;

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

# We are done
957
	echo "Disk image creation completed:" ;
958
	ls -la "$(top_builddir)/vlc-${VERSION}.dmg" ; echo ;
959
960

# Clean up
961
	rm -Rf "$(top_builddir)/vlc-${VERSION}" ;
962

963
964
package-macosx-plugin:
if BUILD_MOZILLA
965
966
# Create Installer
	rm -rf "$(top_builddir)/macosx-plugin-instdata/"; true
967
968
969
970
971
972
973
974
	mkdir -p "$(top_builddir)/macosx-plugin-instdata"
	cp -R "$(top_builddir)/mozilla/VLC Plugin.plugin" "$(top_builddir)/macosx-plugin-instdata"
	rm -rf "$(top_builddir)/VLC Internet Plug-In.pkg"
	/Developer/Tools/packagemaker -build -ds -p "$(top_builddir)/VLC Internet Plug-In.pkg" \
	-f "$(top_builddir)/macosx-plugin-instdata" \
	-i "$(srcdir)/extras/MacOSX/plugin/InstallerInfo.plist" \
	-d "$(srcdir)/extras/MacOSX/plugin/InstallerDescription.plist"; true
	rm -rf "$(top_builddir)/macosx-plugin-instdata/"
975
976
977
978
979
980
981
982
983
984
985

# Create disk image 
	rm -f "$(top_builddir)/vlc-plugin-${VERSION}.dmg"; true
	rm -rf "$(top_builddir)/vlc-plugin-${VERSION}/"; true
	mkdir -p "$(top_builddir)/vlc-plugin-${VERSION}/"
	mv "$(top_builddir)/VLC Internet Plug-In.pkg" "$(top_builddir)/vlc-plugin-${VERSION}/"
	hdiutil create -srcfolder "$(top_builddir)/vlc-plugin-${VERSION}" \
	  "$(top_builddir)/vlc-plugin-${VERSION}.dmg" -format UDZO \
	  -scrub -imagekey zlib-level=9 ;
	echo "Disk image creation completed:"
	rm -rf "$(top_builddir)/vlc-plugin-${VERSION}"
986
987
endif

988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
package-translations:
	@if test -e "$(srcdir)/vlc-translations-${VERSION}"; then \
	  echo "Error: please remove $(srcdir)/vlc-translations-${VERSION}, it is in the way"; \
	  false; \
	else \
	  echo "OK."; mkdir -p "$(srcdir)/vlc-translations-${VERSION}"; \
	fi
# Copy translations
	for i in $(ALL_LINGUAS); do \
	  cp "$(srcdir)/po/$${i}.po" \
	    "$(srcdir)/vlc-translations-${VERSION}/$${i}.po" \
	    || true ; \
	done
	cp "$(srcdir)/doc/translations.txt" \
	  "$(srcdir)/vlc-translations-${VERSION}/README.txt"

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

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

1016
1017
1018
1019
1020
1021
1022
1023
###############################################################################
# PO translation files update
###############################################################################
.PHONY: update-po

update-po:
	rm -f $(top_srcdir)/po/POTFILES.in
	{ \
1024
	  cd $(top_srcdir) && \
1025
1026
1027
1028
	  echo "# automatically created by make update-po" ; \
	  echo "" ; \
	  echo "# main sources" ; \
	  find include src -name '*.[chm]' -o -name '*.[ch]pp' \
1029
	    | grep -v '\(vlc_symbols\|misc/modules_\|src/misc/revision.c\|modules/builtin.h\)' \
1030
1031
1032
	    | sort ; \
	  echo "" ; \
	  echo "# modules" ; \
1033
	  find modules -name '*.[chm]' -o -name '*.[ch]pp' -o -wholename 'modules/gui/qt4/ui/*.ui'\
1034
	    | grep -v '\(\.moc\.\|gui/gtk2/\)' \
1035
	    | grep -vE 'qt4/ui/.*.h' |grep -v qt4/resources.cpp \
1036
1037
1038
	    | sort ; \
	} > $(top_srcdir)/po/POTFILES.in
	rm -f $(top_srcdir)/po/vlc.pot
1039
	cd po && $(MAKE) POTFILES vlc.pot update-po
1040
1041
1042

#cd po && $(MAKE) update-po

Sam Hocevar's avatar
Sam Hocevar committed
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
###############################################################################
# Stamp rules
###############################################################################
stamp-builtin: FORCE
	@for dep in "" `$(VLC_CONFIG) --target builtin`; do \
	  if test "$${dep}" -nt "$(top_builddir)/vlc$(EXEEXT)"; then \
	    rm -f $@; \
	    break; \
	  fi; \
	done
	@if test ! -f $@; then printf "" > $@; fi

1055
1056
1057
1058
1059
1060
###############################################################################
# Enforce Mac OS X deployment target environment variable
###############################################################################
macosx-sdk: Makefile.in $(HEADERS_include) vlc-config vlc-api.pl
	export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET)

1061
1062
1063
1064
###############################################################################
# Force rule
###############################################################################
FORCE: