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

5 6
NULL =

7 8 9
# SUBDIRS stores the directories where a "make" is required when building
# something. DIST_SUBDIRS stores the directories where nothing is built but
# which have makefiles with distribution information.
10 11 12 13
#  - intl should come before modules and . because all the code uses gettext
#  - modules should come before . because vlc needs the builtins
#  - . should come before mozilla because the plugin needs libvlc_pic.a
#  - po should come before . because VLC.app needs the pofiles
14
SUBDIRS = intl modules po . mozilla 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.spec \
Alexis de Lattre's avatar
Alexis de Lattre committed
28
	vlc.spec.mdk \
29
	vlc.win32.nsi \
30 31
	$(NULL)

32 33 34 35 36 37
BUILT_SOURCES =
SUFFIXES = 

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

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

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

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

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 \
61 62
	include/vlc/intf.h \
	$(NULL)
63

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

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

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

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

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

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

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

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

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

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

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

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

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

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

Gildas Bazin's avatar
 
Gildas Bazin committed
255
dist-hook:
Sam Hocevar's avatar
Sam Hocevar committed
256
	cd $(distdir) && srcdir=$(srcdir) $(srcdir)/toolbox --update-vc
257
	distdir=$(distdir) srcdir=$(srcdir) $(srcdir)/toolbox --dist-contrib
Gildas Bazin's avatar
 
Gildas Bazin committed
258

259 260 261 262 263
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config
264 265 266
vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
	cd $(top_builddir) && $(SHELL) ./config.status --file=$@
	-cd $(top_builddir) && chmod 0755 $@
267

268 269 270 271
$(SOURCES): vlc-config

CLEANFILES = $(BUILT_SOURCES)

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

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

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

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

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

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

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

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

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

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

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

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

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

418
vlc_SOURCES = src/vlc.c
419

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

681 682 683 684 685 686 687 688 689 690
	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
691
package-win32-base-exe:
692
# Create package
Gildas Bazin's avatar
 
Gildas Bazin committed
693
	wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe \
694 695 696 697 698 699
             /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
700

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

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

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

713 714 715 716
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
717 718
package-win32-zip: package-win32-base package-win32-base-zip
# Clean up
719
	rm -Rf $(top_builddir)/vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
720 721

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

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

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

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

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

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

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

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

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

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
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
807 808 809
###############################################################################
# Stamp rules
###############################################################################
810
clean: clean-stamp clean-recursive
Sam Hocevar's avatar
Sam Hocevar committed
811
clean-stamp:
812
	rm -f stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
813 814 815 816 817 818 819 820 821 822

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

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