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

5
6
NULL =

7
8
9
# 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.
10
11
12
13
#  - intl should come before modules and . because all the code uses gettext
#  - modules should come before . because vlc needs the builtins
#  - . should come before mozilla because the plugin needs libvlc_pic.a
#  - po should come before . because VLC.app needs the pofiles
14
SUBDIRS = intl modules po . mozilla activex share m4 doc
15
DIST_SUBDIRS = $(SUBDIRS) src debian ipkg lib
16

17
18
19
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
20
	vlc.exe.manifest \
21
22
23
24
25
	MAINTAINERS \
	README.MacOSX.rtf \
	bootstrap \
	src/extras/COPYING \
	toolbox \
Sam Hocevar's avatar
Sam Hocevar committed
26
	vlc-config.in.in \
27
	vlc.ebuild \
28
	vlc.spec \
Alexis de Lattre's avatar
Alexis de Lattre committed
29
	vlc.spec.mdk \
30
	vlc.win32.nsi \
31
32
	$(NULL)

33
34
35
36
37
38
BUILT_SOURCES =
SUFFIXES = 

# Tell aclocal to use -I m4. Wonder if it really works.
ACLOCAL_AMFLAGS = -I m4

39
# XXX: these flags could be set in configure.ac, but we set them here
40
# because old versions of automake don't support them in configure.ac.
41
AUTOMAKE_OPTIONS = dist-bzip2 subdir-objects
42

43
44
45
46
47
48
49
###############################################################################
# Headers
###############################################################################

BUILT_SOURCES += \
	include/vlc_symbols.h \
	src/misc/modules_builtin.h \
50
51
	src/misc/modules_plugin.h \
	$(NULL)
52
53
54
55
56
57
58
59
60
61

pkgincludedir = $(includedir)/vlc

dist_pkginclude_HEADERS = \
	include/vlc/vlc.h \
	include/vlc/aout.h \
	include/vlc/vout.h \
	include/vlc/sout.h \
	include/vlc/decoder.h \
	include/vlc/input.h \
62
63
	include/vlc/intf.h \
	$(NULL)
64

Sam Hocevar's avatar
Sam Hocevar committed
65
noinst_HEADERS = $(HEADERS_include) $(HEADERS_include_built)
66
67
68
69
70

HEADERS_include = \
	include/aout_internal.h \
	include/audio_output.h \
	include/beos_specific.h \
71
	include/charset.h \
72
	include/codecs.h \
73
74
	include/configuration.h \
	include/darwin_specific.h \
75
76
77
78
79
80
81
82
	include/intf_eject.h \
	include/iso_lang.h \
	include/main.h \
	include/mmx.h \
	include/modules.h \
	include/modules_inner.h \
	include/mtime.h \
	include/network.h \
83
	include/osd.h \
84
	include/os_specific.h \
85
	include/snapshot.h \
86
	include/stream_output.h \
Sam Hocevar's avatar
Sam Hocevar committed
87
	include/variables.h \
88
	include/video_output.h \
89
	include/vlc_access.h \
90
	include/vlc_bits.h \
91
	include/vlc_block.h \
gbazin's avatar
   
gbazin committed
92
	include/vlc_block_helper.h \
gbazin's avatar
   
gbazin committed
93
	include/vlc_codec.h \
94
95
96
	include/vlc_common.h \
	include/vlc_config.h \
	include/vlc_cpu.h \
97
	include/vlc_demux.h \
98
	include/vlc_error.h \
99
	include/vlc_es.h \
100
	include/vlc_es_out.h \
101
	include/vlc_filter.h \
zorglub's avatar
zorglub committed
102
	include/vlc_config_cat.h \
103
	include/vlc_httpd.h \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
104
	include/vlc_tls.h \
105
	include/vlc_image.h \
106
	include/vlc_input.h \
107
	include/vlc_interface.h \
gbazin's avatar
   
gbazin committed
108
	include/vlc_keys.h \
109
	include/vlc_messages.h \
gbazin's avatar
   
gbazin committed
110
	include/vlc_meta.h \
111
112
	include/vlc_objects.h \
	include/vlc_playlist.h \
113
	include/vlc_spu.h \
114
	include/vlc_stream.h \
115
	include/vlc_threads_funcs.h \
116
	include/vlc_threads.h \
117
	include/vlc_video.h \
118
	include/vlc_vlm.h \
119
	include/vlc_vod.h \
gbazin's avatar
gbazin committed
120
	include/vlc_xml.h \
121
	include/vout_synchro.h \
122
123
	include/win32_specific.h \
	$(NULL)
124
125

HEADERS_include_built = \
126
127
	include/vlc_symbols.h \
	$(NULL)
128
129

include/vlc_symbols.h: Makefile $(HEADERS_include)
Sam Hocevar's avatar
Sam Hocevar committed
130
	srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
131
132

src/misc/modules_plugin.h: Makefile src/misc/modules_plugin.h.in $(HEADERS_include)
Sam Hocevar's avatar
Sam Hocevar committed
133
	srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
134
135

src/misc/modules_builtin.h: Makefile src/misc/modules_builtin.h.in
Sam Hocevar's avatar
Sam Hocevar committed
136
	srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
137

138
139
# These dependencies are mandatory
$(SOURCES): include/vlc_symbols.h
140
$(SOURCES_libvlc): src/misc/modules_plugin.h src/misc/modules_builtin.h $(LIB_intl)
141

142
143
144
145
146
###############################################################################
# Optional libintl - FIXME, bad dependencies
###############################################################################

intl/libintl.a: FORCE
Sam Hocevar's avatar
Sam Hocevar committed
147
	cd $(top_builddir)/intl && $(MAKE) $(AM_MAKEFLAGS)
148
149
150
151
152

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

153
154
155
156
157
158
159
160
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib \
hartman's avatar
hartman committed
161
162
	extras/MacOSX/Resources/English.lproj/About.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/About.nib/info.nib \
163
	extras/MacOSX/Resources/English.lproj/About.nib/keyedobjects.nib \
hartman's avatar
hartman committed
164
165
	extras/MacOSX/Resources/English.lproj/Open.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Open.nib/info.nib \
166
	extras/MacOSX/Resources/English.lproj/Open.nib/keyedobjects.nib \
hartman's avatar
hartman committed
167
168
	extras/MacOSX/Resources/English.lproj/Preferences.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \
169
	extras/MacOSX/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
170
	extras/MacOSX/Resources/English.lproj/InfoPlist.strings \
171
	extras/MacOSX/Resources/English.lproj/vlc.scriptTerminology \
172
173
174
175
176
177
178
179
	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 \
180
	extras/MacOSX/Resources/divx.icns \
181
	extras/MacOSX/Resources/dv.icns \
182
	extras/MacOSX/Resources/generic.icns \
183
184
185
186
	extras/MacOSX/Resources/m3u.icns \
	extras/MacOSX/Resources/mov.icns \
	extras/MacOSX/Resources/mp3.icns \
	extras/MacOSX/Resources/mp4.icns \
187
188
189
190
	extras/MacOSX/Resources/mpeg.icns \
	extras/MacOSX/Resources/mpeg1.icns \
	extras/MacOSX/Resources/mpeg2.icns \
	extras/MacOSX/Resources/mpeg4.icns \
191
192
193
194
195
196
	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 \
197
	extras/MacOSX/Resources/vlc.icns \
198
199
200
	extras/MacOSX/Resources/vob.icns \
	extras/MacOSX/Resources/wma.icns \
	extras/MacOSX/Resources/wmv.icns \
201
	extras/MacOSX/Resources/pause.png \
202
	extras/MacOSX/Resources/pause_blue.png \
203
	extras/MacOSX/Resources/play.png \
204
	extras/MacOSX/Resources/play_blue.png \
205
	extras/MacOSX/Resources/stop.png \
206
207
208
209
	extras/MacOSX/Resources/stop_blue.png \
	extras/MacOSX/Resources/display.png \
	extras/MacOSX/Resources/display_slider.png \
	extras/MacOSX/Resources/display_track.png \
210
211
	extras/MacOSX/Resources/equalizerdrawer_active.png \
	extras/MacOSX/Resources/equalizerdrawer_blue.png \
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
	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 \
229
	extras/MacOSX/Resources/about_bg.png \
230
	extras/MacOSX/Resources/vlc.scriptSuite \
231
	extras/MacOSX/Resources/README \
232
	extras/MacOSX/vlc.pbproj/project.pbxproj \
233
	extras/MacOSX/macosx-dmg \
234
235
236
	$(NULL)

###############################################################################
237
# MS Visual Studio and eMbedded Visual Studio projects
238
239
240
241
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
242
243
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
244
	msvc/vlc.dsp.in \
245
	msvc/config.h.in \
246
	msvc/modules_builtin_msvc.h \
247
	evc/vlc.vcw \
248
	evc/libvlc.vcp.in \
249
	evc/vlc.vcp.in \
250
	evc/plugins.vcp.in \
251
	evc/errno.h \
252
	evc/config.h.in \
253
	evc/modules_builtin_evc.h \
254
255
	$(NULL)

gbazin's avatar
   
gbazin committed
256
dist-hook:
Sam Hocevar's avatar
Sam Hocevar committed
257
	cp $(distdir)/vlc.ebuild $(distdir)/vlc-${VERSION}.ebuild
Sam Hocevar's avatar
Sam Hocevar committed
258
	cd $(distdir) && srcdir=$(srcdir) $(srcdir)/toolbox --update-vc
259
	distdir=$(distdir) srcdir=$(srcdir) $(srcdir)/toolbox --dist-contrib
gbazin's avatar
   
gbazin committed
260

261
262
263
264
265
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
266
267
268
269
CLEANFILES = $(bin_SCRIPTS)
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
	cd $(top_builddir) && $(SHELL) ./config.status --file=$@
	-cd $(top_builddir) && chmod 0755 $@
270

Sam Hocevar's avatar
Sam Hocevar committed
271
lib_LIBRARIES = lib/libvlc.a $(LIBRARIES_libvlc_pic)
272
273

lib_libvlc_a_SOURCES = $(SOURCES_libvlc)
gbazin's avatar
   
gbazin committed
274
dist_lib_libvlc_a_SOURCES = src/misc/modules_plugin.h
Sam Hocevar's avatar
Sam Hocevar committed
275
276
277
lib_libvlc_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
lib_libvlc_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc`
lib_libvlc_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc`
278
279

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
280
281
282
lib_libvlc_pic_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc pic`
lib_libvlc_pic_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc pic`
lib_libvlc_pic_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc pic`
283
284

if HAVE_BEOS
285
OPT_SOURCES_libvlc_beos = $(SOURCES_libvlc_beos)
286
287
endif
if HAVE_DARWIN
288
OPT_SOURCES_libvlc_darwin = $(SOURCES_libvlc_darwin)
289
290
endif
if HAVE_WIN32
291
OPT_SOURCES_libvlc_win32 = $(SOURCES_libvlc_win32)
292
293
endif
if BUILD_DIRENT
294
OPT_SOURCES_libvlc_dirent = $(SOURCES_libvlc_dirent)
295
296
endif
if BUILD_GETOPT
297
OPT_SOURCES_libvlc_getopt = $(SOURCES_libvlc_getopt)
298
endif
299
if BUILD_MOZILLA
300
if !HAVE_WIN32
301
302
LIBRARIES_libvlc_pic = lib/libvlc_pic.a
endif
303
endif
304
305

EXTRA_DIST += \
306
307
308
309
310
	$(SOURCES_libvlc_beos) \
	$(SOURCES_libvlc_darwin) \
	$(SOURCES_libvlc_win32) \
	$(SOURCES_libvlc_dirent) \
	$(SOURCES_libvlc_getopt) \
311
312
	$(NULL)

313
SOURCES_libvlc_beos = \
314
	src/misc/beos_specific.cpp \
315
316
	$(NULL)

317
SOURCES_libvlc_darwin = \
318
	src/misc/darwin_specific.m \
319
320
	$(NULL)

321
SOURCES_libvlc_win32 = \
322
323
324
	src/misc/win32_specific.c \
	$(NULL)

325
SOURCES_libvlc_dirent = \
326
327
328
329
	src/extras/dirent.c \
	src/extras/dirent.h \
	$(NULL)

330
SOURCES_libvlc_getopt = \
331
332
333
334
335
	src/extras/getopt.c \
	src/extras/getopt.h \
	src/extras/getopt1.c \
	$(NULL)

336
SOURCES_libvlc_common = \
337
338
339
340
341
	src/libvlc.c \
	src/libvlc.h \
	src/interface/interface.c \
	src/interface/intf_eject.c \
	src/playlist/playlist.c \
zorglub's avatar
zorglub committed
342
343
	src/playlist/sort.c \
	src/playlist/loadsave.c \
zorglub's avatar
Fixes    
zorglub committed
344
	src/playlist/view.c \
zorglub's avatar
zorglub committed
345
	src/playlist/item.c \
346
	src/playlist/item-ext.c \
zorglub's avatar
zorglub committed
347
	src/playlist/services_discovery.c \
Laurent Aimar's avatar
Laurent Aimar committed
348
349
	src/input/access.c \
	src/input/clock.c \
gbazin's avatar
gbazin committed
350
	src/input/control.c \
Laurent Aimar's avatar
Laurent Aimar committed
351
352
	src/input/decoder.c \
	src/input/demux.c \
353
	src/input/es_out.c \
Laurent Aimar's avatar
Laurent Aimar committed
354
355
	src/input/input.c \
	src/input/input_internal.h \
356
	src/input/stream.c \
357
	src/input/mem_stream.c \
358
	src/input/subtitles.c \
Laurent Aimar's avatar
Laurent Aimar committed
359
	src/input/var.c \
360
361
362
363
	src/video_output/video_output.c \
	src/video_output/vout_pictures.c \
	src/video_output/vout_pictures.h \
	src/video_output/video_text.c \
364
	src/video_output/video_widgets.c \
365
	src/video_output/vout_subpictures.c \
366
	src/video_output/vout_synchro.c \
gbazin's avatar
gbazin committed
367
	src/video_output/vout_intf.c \
368
369
370
371
372
373
374
375
	src/audio_output/common.c \
	src/audio_output/dec.c \
	src/audio_output/filters.c \
	src/audio_output/input.c \
	src/audio_output/mixer.c \
	src/audio_output/output.c \
	src/audio_output/intf.c \
	src/stream_output/stream_output.c \
zorglub's avatar
zorglub committed
376
377
	src/stream_output/announce.c \
	src/stream_output/sap.c \
378
	src/misc/charset.c \
Laurent Aimar's avatar
Laurent Aimar committed
379
	src/misc/httpd.c \
380
	src/misc/tls.c \
381
	src/misc/mtime.c \
382
	src/misc/block.c \
383
384
385
386
	src/misc/modules.c \
	src/misc/threads.c \
	src/misc/cpu.c \
	src/misc/configuration.c \
387
	src/misc/image.c \
388
	src/misc/iso_lang.c \
389
	src/misc/iso-639_def.h \
390
391
	src/misc/messages.c \
	src/misc/objects.c \
Sam Hocevar's avatar
Sam Hocevar committed
392
	src/misc/variables.c \
393
	src/misc/error.c \
Laurent Aimar's avatar
   
Laurent Aimar committed
394
	src/misc/net.c \
395
	src/misc/vlm.c \
gbazin's avatar
gbazin committed
396
	src/misc/xml.c \
397
	src/extras/libc.c \
398
399
400
401
402
403
404
405
406
	$(NULL)

SOURCES_libvlc = \
	$(SOURCES_libvlc_common) \
	$(OPT_SOURCES_libvlc_beos) \
	$(OPT_SOURCES_libvlc_darwin) \
	$(OPT_SOURCES_libvlc_win32) \
	$(OPT_SOURCES_libvlc_dirent) \
	$(OPT_SOURCES_libvlc_getopt) \
407
	$(NULL)
408
409
410
411
412

###############################################################################
# Building vlc
###############################################################################

Sam Hocevar's avatar
Sam Hocevar committed
413
bin_PROGRAMS = vlc
414

415
vlc_SOURCES = src/vlc.c
416

Sam Hocevar's avatar
Sam Hocevar committed
417
418
419
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin`
vlc_LDADD = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
420

421
422
# We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an
# old automake-1.5 bug (automake/279).
Sam Hocevar's avatar
Sam Hocevar committed
423
DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
424

Sam Hocevar's avatar
Sam Hocevar committed
425
426
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
	@rm -f $(top_builddir)/vlc$(EXEEXT)
427
428
429
430
	@case `$(VLC_CONFIG) --linkage vlc builtin` in \
	  c++) echo $(CXXLINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ; $(CXXLINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ;; \
	  objc) echo $(OBJCLINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ; $(OBJCLINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ;; \
	  c|*) echo $(LINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ; $(LINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ;; \
Sam Hocevar's avatar
Sam Hocevar committed
431
	esac
Eric Petit's avatar
Eric Petit committed
432

433
if HAVE_BEOS
434
noinst_DATA = vlc-bundle
435
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
436
437
438
	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
439
440
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
441
442
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
443
444
	  fi ; \
	done
Sam Hocevar's avatar
Sam Hocevar committed
445
446
447
448
	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/ ; \
449
450
	  done ; \
	fi
Eric Petit's avatar
Eric Petit committed
451
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
452
453
454
	  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
455
	done
Sam Hocevar's avatar
Sam Hocevar committed
456
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
457
458
endif

Sam Hocevar's avatar
Sam Hocevar committed
459
# Install the modules and the symlinks
460
install-exec-local:
Sam Hocevar's avatar
Sam Hocevar committed
461
	for i in "" `$(VLC_CONFIG) --target plugin` ; do if test -n "$$i" ; then \
462
463
	  echo $(INSTALL) -m 755 "$$i$(LIBEXT)" "$(DESTDIR)$(libdir)/vlc/`echo $$i | sed -e 's,.*modules/\([^/]*\).*,\1,'`" ; \
	  $(INSTALL) -m 755 "$$i$(LIBEXT)" "$(DESTDIR)$(libdir)/vlc/`echo $$i | sed -e 's,.*modules/\([^/]*\).*,\1,'`" ; \
Sam Hocevar's avatar
Sam Hocevar committed
464
	fi ; done
465
	for i in "" `$(VLC_CONFIG) --target builtin` ; do if test -n "$$i" ; then \
466
	  echo $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
467
	  $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
Sam Hocevar's avatar
Sam Hocevar committed
468
	fi ; done
469
470
471
472
473
474
if BUILD_MOZILLA
	for i in "" `$(VLC_CONFIG) --target builtin pic` ; do if test -n "$$i" ; then \
	  echo $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
	  $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
	fi ; done
endif
Sam Hocevar's avatar
Sam Hocevar committed
475
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
476
477
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
	  ln -s vlc "$(DESTDIR)$(bindir)/$$i" ; \
478
479
480
481
	fi ; done

if HAVE_DARWIN
# Create the MacOS X app
hartman's avatar
hartman committed
482
vlc_app_DATA = VLC.app
483
vlc_appdir = $(bindir)
Sam Hocevar's avatar
Sam Hocevar committed
484
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
	@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
	cp -r $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
	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
	cp $(srcdir)/modules/audio_output/coreaudio.c \
	   $(top_builddir)/tmp/modules/audio_output/coreaudio.c
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
507
508
	    equalizer.h \
	    equalizer.m \
Loïc Minier's avatar
Loïc Minier committed
509
510
511
512
513
514
515
516
517
518
519
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
520
521
	    playlistinfo.h \
	    playlistinfo.m \
522
523
	    prefs_widgets.h \
	    prefs_widgets.m \
Loïc Minier's avatar
Loïc Minier committed
524
525
526
	    prefs.h \
	    prefs.m \
	    vout.h \
hartman's avatar
hartman committed
527
528
	    voutqt.m \
	    voutgl.m \
Loïc Minier's avatar
Loïc Minier committed
529
530
531
532
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
533
	cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'
534
	cp -r $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
Loïc Minier's avatar
Loïc Minier committed
535
536
537
538
539
	      $(top_builddir)/VLC.app
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
	$(INSTALL) $(top_builddir)/vlc \
		   $(top_builddir)/VLC.app/Contents/MacOS/VLC
hartman's avatar
hartman committed
540
	ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
Loïc Minier's avatar
Loïc Minier committed
541
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
Sam Hocevar's avatar
Sam Hocevar committed
542
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
543
544
545
	  if test -n "$$i" ; \
	    then $(INSTALL) "$$i$(LIBEXT)" \
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
546
	  fi ; done
547
	if test -d $(top_builddir)/extras/contrib/vlc-lib; then \
548
549
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
	  for i in $(top_builddir)/extras/contrib/vlc-lib/*.dylib ; do \
550
	    $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \
551
	  done ; \
552
	fi
Loïc Minier's avatar
Loïc Minier committed
553
554
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http
555
556
557
	for i in $(srcdir)/share/http/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/share/http/`basename $${i}` ; \
	done ; \
hartman's avatar
hartman committed
558
559
560
561
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http/vlm
	for i in $(srcdir)/share/http/vlm/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/share/http/vlm/`basename $${i}` ; \
	done ; \
Loïc Minier's avatar
Loïc Minier committed
562
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin
563
564
565
	for i in $(srcdir)/share/http/admin/* ; do \
	  $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin/`basename $${i}` ; \
	done ; \
566
	$(INSTALL) -m 644 $(srcdir)/share/http/admin/.access $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin/.access
Loïc Minier's avatar
Loïc Minier committed
567
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
568
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
569
570
571
572
573
574
575
576
577
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
	  cp $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
	  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 ; \
	  ln -sf ../English.lproj/vlc.scriptTerminology \
	      $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
578
	done
Loïc Minier's avatar
Loïc Minier committed
579
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
580
581
582
endif

if HAVE_WIN32
583
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
584
585
586
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
587
	$(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 $@
588
589
endif

590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
###############################################################################
# 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); }; }

608
609
610
611
612
613
614
###############################################################################
# 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.
#
gbazin's avatar
   
gbazin committed
615
package-win32-base:
616
# Check that tmp isn't in the way
617
618
	@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
619
	  false; \
620
	else \
621
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
622
	fi
623

624
# Copy relevant files
625
626
627
628
	cp "$(srcdir)/vlc.win32.nsi" "$(top_builddir)/vlc-${VERSION}/"
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
	cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
	$(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
629

gbazin's avatar
   
gbazin committed
630
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
631
632
	  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
633

634
	mkdir -p "$(top_builddir)/vlc-${VERSION}/plugins"
Sam Hocevar's avatar
Sam Hocevar committed
635
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Sam Hocevar's avatar
Sam Hocevar committed
636
	  if test -n "$$i" ; then \
637
638
	    $(INSTALL) "$(top_builddir)/$$i$(LIBEXT)" \
            "$(top_builddir)/vlc-${VERSION}/plugins/" ; \
Sam Hocevar's avatar
Sam Hocevar committed
639
	  fi ; done
gbazin's avatar
   
gbazin committed
640

641
	for i in "" $(top_builddir)/vlc-${VERSION}/plugins/*$(LIBEXT) ; \
642
	  do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done
gbazin's avatar
   
gbazin committed
643

644
	mkdir $(top_builddir)/vlc-${VERSION}/locale
gbazin's avatar
   
gbazin committed
645
	for i in $(ALL_LINGUAS); do \
646
	  mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
647
	  cp "$(srcdir)/po/$${i}.gmo" \
648
	    "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
gbazin's avatar
   
gbazin committed
649
            || true ; \
gbazin's avatar
   
gbazin committed
650
651
	done

652
	mkdir -p $(top_builddir)/vlc-${VERSION}/skins/fonts
653
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
654
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/fonts/ || true ; \
655
	done
656
	for i in $(srcdir)/share/skins2/*.*; do \
657
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/ || true ; \
658
	done
gbazin's avatar
   
gbazin committed
659

660
661
662
663
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/admin"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/vlm"
	cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
gbazin's avatar
   
gbazin committed
664
	cp $(srcdir)/share/http/admin/*.html \
665
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
gbazin's avatar
   
gbazin committed
666
	cp $(srcdir)/share/http/admin/.access \
667
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
668
	cp $(srcdir)/share/http/vlm/*.html \
669
           $(top_builddir)/vlc-${VERSION}/http/vlm/ ;
gbazin's avatar
   
gbazin committed
670

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

673
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
gbazin's avatar
   
gbazin committed
674
if BUILD_MOZILLA
675
676
677
	cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
	$(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
	cp $(top_builddir)/mozilla/vlcintf.xpt  $(top_builddir)/vlc-${VERSION}/mozilla/ ;
gbazin's avatar
   
gbazin committed
678
679
endif

680
681
682
683
684
685
686
687
688
689
690
	mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
if BUILD_ACTIVEX
	cp $(top_builddir)/activex/README.TXT  $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(top_builddir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;

	cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(top_builddir)/activex/*.reg $(top_builddir)/vlc-${VERSION}/activex/ ;
	$(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
endif

gbazin's avatar
   
gbazin committed
691
package-win32-base-exe:
692
# Create package
gbazin's avatar
   
gbazin committed
693
	wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe \
694
695
696
697
698
699
             /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

package-win32-base-exe-cygwin:
# Create package
	C:/Program\ Files/NSIS/makensis.exe \
             /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi
gbazin's avatar
   
gbazin committed
700

701
702
703
704
package-win32-base-exe-linux:
# Create package
	makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

gbazin's avatar
   
gbazin committed
705
package-win32-base-zip:
706
# Create package 
gbazin's avatar
   
gbazin committed
707
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
gbazin's avatar
   
gbazin committed
708
709
710

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

713
714
715
716
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

gbazin's avatar
   
gbazin committed
717
718
package-win32-zip: package-win32-base package-win32-base-zip
# Clean up
719
	rm -Rf $(top_builddir)/vlc-${VERSION}
gbazin's avatar
   
gbazin committed
720
721

package-win32: package-win32-base package-win32-base-exe package-win32-base-zip
722
# Clean up
723
	rm -Rf $(top_builddir)/vlc-${VERSION}
724
725
726

package-beos:
# Check that tmp isn't in the way
727
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
728
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
729
	  false ; \
730
	else \
731
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
732
	fi
733

734
# Copy relevant files
735
	mkdir -p $(srcdir)/tmp/vlc ;
736
737
738
739
740
741
742
743
744
745
	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} ;
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/ ;
	mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc ;
746

747
# Create normal package
748
	strip --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
749
750
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec strip \
	  --strip-debug --strip-unneeded "{}" \; ;
751
752
753
	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} ;
754
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
755
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
756

757
# Clean up
758
	rm -Rf $(srcdir)/tmp ;
759
760
761

package-macosx:
# Check that tmp isn't in the way
Loïc Minier's avatar
Loïc Minier committed
762
763
	@if test -e "$(top_builddir)/tmp"; then \
	  echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
764
	  false; \
765
	else \
Loïc Minier's avatar
Loïc Minier committed
766
	  echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
767
768
769
	fi

# Copy relevant files 
Loïc Minier's avatar
Loïc Minier committed
770
771
	cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/tmp/"
	cd "$(srcdir)" && cp AUTHORS COPYING ChangeLog README README.MacOSX.rtf THANKS NEWS $(top_builddir)/tmp/
772
773

# Create disk image 
774
	$(srcdir)/extras/MacOSX/macosx-dmg "vlc-${VERSION}" $(top_builddir)/tmp
775
776

# Clean up
Loïc Minier's avatar
Loïc Minier committed
777
	rm -Rf $(top_builddir)/tmp
778

779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
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

Sam Hocevar's avatar
Sam Hocevar committed
807
808
809
###############################################################################
# Stamp rules
###############################################################################
810
clean: clean-stamp clean-recursive
Sam Hocevar's avatar
Sam Hocevar committed
811
clean-stamp:
812
	rm -f stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
813
814
815
816
817
818
819
820
821
822

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

823
824
825
826
###############################################################################
# Force rule
###############################################################################
FORCE: