Makefile.am 27.5 KB
Newer Older
1 2 3
###############################################################################
# Automake targets and declarations
###############################################################################
4

5 6
NULL =

7 8 9
# SUBDIRS stores the directories where a "make" is required when building
# something. DIST_SUBDIRS stores the directories where nothing is built but
# which have makefiles with distribution information.
10 11 12 13
#  - intl should come before modules and . because all the code uses gettext
#  - modules should come before . because vlc needs the builtins
#  - . should come before mozilla because the plugin needs libvlc_pic.a
#  - po should come before . because VLC.app needs the pofiles
14
SUBDIRS = intl modules po . mozilla activex share m4 doc
15
DIST_SUBDIRS = $(SUBDIRS) src debian ipkg lib
16

17 18 19
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
20
	vlc.exe.manifest \
21 22 23 24 25
	MAINTAINERS \
	README.MacOSX.rtf \
	bootstrap \
	src/extras/COPYING \
	toolbox \
Sam Hocevar's avatar
Sam Hocevar committed
26
	vlc-config.in.in \
27
	vlc.ebuild \
28
	vlc.spec \
Alexis de Lattre's avatar
Alexis de Lattre committed
29
	vlc.spec.mdk \
30
	vlc.win32.nsi \
31 32
	$(NULL)

33 34 35 36 37 38
BUILT_SOURCES =
SUFFIXES = 

# Tell aclocal to use -I m4. Wonder if it really works.
ACLOCAL_AMFLAGS = -I m4

39
# XXX: these flags could be set in configure.ac, but we set them here
40
# because old versions of automake don't support them in configure.ac.
41
AUTOMAKE_OPTIONS = dist-bzip2 subdir-objects
42

43 44 45 46 47 48 49
###############################################################################
# Headers
###############################################################################

BUILT_SOURCES += \
	include/vlc_symbols.h \
	src/misc/modules_builtin.h \
50 51
	src/misc/modules_plugin.h \
	$(NULL)
52 53 54 55 56 57 58 59 60 61

pkgincludedir = $(includedir)/vlc

dist_pkginclude_HEADERS = \
	include/vlc/vlc.h \
	include/vlc/aout.h \
	include/vlc/vout.h \
	include/vlc/sout.h \
	include/vlc/decoder.h \
	include/vlc/input.h \
62 63
	include/vlc/intf.h \
	$(NULL)
64

Sam Hocevar's avatar
Sam Hocevar committed
65
noinst_HEADERS = $(HEADERS_include) $(HEADERS_include_built)
66 67 68 69 70

HEADERS_include = \
	include/aout_internal.h \
	include/audio_output.h \
	include/beos_specific.h \
71
	include/charset.h \
72
	include/codecs.h \
73 74
	include/configuration.h \
	include/darwin_specific.h \
75 76 77 78 79 80 81 82
	include/intf_eject.h \
	include/iso_lang.h \
	include/main.h \
	include/mmx.h \
	include/modules.h \
	include/modules_inner.h \
	include/mtime.h \
	include/network.h \
83
	include/osd.h \
84
	include/os_specific.h \
85
	include/snapshot.h \
86
	include/stream_output.h \
Sam Hocevar's avatar
Sam Hocevar committed
87
	include/variables.h \
88
	include/video_output.h \
89
	include/vlc_access.h \
90
	include/vlc_bits.h \
91
	include/vlc_block.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
92
	include/vlc_block_helper.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
93
	include/vlc_codec.h \
94 95 96
	include/vlc_common.h \
	include/vlc_config.h \
	include/vlc_cpu.h \
97
	include/vlc_demux.h \
98
	include/vlc_error.h \
99
	include/vlc_es.h \
100
	include/vlc_es_out.h \
101
	include/vlc_filter.h \
Clément Stenac's avatar
Clément Stenac committed
102
	include/vlc_config_cat.h \
103
	include/vlc_httpd.h \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
104
	include/vlc_tls.h \
105
	include/vlc_image.h \
106
	include/vlc_input.h \
107
	include/vlc_interface.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
108
	include/vlc_keys.h \
109
	include/vlc_messages.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
110
	include/vlc_meta.h \
111 112
	include/vlc_objects.h \
	include/vlc_playlist.h \
113
	include/vlc_spu.h \
114
	include/vlc_stream.h \
115
	include/vlc_threads_funcs.h \
116
	include/vlc_threads.h \
117
	include/vlc_video.h \
118
	include/vlc_vlm.h \
119
	include/vlc_vod.h \
Gildas Bazin's avatar
Gildas Bazin committed
120
	include/vlc_xml.h \
121
	include/vout_synchro.h \
122 123
	include/win32_specific.h \
	$(NULL)
124 125

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

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

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

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

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

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

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

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

153 154 155 156 157 158 159 160
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib \
161 162
	extras/MacOSX/Resources/English.lproj/About.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/About.nib/info.nib \
163
	extras/MacOSX/Resources/English.lproj/About.nib/keyedobjects.nib \
164 165
	extras/MacOSX/Resources/English.lproj/Open.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Open.nib/info.nib \
166
	extras/MacOSX/Resources/English.lproj/Open.nib/keyedobjects.nib \
167 168
	extras/MacOSX/Resources/English.lproj/Preferences.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \
169
	extras/MacOSX/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
170
	extras/MacOSX/Resources/English.lproj/InfoPlist.strings \
171
	extras/MacOSX/Resources/English.lproj/vlc.scriptTerminology \
172 173 174 175 176 177 178 179
	extras/MacOSX/Resources/a52.icns \
	extras/MacOSX/Resources/aac.icns \
	extras/MacOSX/Resources/asf.icns \
	extras/MacOSX/Resources/asx.icns \
	extras/MacOSX/Resources/avi.icns \
	extras/MacOSX/Resources/bin.icns \
	extras/MacOSX/Resources/cue.icns \
	extras/MacOSX/Resources/dat.icns \
180
	extras/MacOSX/Resources/divx.icns \
181
	extras/MacOSX/Resources/dv.icns \
182
	extras/MacOSX/Resources/generic.icns \
183 184 185 186
	extras/MacOSX/Resources/m3u.icns \
	extras/MacOSX/Resources/mov.icns \
	extras/MacOSX/Resources/mp3.icns \
	extras/MacOSX/Resources/mp4.icns \
187 188 189 190
	extras/MacOSX/Resources/mpeg.icns \
	extras/MacOSX/Resources/mpeg1.icns \
	extras/MacOSX/Resources/mpeg2.icns \
	extras/MacOSX/Resources/mpeg4.icns \
191 192 193 194 195 196
	extras/MacOSX/Resources/mpg.icns \
	extras/MacOSX/Resources/ogg.icns \
	extras/MacOSX/Resources/ogm.icns \
	extras/MacOSX/Resources/pls.icns \
	extras/MacOSX/Resources/srt.icns \
	extras/MacOSX/Resources/sub.icns \
197
	extras/MacOSX/Resources/vlc.icns \
198 199 200
	extras/MacOSX/Resources/vob.icns \
	extras/MacOSX/Resources/wma.icns \
	extras/MacOSX/Resources/wmv.icns \
201
	extras/MacOSX/Resources/pause.png \
202
	extras/MacOSX/Resources/pause_blue.png \
203
	extras/MacOSX/Resources/play.png \
204
	extras/MacOSX/Resources/play_blue.png \
205
	extras/MacOSX/Resources/stop.png \
206 207 208 209
	extras/MacOSX/Resources/stop_blue.png \
	extras/MacOSX/Resources/display.png \
	extras/MacOSX/Resources/display_slider.png \
	extras/MacOSX/Resources/display_track.png \
210 211
	extras/MacOSX/Resources/equalizerdrawer_active.png \
	extras/MacOSX/Resources/equalizerdrawer_blue.png \
212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228
	extras/MacOSX/Resources/fullscreen_active.png \
	extras/MacOSX/Resources/fullscreen_blue.png \
	extras/MacOSX/Resources/next_active.png \
	extras/MacOSX/Resources/next_blue.png \
	extras/MacOSX/Resources/playlistdrawer_active.png \
	extras/MacOSX/Resources/playlistdrawer_blue.png \
	extras/MacOSX/Resources/previous_active.png \
	extras/MacOSX/Resources/previous_blue.png \
	extras/MacOSX/Resources/skip_forward_active.png \
	extras/MacOSX/Resources/skip_forward_blue.png \
	extras/MacOSX/Resources/skip_previous_active.png \
	extras/MacOSX/Resources/skip_previous_blue.png \
	extras/MacOSX/Resources/volume_high.png \
	extras/MacOSX/Resources/volume_low.png \
	extras/MacOSX/Resources/volumeslider_blue.png \
	extras/MacOSX/Resources/volumeslider_normal.png \
	extras/MacOSX/Resources/volumetrack.png \
229
	extras/MacOSX/Resources/about_bg.png \
230
	extras/MacOSX/Resources/vlc.scriptSuite \
231
	extras/MacOSX/Resources/README \
232
	extras/MacOSX/vlc.pbproj/project.pbxproj \
233
	extras/MacOSX/macosx-dmg \
234 235 236
	$(NULL)

###############################################################################
237
# MS Visual Studio and eMbedded Visual Studio projects
238 239 240 241
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
242 243
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
244
	msvc/vlc.dsp.in \
245
	msvc/config.h.in \
246
	msvc/modules_builtin_msvc.h \
247
	evc/vlc.vcw \
248
	evc/libvlc.vcp.in \
249
	evc/vlc.vcp.in \
250
	evc/plugins.vcp.in \
251
	evc/errno.h \
252
	evc/config.h.in \
253
	evc/modules_builtin_evc.h \
254 255
	$(NULL)

Gildas Bazin's avatar
 
Gildas Bazin committed
256
dist-hook:
Sam Hocevar's avatar
Sam Hocevar committed
257
	cp $(distdir)/vlc.ebuild $(distdir)/vlc-${VERSION}.ebuild
Sam Hocevar's avatar
Sam Hocevar committed
258
	cd $(distdir) && srcdir=$(srcdir) $(srcdir)/toolbox --update-vc
259
	distdir=$(distdir) srcdir=$(srcdir) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
260

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

bin_SCRIPTS = vlc-config

Sam Hocevar's avatar
Sam Hocevar committed
267
lib_LIBRARIES = lib/libvlc.a $(LIBRARIES_libvlc_pic)
268 269

lib_libvlc_a_SOURCES = $(SOURCES_libvlc)
Gildas Bazin's avatar
 
Gildas Bazin committed
270
dist_lib_libvlc_a_SOURCES = src/misc/modules_plugin.h
Sam Hocevar's avatar
Sam Hocevar committed
271 272 273
lib_libvlc_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
lib_libvlc_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc`
lib_libvlc_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc`
274 275

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
276 277 278
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`
279 280

if HAVE_BEOS
281
OPT_SOURCES_libvlc_beos = $(SOURCES_libvlc_beos)
282 283
endif
if HAVE_DARWIN
284
OPT_SOURCES_libvlc_darwin = $(SOURCES_libvlc_darwin)
285 286
endif
if HAVE_WIN32
287
OPT_SOURCES_libvlc_win32 = $(SOURCES_libvlc_win32)
288 289
endif
if BUILD_DIRENT
290
OPT_SOURCES_libvlc_dirent = $(SOURCES_libvlc_dirent)
291 292
endif
if BUILD_GETOPT
293
OPT_SOURCES_libvlc_getopt = $(SOURCES_libvlc_getopt)
294
endif
295
if BUILD_MOZILLA
296
if !HAVE_WIN32
297 298
LIBRARIES_libvlc_pic = lib/libvlc_pic.a
endif
299
endif
300 301

EXTRA_DIST += \
302 303 304 305 306
	$(SOURCES_libvlc_beos) \
	$(SOURCES_libvlc_darwin) \
	$(SOURCES_libvlc_win32) \
	$(SOURCES_libvlc_dirent) \
	$(SOURCES_libvlc_getopt) \
307 308
	$(NULL)

309
SOURCES_libvlc_beos = \
310
	src/misc/beos_specific.cpp \
311 312
	$(NULL)

313
SOURCES_libvlc_darwin = \
314
	src/misc/darwin_specific.m \
315 316
	$(NULL)

317
SOURCES_libvlc_win32 = \
318 319 320
	src/misc/win32_specific.c \
	$(NULL)

321
SOURCES_libvlc_dirent = \
322 323 324 325
	src/extras/dirent.c \
	src/extras/dirent.h \
	$(NULL)

326
SOURCES_libvlc_getopt = \
327 328 329 330 331
	src/extras/getopt.c \
	src/extras/getopt.h \
	src/extras/getopt1.c \
	$(NULL)

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

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

Sam Hocevar's avatar
Sam Hocevar committed
409
bin_PROGRAMS = vlc
410

411
vlc_SOURCES = src/vlc.c
412

Sam Hocevar's avatar
Sam Hocevar committed
413 414 415
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin`
vlc_LDADD = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
416

417 418
# 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
419
DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
420

Sam Hocevar's avatar
Sam Hocevar committed
421 422
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
	@rm -f $(top_builddir)/vlc$(EXEEXT)
423 424 425 426
	@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
427
	esac
Eric Petit's avatar
Eric Petit committed
428

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

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

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

if HAVE_WIN32
579
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
580 581 582
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
583
	$(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 $@
584 585
endif

586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603
###############################################################################
# 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); }; }

604 605 606 607 608 609 610
###############################################################################
# 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
611
package-win32-base:
612
# Check that tmp isn't in the way
613 614
	@if test -e "$(top_builddir)/vlc-${VERSION}"; then \
	  echo "Error: please remove $(top_builddir)/vlc-${VERSION}, it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
615
	  false; \
616
	else \
617
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
618
	fi
619

620
# Copy relevant files
621 622 623 624
	cp "$(srcdir)/vlc.win32.nsi" "$(top_builddir)/vlc-${VERSION}/"
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
	cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
	$(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
625

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

630
	mkdir -p "$(top_builddir)/vlc-${VERSION}/plugins"
Sam Hocevar's avatar
Sam Hocevar committed
631
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Sam Hocevar's avatar
Sam Hocevar committed
632
	  if test -n "$$i" ; then \
633 634
	    $(INSTALL) "$(top_builddir)/$$i$(LIBEXT)" \
            "$(top_builddir)/vlc-${VERSION}/plugins/" ; \
Sam Hocevar's avatar
Sam Hocevar committed
635
	  fi ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
636

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

640
	mkdir $(top_builddir)/vlc-${VERSION}/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
641
	for i in $(ALL_LINGUAS); do \
642
	  mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
643
	  cp "$(srcdir)/po/$${i}.gmo" \
644
	    "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
645
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
646 647
	done

648
	mkdir -p $(top_builddir)/vlc-${VERSION}/skins/fonts
649
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
650
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/fonts/ || true ; \
651
	done
652
	for i in $(srcdir)/share/skins2/*.*; do \
653
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/ || true ; \
654
	done
Gildas Bazin's avatar
 
Gildas Bazin committed
655

656 657 658 659
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/admin"
	mkdir -p "$(top_builddir)/vlc-${VERSION}/http/vlm"
	cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
	cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
660
	cp $(srcdir)/share/http/admin/*.html \
661
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
662
	cp $(srcdir)/share/http/admin/.access \
663
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
664
	cp $(srcdir)/share/http/vlm/*.html \
665
           $(top_builddir)/vlc-${VERSION}/http/vlm/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
666

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

669
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
Gildas Bazin's avatar
 
Gildas Bazin committed
670
if BUILD_MOZILLA
671 672 673
	cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
	$(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
	cp $(top_builddir)/mozilla/vlcintf.xpt  $(top_builddir)/vlc-${VERSION}/mozilla/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
674 675
endif

676 677 678 679 680 681 682 683 684 685 686
	mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
if BUILD_ACTIVEX
	cp $(top_builddir)/activex/README.TXT  $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(top_builddir)/activex/test.html  $(top_builddir)/vlc-${VERSION}/activex/ ;
	unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;

	cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ;
	cp $(top_builddir)/activex/*.reg $(top_builddir)/vlc-${VERSION}/activex/ ;
	$(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
endif

Gildas Bazin's avatar
 
Gildas Bazin committed
687
package-win32-base-exe:
688
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
689
	wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe \
690 691 692 693 694 695
             /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

package-win32-base-exe-cygwin:
# Create package
	C:/Program\ Files/NSIS/makensis.exe \
             /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi
Gildas Bazin's avatar
 
Gildas Bazin committed
696

Gildas Bazin's avatar
 
Gildas Bazin committed
697
package-win32-base-zip:
698
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
699
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
700 701 702

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

package-win32-zip: package-win32-base package-win32-base-zip
# Clean up
707
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
708 709

package-win32: package-win32-base package-win32-base-exe package-win32-base-zip
710
# Clean up
711
	rm -Rf $(top_builddir)/vlc-${VERSION}
712 713 714

package-beos:
# Check that tmp isn't in the way
715
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
716
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
717
	  false ; \
718
	else \
719
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
720
	fi
721

722
# Copy relevant files
723
	mkdir -p $(srcdir)/tmp/vlc ;
724 725 726 727 728 729 730 731 732 733
	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 ;
734

735
# Create normal package
736
	strip --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
737 738
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec strip \
	  --strip-debug --strip-unneeded "{}" \; ;
739 740 741
	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} ;
742
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
743
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
744

745
# Clean up
746
	rm -Rf $(srcdir)/tmp ;
747 748 749

package-macosx:
# Check that tmp isn't in the way
Loïc Minier's avatar
Loïc Minier committed
750 751
	@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
752
	  false; \
753
	else \
Loïc Minier's avatar
Loïc Minier committed
754
	  echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
755 756 757
	fi

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

# Create disk image 
762
	$(srcdir)/extras/MacOSX/macosx-dmg "vlc-${VERSION}" $(top_builddir)/tmp
763 764

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

767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794
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
795 796 797
###############################################################################
# Stamp rules
###############################################################################
798
clean: clean-stamp clean-recursive
Sam Hocevar's avatar
Sam Hocevar committed
799
clean-stamp:
800
	rm -f stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
801 802 803 804 805 806 807 808 809 810

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

811 812 813 814
###############################################################################
# Force rule
###############################################################################
FORCE: