Makefile.am 25.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 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 \
102
	include/vlc_help.h \
103 104
	include/vlc_httpd.h \
	include/vlc_input.h \
105
	include/vlc_interface.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
106
	include/vlc_keys.h \
107
	include/vlc_messages.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
108
	include/vlc_meta.h \
109 110
	include/vlc_objects.h \
	include/vlc_playlist.h \
111
	include/vlc_spu.h \
112
	include/vlc_stream.h \
113
	include/vlc_threads_funcs.h \
114
	include/vlc_threads.h \
115
	include/vlc_video.h \
116
	include/vlc_vlm.h \
117
	include/vlc_vod.h \
118
	include/vout_synchro.h \
119 120
	include/win32_specific.h \
	$(NULL)
121 122

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

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

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

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

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

139 140 141 142 143
###############################################################################
# Optional libintl - FIXME, bad dependencies
###############################################################################

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

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

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

###############################################################################
225
# MS Visual Studio and eMbedded Visual Studio projects
226 227 228 229
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
230 231
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
232
	msvc/vlc.dsp.in \
233
	msvc/config.h.in \
234
	msvc/modules_builtin_msvc.h \
235
	evc/vlc.vcw \
236
	evc/libvlc.vcp.in \
237
	evc/vlc.vcp.in \
238
	evc/plugins.vcp.in \
239
	evc/vlc.c \
240
	evc/config.h.in \
241
	evc/modules_builtin_evc.h \
242 243
	$(NULL)

Gildas Bazin's avatar
 
Gildas Bazin committed
244
dist-hook:
Sam Hocevar's avatar
Sam Hocevar committed
245
	cp $(distdir)/vlc.ebuild $(distdir)/vlc-${VERSION}.ebuild
Sam Hocevar's avatar
Sam Hocevar committed
246
	cd $(distdir) && srcdir=$(srcdir) $(srcdir)/toolbox --update-vc
Gildas Bazin's avatar
 
Gildas Bazin committed
247

248 249 250 251 252 253
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config

Sam Hocevar's avatar
Sam Hocevar committed
254
lib_LIBRARIES = lib/libvlc.a $(LIBRARIES_libvlc_pic)
255 256

lib_libvlc_a_SOURCES = $(SOURCES_libvlc)
Gildas Bazin's avatar
 
Gildas Bazin committed
257
dist_lib_libvlc_a_SOURCES = src/misc/modules_plugin.h
Sam Hocevar's avatar
Sam Hocevar committed
258 259 260
lib_libvlc_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
lib_libvlc_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc`
lib_libvlc_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc`
261 262

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
263 264 265
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`
266 267

if HAVE_BEOS
268
OPT_SOURCES_libvlc_beos = $(SOURCES_libvlc_beos)
269 270
endif
if HAVE_DARWIN
271
OPT_SOURCES_libvlc_darwin = $(SOURCES_libvlc_darwin)
272 273
endif
if HAVE_WIN32
274
OPT_SOURCES_libvlc_win32 = $(SOURCES_libvlc_win32)
275 276
endif
if BUILD_DIRENT
277
OPT_SOURCES_libvlc_dirent = $(SOURCES_libvlc_dirent)
278 279
endif
if BUILD_GETOPT
280
OPT_SOURCES_libvlc_getopt = $(SOURCES_libvlc_getopt)
281
endif
282
if BUILD_MOZILLA
283
if !HAVE_WIN32
284 285
LIBRARIES_libvlc_pic = lib/libvlc_pic.a
endif
286
endif
287 288

EXTRA_DIST += \
289 290 291 292 293
	$(SOURCES_libvlc_beos) \
	$(SOURCES_libvlc_darwin) \
	$(SOURCES_libvlc_win32) \
	$(SOURCES_libvlc_dirent) \
	$(SOURCES_libvlc_getopt) \
294 295
	$(NULL)

296
SOURCES_libvlc_beos = \
297
	src/misc/beos_specific.cpp \
298 299
	$(NULL)

300
SOURCES_libvlc_darwin = \
301
	src/misc/darwin_specific.m \
302 303
	$(NULL)

304
SOURCES_libvlc_win32 = \
305 306 307
	src/misc/win32_specific.c \
	$(NULL)

308
SOURCES_libvlc_dirent = \
309 310 311 312
	src/extras/dirent.c \
	src/extras/dirent.h \
	$(NULL)

313
SOURCES_libvlc_getopt = \
314 315 316 317 318
	src/extras/getopt.c \
	src/extras/getopt.h \
	src/extras/getopt1.c \
	$(NULL)

319
SOURCES_libvlc_common = \
320 321 322 323 324
	src/libvlc.c \
	src/libvlc.h \
	src/interface/interface.c \
	src/interface/intf_eject.c \
	src/playlist/playlist.c \
325 326 327 328
	src/playlist/sort.c \
	src/playlist/loadsave.c \
	src/playlist/group.c \
	src/playlist/item.c \
329
	src/playlist/item-ext.c \
Gildas Bazin's avatar
Gildas Bazin committed
330
	src/playlist/info.c \
Laurent Aimar's avatar
Laurent Aimar committed
331 332
	src/input/access.c \
	src/input/clock.c \
Gildas Bazin's avatar
Gildas Bazin committed
333
	src/input/control.c \
Laurent Aimar's avatar
Laurent Aimar committed
334 335
	src/input/decoder.c \
	src/input/demux.c \
336
	src/input/es_out.c \
Laurent Aimar's avatar
Laurent Aimar committed
337 338
	src/input/input.c \
	src/input/input_internal.h \
339
	src/input/stream.c \
340
	src/input/subtitles.c \
Laurent Aimar's avatar
Laurent Aimar committed
341
	src/input/var.c \
342 343 344 345
	src/video_output/video_output.c \
	src/video_output/vout_pictures.c \
	src/video_output/vout_pictures.h \
	src/video_output/video_text.c \
346
	src/video_output/video_widgets.c \
347
	src/video_output/vout_subpictures.c \
348
	src/video_output/vout_synchro.c \
Gildas Bazin's avatar
Gildas Bazin committed
349
	src/video_output/vout_intf.c \
350 351 352 353 354 355 356 357
	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 \
358 359
	src/stream_output/announce.c \
	src/stream_output/sap.c \
360
	src/misc/charset.c \
Laurent Aimar's avatar
Laurent Aimar committed
361
	src/misc/httpd.c \
362
	src/misc/mtime.c \
363
	src/misc/block.c \
364 365 366 367 368
	src/misc/modules.c \
	src/misc/threads.c \
	src/misc/cpu.c \
	src/misc/configuration.c \
	src/misc/iso_lang.c \
369
	src/misc/iso-639_def.h \
370 371
	src/misc/messages.c \
	src/misc/objects.c \
Sam Hocevar's avatar
Sam Hocevar committed
372
	src/misc/variables.c \
373
	src/misc/error.c \
Laurent Aimar's avatar
 
Laurent Aimar committed
374
	src/misc/net.c \
375
	src/misc/vlm.c \
376
	src/extras/libc.c \
377 378 379 380 381 382 383 384 385
	$(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) \
386
	$(NULL)
387 388 389 390 391

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

Sam Hocevar's avatar
Sam Hocevar committed
392
bin_PROGRAMS = vlc
393

394
vlc_SOURCES = src/vlc.c
395

Sam Hocevar's avatar
Sam Hocevar committed
396 397 398
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin`
vlc_LDADD = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
399

400 401
# 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
402
DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
403

Sam Hocevar's avatar
Sam Hocevar committed
404 405
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
	@rm -f $(top_builddir)/vlc$(EXEEXT)
406 407 408 409
	@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
410
	esac
Eric Petit's avatar
Eric Petit committed
411

412
if HAVE_BEOS
413
noinst_DATA = vlc-bundle
414
vlc-bundle: vlc
Sam Hocevar's avatar
Sam Hocevar committed
415 416 417
	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
418 419
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
	  if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
420 421
	    mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
	    cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
422 423
	  fi ; \
	done
Sam Hocevar's avatar
Sam Hocevar committed
424 425 426 427
	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/ ; \
428 429
	  done ; \
	fi
Eric Petit's avatar
Eric Petit committed
430
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
431 432 433
	  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
434
	done
Sam Hocevar's avatar
Sam Hocevar committed
435
	find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
436 437
endif

Sam Hocevar's avatar
Sam Hocevar committed
438
# Install the modules and the symlinks
439
install-exec-local:
Sam Hocevar's avatar
Sam Hocevar committed
440
	for i in "" `$(VLC_CONFIG) --target plugin` ; do if test -n "$$i" ; then \
441 442
	  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
443
	fi ; done
444
	for i in "" `$(VLC_CONFIG) --target builtin` ; do if test -n "$$i" ; then \
445
	  echo $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
446
	  $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
Sam Hocevar's avatar
Sam Hocevar committed
447
	fi ; done
448 449 450 451 452 453
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
454
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
455 456
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
	  ln -s vlc "$(DESTDIR)$(bindir)/$$i" ; \
457 458 459 460
	fi ; done

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

if HAVE_WIN32
562
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
563 564 565
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
566
	$(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 $@
567 568
endif

569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586
###############################################################################
# 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); }; }

587 588 589 590 591 592 593
###############################################################################
# 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
594
package-win32-base:
595
# Check that tmp isn't in the way
Gildas Bazin's avatar
 
Gildas Bazin committed
596 597
	@if test -e "$(srcdir)/vlc-${VERSION}"; then \
	  echo "Error: please remove $(srcdir)/vlc-${VERSION}, it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
598
	  false; \
599
	else \
Gildas Bazin's avatar
 
Gildas Bazin committed
600
	  echo "OK."; mkdir -p "$(srcdir)/vlc-${VERSION}"; \
601
	fi
602

603
# Copy relevant files
604
	cp "$(srcdir)/vlc.win32.nsi" "$(srcdir)/vlc-${VERSION}/"
Gildas Bazin's avatar
 
Gildas Bazin committed
605
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(srcdir)/vlc-${VERSION}/"
606
	cp "$(top_builddir)/vlc.exe.manifest" "$(srcdir)/vlc-${VERSION}/"
Gildas Bazin's avatar
 
Gildas Bazin committed
607
	$(STRIP) "$(srcdir)/vlc-${VERSION}/vlc$(EXEEXT)"
608

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

Gildas Bazin's avatar
 
Gildas Bazin committed
613
	mkdir -p "$(srcdir)/vlc-${VERSION}/plugins"
Sam Hocevar's avatar
Sam Hocevar committed
614
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Sam Hocevar's avatar
Sam Hocevar committed
615
	  if test -n "$$i" ; then \
Gildas Bazin's avatar
 
Gildas Bazin committed
616 617
	    $(INSTALL) "$(srcdir)/$$i$(LIBEXT)" \
            "$(srcdir)/vlc-${VERSION}/plugins/" ; \
Sam Hocevar's avatar
Sam Hocevar committed
618
	  fi ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
619

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

Gildas Bazin's avatar
 
Gildas Bazin committed
623
	mkdir $(srcdir)/vlc-${VERSION}/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
624
	for i in $(ALL_LINGUAS); do \
Gildas Bazin's avatar
 
Gildas Bazin committed
625
	  mkdir -p "$(srcdir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
626
	  cp "$(srcdir)/po/$${i}.gmo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
627 628
	    "$(srcdir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
629 630
	done

631 632 633 634
	mkdir -p $(srcdir)/vlc-${VERSION}/skins2/fonts
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
	  cp $$i $(srcdir)/vlc-${VERSION}/skins2/fonts/ || true ; \
	done
635 636 637
	for i in $(srcdir)/share/skins2/*.*; do \
	  cp $$i $(srcdir)/vlc-${VERSION}/skins2/ || true ; \
	done
Gildas Bazin's avatar
 
Gildas Bazin committed
638

Gildas Bazin's avatar
 
Gildas Bazin committed
639
	mkdir -p "$(srcdir)/vlc-${VERSION}/http/admin"
640
	mkdir -p "$(srcdir)/vlc-${VERSION}/http/vlm"
Gildas Bazin's avatar
 
Gildas Bazin committed
641
	cp $(srcdir)/share/http/*.html $(srcdir)/vlc-${VERSION}/http/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
642
	cp $(srcdir)/share/http/*.css $(srcdir)/vlc-${VERSION}/http/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
643 644 645 646
	cp $(srcdir)/share/http/admin/*.html \
           $(srcdir)/vlc-${VERSION}/http/admin/ ;
	cp $(srcdir)/share/http/admin/.access \
           $(srcdir)/vlc-${VERSION}/http/admin/ ;
647 648
	cp $(srcdir)/share/http/vlm/*.html \
           $(srcdir)/vlc-${VERSION}/http/vlm/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
649

650 651
	cp $(srcdir)/share/vlc48x48.ico $(srcdir)/vlc-${VERSION}/ ;

Gildas Bazin's avatar
 
Gildas Bazin committed
652 653
	mkdir -p "$(srcdir)/vlc-${VERSION}/mozilla"
if BUILD_MOZILLA
Gildas Bazin's avatar
 
Gildas Bazin committed
654 655
	cp $(srcdir)/mozilla/*$(LIBEXT) $(srcdir)/vlc-${VERSION}/mozilla/ ;
	$(STRIP) $(srcdir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
Gildas Bazin's avatar
 
Gildas Bazin committed
656 657 658
	cp $(srcdir)/mozilla/vlcintf.xpt  $(srcdir)/vlc-${VERSION}/mozilla/ ;
endif

Gildas Bazin's avatar
 
Gildas Bazin committed
659 660 661
package-win32-base-exe:
# Create package 
	wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe \
662
             /DVERSION=${VERSION} $(srcdir)/vlc-${VERSION}/vlc.win32.nsi
Gildas Bazin's avatar
 
Gildas Bazin committed
663

Gildas Bazin's avatar
 
Gildas Bazin committed
664
package-win32-base-zip:
665
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
666
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
667 668 669 670 671 672 673 674 675 676

package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
	rm -Rf $(srcdir)/vlc-${VERSION}

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

package-win32: package-win32-base package-win32-base-exe package-win32-base-zip
677
# Clean up
Gildas Bazin's avatar
 
Gildas Bazin committed
678
	rm -Rf $(srcdir)/vlc-${VERSION}
679 680 681

package-beos:
# Check that tmp isn't in the way
682
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
683
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
684
	  false ; \
685
	else \
686
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
687
	fi
688

689
# Copy relevant files
690
	mkdir -p $(srcdir)/tmp/vlc ;
691 692 693 694 695 696 697 698 699 700
	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 ;
701

702
# Create normal package
703
	strip --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
704 705
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec strip \
	  --strip-debug --strip-unneeded "{}" \; ;
706 707 708
	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} ;
709
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
710
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
711

712
# Clean up
713
	rm -Rf $(srcdir)/tmp ;
714 715 716

package-macosx:
# Check that tmp isn't in the way
Loïc Minier's avatar
Loïc Minier committed
717 718
	@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
719
	  false; \
720
	else \
Loïc Minier's avatar
Loïc Minier committed
721
	  echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
722 723 724
	fi

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

# Create disk image 
729
	$(srcdir)/extras/MacOSX/macosx-dmg "vlc-${VERSION}" $(top_builddir)/tmp
730 731

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

734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761
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
762 763 764
###############################################################################
# Stamp rules
###############################################################################
765
clean: clean-stamp
Sam Hocevar's avatar
Sam Hocevar committed
766
clean-stamp:
767
	rm -f stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
768 769 770 771 772 773 774 775 776 777

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

778 779 780 781
###############################################################################
# Force rule
###############################################################################
FORCE: