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_stream.h \
112
	include/vlc_threads_funcs.h \
113
	include/vlc_threads.h \
114
	include/vlc_video.h \
115
	include/vlc_vlm.h \
116
	include/vlc_vod.h \
117
	include/vout_synchro.h \
118 119
	include/win32_specific.h \
	$(NULL)
120 121

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

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

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

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

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

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

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

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

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

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

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

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

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

bin_SCRIPTS = vlc-config

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

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

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

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

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

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

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

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

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

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

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

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

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

393
vlc_SOURCES = src/vlc.c
394

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
676
# Clean up
Gildas Bazin's avatar
 
Gildas Bazin committed
677
	rm -Rf $(srcdir)/vlc-${VERSION}
678 679 680

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

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

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

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

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

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

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

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

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
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
761 762 763
###############################################################################
# Stamp rules
###############################################################################
764
clean: clean-stamp
Sam Hocevar's avatar
Sam Hocevar committed
765
clean-stamp:
766
	rm -f stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
767 768 769 770 771 772 773 774 775 776

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

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