Makefile.am 27.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 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
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
266 267 268 269
CLEANFILES = $(bin_SCRIPTS)
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
	cd $(top_builddir) && $(SHELL) ./config.status --file=$@
	-cd $(top_builddir) && chmod 0755 $@
270

Sam Hocevar's avatar
Sam Hocevar committed
271
lib_LIBRARIES = lib/libvlc.a $(LIBRARIES_libvlc_pic)
272 273

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

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
280 281 282
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`
283 284

if HAVE_BEOS
285
OPT_SOURCES_libvlc_beos = $(SOURCES_libvlc_beos)
286 287
endif
if HAVE_DARWIN
288
OPT_SOURCES_libvlc_darwin = $(SOURCES_libvlc_darwin)
289 290
endif
if HAVE_WIN32
291
OPT_SOURCES_libvlc_win32 = $(SOURCES_libvlc_win32)
292
endif
293 294 295
if HAVE_WINCE
OPT_SOURCES_libvlc_win32 = $(SOURCES_libvlc_win32)
endif
296
if BUILD_DIRENT
297
OPT_SOURCES_libvlc_dirent = $(SOURCES_libvlc_dirent)
298 299
endif
if BUILD_GETOPT
300
OPT_SOURCES_libvlc_getopt = $(SOURCES_libvlc_getopt)
301
endif
302
if BUILD_MOZILLA
303
if !HAVE_WIN32
304 305
LIBRARIES_libvlc_pic = lib/libvlc_pic.a
endif
306
endif
307 308

EXTRA_DIST += \
309 310 311 312 313
	$(SOURCES_libvlc_beos) \
	$(SOURCES_libvlc_darwin) \
	$(SOURCES_libvlc_win32) \
	$(SOURCES_libvlc_dirent) \
	$(SOURCES_libvlc_getopt) \
314 315
	$(NULL)

316
SOURCES_libvlc_beos = \
317
	src/misc/beos_specific.cpp \
318 319
	$(NULL)

320
SOURCES_libvlc_darwin = \
321
	src/misc/darwin_specific.m \
322 323
	$(NULL)

324
SOURCES_libvlc_win32 = \
325 326 327
	src/misc/win32_specific.c \
	$(NULL)

328
SOURCES_libvlc_dirent = \
329 330 331
	src/extras/dirent.c \
	$(NULL)

332
SOURCES_libvlc_getopt = \
333 334 335 336 337
	src/extras/getopt.c \
	src/extras/getopt.h \
	src/extras/getopt1.c \
	$(NULL)

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

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

Sam Hocevar's avatar
Sam Hocevar committed
415
bin_PROGRAMS = vlc
416

417
vlc_SOURCES = src/vlc.c
418

Sam Hocevar's avatar
Sam Hocevar committed
419 420 421
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin`
vlc_LDADD = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
422

423 424
# 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
425
DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
426

Sam Hocevar's avatar
Sam Hocevar committed
427 428
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
	@rm -f $(top_builddir)/vlc$(EXEEXT)
429 430 431 432
	@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
433
	esac
Eric Petit's avatar
Eric Petit committed
434

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

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

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

if HAVE_WIN32
585
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
586 587 588
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
589
	$(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 $@
590 591
endif

592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609
###############################################################################
# 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); }; }

610 611 612 613 614 615 616
###############################################################################
# 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
617
package-win32-base:
618
# Check that tmp isn't in the way
619 620
	@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
621
	  false; \
622
	else \
623
	  echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
624
	fi
625

626
# Copy relevant files
627 628 629 630
	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)"
631

Gildas Bazin's avatar
 
Gildas Bazin committed
632
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
633 634
	  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
635

636
	mkdir -p "$(top_builddir)/vlc-${VERSION}/plugins"
Sam Hocevar's avatar
Sam Hocevar committed
637
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Sam Hocevar's avatar
Sam Hocevar committed
638
	  if test -n "$$i" ; then \
639 640
	    $(INSTALL) "$(top_builddir)/$$i$(LIBEXT)" \
            "$(top_builddir)/vlc-${VERSION}/plugins/" ; \
Sam Hocevar's avatar
Sam Hocevar committed
641
	  fi ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
642

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

646
	mkdir $(top_builddir)/vlc-${VERSION}/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
647
	for i in $(ALL_LINGUAS); do \
648
	  mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
649
	  cp "$(srcdir)/po/$${i}.gmo" \
650
	    "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
651
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
652 653
	done

654
	mkdir -p $(top_builddir)/vlc-${VERSION}/skins/fonts
655
	for i in $(srcdir)/share/skins2/fonts/*.*; do \
656
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/fonts/ || true ; \
657
	done
658
	for i in $(srcdir)/share/skins2/*.*; do \
659
	  cp $$i $(top_builddir)/vlc-${VERSION}/skins/ || true ; \
660
	done
Gildas Bazin's avatar
 
Gildas Bazin committed
661

662 663 664 665
	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
666
	cp $(srcdir)/share/http/admin/*.html \
667
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
668
	cp $(srcdir)/share/http/admin/.access \
669
           $(top_builddir)/vlc-${VERSION}/http/admin/ ;
670
	cp $(srcdir)/share/http/vlm/*.html \
671
           $(top_builddir)/vlc-${VERSION}/http/vlm/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
672

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

675
	mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
Gildas Bazin's avatar
 
Gildas Bazin committed
676
if BUILD_MOZILLA
677 678 679
	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
680 681
endif

682 683 684 685 686 687 688 689 690 691
	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/ ;
	$(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
endif

Gildas Bazin's avatar
 
Gildas Bazin committed
692
package-win32-base-exe:
693
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
694
	wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe \
695 696 697 698 699 700
             /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
701

702 703 704 705
package-win32-base-exe-linux:
# Create package
	makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi

Gildas Bazin's avatar
 
Gildas Bazin committed
706
package-win32-base-zip:
707
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
708
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
709 710 711

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

714 715 716 717
package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
# Clean up
	rm -Rf $(top_builddir)/vlc-${VERSION}

Gildas Bazin's avatar
 
Gildas Bazin committed
718 719
package-win32-zip: package-win32-base package-win32-base-zip
# Clean up
720
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
721 722

package-win32: package-win32-base package-win32-base-exe package-win32-base-zip
723
# Clean up
724
	rm -Rf $(top_builddir)/vlc-${VERSION}
725 726 727

package-beos:
# Check that tmp isn't in the way
728
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
729
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
730
	  false ; \
731
	else \
732
	  echo "OK." ; mkdir $(srcdir)/tmp ; \
733
	fi
734

735
# Copy relevant files
736
	mkdir -p $(srcdir)/tmp/vlc ;
737 738 739 740 741 742 743 744 745 746
	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 ;
747

748
# Create normal package
749 750
	$(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
	find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
751
	  --strip-debug --strip-unneeded "{}" \; ;
752 753 754
	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} ;
755
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
756
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
757

758
# Clean up
759
	rm -Rf $(srcdir)/tmp ;
760 761 762

package-macosx:
# Check that tmp isn't in the way
Loïc Minier's avatar
Loïc Minier committed
763 764
	@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
765
	  false; \
766
	else \
Loïc Minier's avatar
Loïc Minier committed
767
	  echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
768 769 770
	fi

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

# Create disk image 
775
	$(srcdir)/extras/MacOSX/macosx-dmg "vlc-${VERSION}" $(top_builddir)/tmp
776 777

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

780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807
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
808 809 810
###############################################################################
# Stamp rules
###############################################################################
811
clean: clean-stamp clean-recursive
Sam Hocevar's avatar
Sam Hocevar committed
812
clean-stamp:
813
	rm -f stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
814 815 816 817 818 819 820 821 822 823

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

824 825 826 827
###############################################################################
# Force rule
###############################################################################
FORCE: