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

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

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

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

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

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

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

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

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

151 152 153 154 155 156 157 158 159
###############################################################################
# MacOS X project
###############################################################################

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

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

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

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

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

bin_SCRIPTS = vlc-config

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

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

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

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

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

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

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

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

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

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

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

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

Sam Hocevar's avatar
Sam Hocevar committed
395
bin_PROGRAMS = vlc
396

397
vlc_SOURCES = src/vlc.c
398

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

403 404
# 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
405
DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
406

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

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

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

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

if HAVE_WIN32
565
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
566 567 568
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
569
	$(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 $@
570 571
endif

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

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

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

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

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

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

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

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

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

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

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

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

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

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
680
# Clean up
Gildas Bazin's avatar
 
Gildas Bazin committed
681
	rm -Rf $(srcdir)/vlc-${VERSION}
682 683 684

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

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

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

715
# Clean up
716
	rm -Rf $(srcdir)/tmp ;
717 718 719

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

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

# Create disk image 
732
	$(srcdir)/extras/MacOSX/macosx-dmg "vlc-${VERSION}" $(top_builddir)/tmp
733 734

# Clean up
Loïc Minier's avatar
Loïc Minier committed
735
	rm -Rf $(top_builddir)/tmp
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 762 763 764
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
765 766 767
###############################################################################
# Stamp rules
###############################################################################
768
clean: clean-stamp
Sam Hocevar's avatar
Sam Hocevar committed
769
clean-stamp:
770
	rm -f stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
771 772 773 774 775 776 777 778 779 780

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

781 782 783 784
###############################################################################
# Force rule
###############################################################################
FORCE: