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 \
Gildas Bazin's avatar
 
Gildas Bazin committed
92
	include/vlc_block_helper.h \
Gildas Bazin's avatar
 
Gildas Bazin 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 \
Clément Stenac's avatar
Clément Stenac 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 \
Gildas Bazin's avatar
 
Gildas Bazin committed
108
	include/vlc_keys.h \
109
	include/vlc_messages.h \
Gildas Bazin's avatar
 
Gildas Bazin 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 \
Gildas Bazin's avatar
Gildas Bazin 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 \
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 \
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 \
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)

Gildas Bazin's avatar
 
Gildas Bazin 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
Gildas Bazin's avatar
 
Gildas Bazin committed
260

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

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

270 271 272 273
$(SOURCES): vlc-config

CLEANFILES = $(BUILT_SOURCES)

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

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

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

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

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

319
SOURCES_libvlc_beos = \
320
	src/misc/beos_specific.cpp \
321 322
	$(NULL)

323
SOURCES_libvlc_darwin = \
324
	src/misc/darwin_specific.m \
325 326
	$(NULL)

327
SOURCES_libvlc_win32 = \
328 329 330
	src/misc/win32_specific.c \
	$(NULL)

331
SOURCES_libvlc_dirent = \
332 333 334
	src/extras/dirent.c \
	$(NULL)

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

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

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

Sam Hocevar's avatar
Sam Hocevar committed
418
bin_PROGRAMS = vlc
419

420
vlc_SOURCES = src/vlc.c
421

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

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

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

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

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

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

if HAVE_WIN32
588
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
589 590 591
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
592
	$(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 $@
593 594
endif

595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612
###############################################################################
# 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); }; }

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

629
# Copy relevant files
630 631 632 633
	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)"
634

Gildas Bazin's avatar
 
Gildas Bazin committed
635
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
636 637
	  do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; \
	  unix2dos "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
638

639
	mkdir -p "$(top_builddir)/vlc-${VERSION}/plugins"
Sam Hocevar's avatar
Sam Hocevar committed
640
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Sam Hocevar's avatar
Sam Hocevar committed
641
	  if test -n "$$i" ; then \
642 643
	    $(INSTALL) "$(top_builddir)/$$i$(LIBEXT)" \
            "$(top_builddir)/vlc-${VERSION}/plugins/" ; \
Sam Hocevar's avatar
Sam Hocevar committed
644
	  fi ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
645

646
	for i in "" $(top_builddir)/vlc-${VERSION}/plugins/*$(LIBEXT) ; \
647
	  do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
648

649
	mkdir $(top_builddir)/vlc-${VERSION}/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
650
	for i in $(ALL_LINGUAS); do \
651
	  mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
652
	  cp "$(srcdir)/po/$${i}.gmo" \
653
	    "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
654
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
655 656
	done

657
	mkdir -p $(top_builddir)/vlc-${VERSION}/skins/fonts
658
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
659
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/fonts/ || true ; \
660
	done
661
	for i in $(srcdir)/share/skins2/*.*; do \
662
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/ || true ; \
663
	done
Gildas Bazin's avatar
 
Gildas Bazin committed
664

665 666 667 668
	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/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
669
	cp $(srcdir)/share/http/admin/*.html \
670
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
671
	cp $(srcdir)/share/http/admin/.access \
672
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
673
	cp $(srcdir)/share/http/vlm/*.html \
674
           $(top_builddir)/vlc-${VERSION}/http/vlm/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
675

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

678
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
Gildas Bazin's avatar
 
Gildas Bazin committed
679
if BUILD_MOZILLA
680 681 682
	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/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
683 684
endif

685 686 687 688 689 690 691 692 693 694
	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

Gildas Bazin's avatar
 
Gildas Bazin committed
695
package-win32-base-exe:
696
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
697
	wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe \
698 699 700 701 702 703
             /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
Gildas Bazin's avatar
 
Gildas Bazin committed
704

705 706 707 708
package-win32-base-exe-linux:
# Create package
	makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

Gildas Bazin's avatar
 
Gildas Bazin committed
709
package-win32-base-zip:
710
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
711
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
712 713 714

package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
715
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
716

717 718 719 720
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

Gildas Bazin's avatar
 
Gildas Bazin committed
721 722
package-win32-zip: package-win32-base package-win32-base-zip
# Clean up
723
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
724 725

package-win32: package-win32-base package-win32-base-exe package-win32-base-zip
726
# Clean up
727
	rm -Rf $(top_builddir)/vlc-${VERSION}
728 729 730

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

738
# Copy relevant files
739
	mkdir -p $(srcdir)/tmp/vlc ;
740 741 742 743 744 745 746 747 748 749
	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 ;
750

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

761
# Clean up
762
	rm -Rf $(srcdir)/tmp ;
763 764 765

package-macosx:
# Check that tmp isn't in the way
Loïc Minier's avatar
Loïc Minier committed
766 767
	@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
768
	  false; \
769
	else \
Loïc Minier's avatar
Loïc Minier committed
770
	  echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
771 772 773
	fi

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

# Create disk image 
778
	$(srcdir)/extras/MacOSX/macosx-dmg "vlc-${VERSION}" $(top_builddir)/tmp
779 780

# Clean up
Loïc Minier's avatar
Loïc Minier committed
781
	rm -Rf $(top_builddir)/tmp
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 807 808 809 810
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
811 812 813
###############################################################################
# Stamp rules
###############################################################################
814
clean: clean-stamp clean-recursive
Sam Hocevar's avatar
Sam Hocevar committed
815
clean-stamp:
816
	rm -f stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
817 818 819 820 821 822 823 824 825 826

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

827 828 829 830
###############################################################################
# Force rule
###############################################################################
FORCE: