Makefile.am 27.8 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.spec \
Alexis de Lattre's avatar
Alexis de Lattre committed
28
	vlc.spec.mdk \
29
	vlc.win32.nsi \
30
31
	$(NULL)

32
33
34
35
36
37
BUILT_SOURCES =
SUFFIXES = 

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

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

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

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

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 \
61
62
	include/vlc/intf.h \
	$(NULL)
63

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

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

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

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

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

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

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

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

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

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

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

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

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

gbazin's avatar
   
gbazin committed
255
dist-hook:
Sam Hocevar's avatar
Sam Hocevar committed
256
	cd $(distdir) && srcdir=$(srcdir) $(srcdir)/toolbox --update-vc
257
	distdir=$(distdir) srcdir=$(srcdir) $(srcdir)/toolbox --dist-contrib
gbazin's avatar
   
gbazin committed
258

259
260
261
262
263
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
264
265
266
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
	cd $(top_builddir) && $(SHELL) ./config.status --file=$@
	-cd $(top_builddir) && chmod 0755 $@
267

268
269
270
271
$(SOURCES): vlc-config

CLEANFILES = $(BUILT_SOURCES)

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

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

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
281
282
283
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`
284
285

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

EXTRA_DIST += \
310
311
312
313
314
	$(SOURCES_libvlc_beos) \
	$(SOURCES_libvlc_darwin) \
	$(SOURCES_libvlc_win32) \
	$(SOURCES_libvlc_dirent) \
	$(SOURCES_libvlc_getopt) \
315
316
	$(NULL)

317
SOURCES_libvlc_beos = \
318
	src/misc/beos_specific.cpp \
319
320
	$(NULL)

321
SOURCES_libvlc_darwin = \
322
	src/misc/darwin_specific.m \
323
324
	$(NULL)

325
SOURCES_libvlc_win32 = \
326
327
328
	src/misc/win32_specific.c \
	$(NULL)

329
SOURCES_libvlc_dirent = \
330
331
332
	src/extras/dirent.c \
	$(NULL)

333
SOURCES_libvlc_getopt = \
334
335
336
337
338
	src/extras/getopt.c \
	src/extras/getopt.h \
	src/extras/getopt1.c \
	$(NULL)

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

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

Sam Hocevar's avatar
Sam Hocevar committed
416
bin_PROGRAMS = vlc
417

418
vlc_SOURCES = src/vlc.c
419

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

424
425
# 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
426
DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
427

Sam Hocevar's avatar
Sam Hocevar committed
428
429
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
	@rm -f $(top_builddir)/vlc$(EXEEXT)
430
431
432
433
	@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
434
	esac
Eric Petit's avatar
Eric Petit committed
435

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

Sam Hocevar's avatar
Sam Hocevar committed
462
# Install the modules and the symlinks
463
install-exec-local:
Sam Hocevar's avatar
Sam Hocevar committed
464
	for i in "" `$(VLC_CONFIG) --target plugin` ; do if test -n "$$i" ; then \
465
466
	  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
467
	fi ; done
468
	for i in "" `$(VLC_CONFIG) --target builtin` ; do if test -n "$$i" ; then \
469
	  echo $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
470
	  $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
Sam Hocevar's avatar
Sam Hocevar committed
471
	fi ; done
472
473
474
475
476
477
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
478
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
479
480
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
	  ln -s vlc "$(DESTDIR)$(bindir)/$$i" ; \
481
482
483
484
	fi ; done

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

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

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

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

625
# Copy relevant files
626
627
628
629
	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)"
630

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

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

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

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

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

661
662
663
664
	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
665
	cp $(srcdir)/share/http/admin/*.html \
666
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
gbazin's avatar
   
gbazin committed
667
	cp $(srcdir)/share/http/admin/.access \
668
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
669
	cp $(srcdir)/share/http/vlm/*.html \
670
           $(top_builddir)/vlc-${VERSION}/http/vlm/ ;
gbazin's avatar
   
gbazin committed
671

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

674
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
gbazin's avatar
   
gbazin committed
675
if BUILD_MOZILLA
676
677
678
	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
679
680
endif

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/ ;
	$(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
749
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
750
	  --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: