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

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

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

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

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

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

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

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

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

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

###############################################################################
228
# MS Visual Studio and eMbedded Visual Studio projects
229 230 231 232
###############################################################################

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

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

251 252 253 254 255 256
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config

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

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

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

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

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

299
SOURCES_libvlc_beos = \
300
	src/misc/beos_specific.cpp \
301 302
	$(NULL)

303
SOURCES_libvlc_darwin = \
304
	src/misc/darwin_specific.m \
305 306
	$(NULL)

307
SOURCES_libvlc_win32 = \
308 309 310
	src/misc/win32_specific.c \
	$(NULL)

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

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

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

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

Sam Hocevar's avatar
Sam Hocevar committed
400
bin_PROGRAMS = vlc
401

402
vlc_SOURCES = src/vlc.c
403

Sam Hocevar's avatar
Sam Hocevar committed
404 405 406
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin`
vlc_LDADD = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
407

408 409
# 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
410
DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
411

Sam Hocevar's avatar
Sam Hocevar committed
412 413
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
	@rm -f $(top_builddir)/vlc$(EXEEXT)
414 415 416 417
	@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
418
	esac
Eric Petit's avatar
Eric Petit committed
419

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

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

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

if HAVE_WIN32
570
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
571 572 573
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
574
	$(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 $@
575 576
endif

577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594
###############################################################################
# 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); }; }

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

611
# Copy relevant files
612
	cp "$(srcdir)/vlc.win32.nsi" "$(srcdir)/vlc-${VERSION}/"
Gildas Bazin's avatar
 
Gildas Bazin committed
613
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(srcdir)/vlc-${VERSION}/"
614
	cp "$(top_builddir)/vlc.exe.manifest" "$(srcdir)/vlc-${VERSION}/"
Gildas Bazin's avatar
 
Gildas Bazin committed
615
	$(STRIP) "$(srcdir)/vlc-${VERSION}/vlc$(EXEEXT)"
616

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

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

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

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

639
	mkdir -p $(srcdir)/vlc-${VERSION}/skins/fonts
640
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
641
	  cp $$i $(srcdir)/vlc-${VERSION}/skins/fonts/ || true ; \
642
	done
643
	for i in $(srcdir)/share/skins2/*.*; do \
644
	  cp $$i $(srcdir)/vlc-${VERSION}/skins/ || true ; \
645
	done
Gildas Bazin's avatar
 
Gildas Bazin committed
646

Gildas Bazin's avatar
 
Gildas Bazin committed
647
	mkdir -p "$(srcdir)/vlc-${VERSION}/http/admin"
648
	mkdir -p "$(srcdir)/vlc-${VERSION}/http/vlm"
Gildas Bazin's avatar
 
Gildas Bazin committed
649
	cp $(srcdir)/share/http/*.html $(srcdir)/vlc-${VERSION}/http/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
650
	cp $(srcdir)/share/http/*.css $(srcdir)/vlc-${VERSION}/http/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
651 652 653 654
	cp $(srcdir)/share/http/admin/*.html \
           $(srcdir)/vlc-${VERSION}/http/admin/ ;
	cp $(srcdir)/share/http/admin/.access \
           $(srcdir)/vlc-${VERSION}/http/admin/ ;
655 656
	cp $(srcdir)/share/http/vlm/*.html \
           $(srcdir)/vlc-${VERSION}/http/vlm/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
657

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

Gildas Bazin's avatar
 
Gildas Bazin committed
660 661
	mkdir -p "$(srcdir)/vlc-${VERSION}/mozilla"
if BUILD_MOZILLA
Gildas Bazin's avatar
 
Gildas Bazin committed
662 663
	cp $(srcdir)/mozilla/*$(LIBEXT) $(srcdir)/vlc-${VERSION}/mozilla/ ;
	$(STRIP) $(srcdir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
Gildas Bazin's avatar
 
Gildas Bazin committed
664 665 666
	cp $(srcdir)/mozilla/vlcintf.xpt  $(srcdir)/vlc-${VERSION}/mozilla/ ;
endif

Gildas Bazin's avatar
 
Gildas Bazin committed
667 668 669
package-win32-base-exe:
# Create package 
	wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe \
670
             /DVERSION=${VERSION} $(srcdir)/vlc-${VERSION}/vlc.win32.nsi
Gildas Bazin's avatar
 
Gildas Bazin committed
671

Gildas Bazin's avatar
 
Gildas Bazin committed
672
package-win32-base-zip:
673
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
674
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
675 676 677 678 679 680 681 682 683 684

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
685
# Clean up
Gildas Bazin's avatar
 
Gildas Bazin committed
686
	rm -Rf $(srcdir)/vlc-${VERSION}
687 688 689

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

697
# Copy relevant files
698
	mkdir -p $(srcdir)/tmp/vlc ;
699 700 701 702 703 704 705 706 707 708
	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 ;
709

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

720
# Clean up
721
	rm -Rf $(srcdir)/tmp ;
722 723 724

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

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

# Create disk image 
737
	$(srcdir)/extras/MacOSX/macosx-dmg "vlc-${VERSION}" $(top_builddir)/tmp
738 739

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

742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769
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
770 771 772
###############################################################################
# Stamp rules
###############################################################################
773
clean: clean-stamp
Sam Hocevar's avatar
Sam Hocevar committed
774
clean-stamp:
775
	rm -f stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
776 777 778 779 780 781 782 783 784 785

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

786 787 788 789
###############################################################################
# Force rule
###############################################################################
FORCE: