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

5 6
NULL =

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

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

33 34 35 36 37 38
BUILT_SOURCES =
SUFFIXES = 

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

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

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

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

pkgincludedir = $(includedir)/vlc

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

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

HEADERS_include = \
	include/aout_internal.h \
	include/audio_output.h \
	include/beos_specific.h \
71
	include/charset.h \
72
	include/codecs.h \
73 74
	include/configuration.h \
	include/darwin_specific.h \
75 76 77 78 79 80 81 82
	include/intf_eject.h \
	include/iso_lang.h \
	include/main.h \
	include/mmx.h \
	include/modules.h \
	include/modules_inner.h \
	include/mtime.h \
	include/network.h \
83
	include/osd.h \
84
	include/os_specific.h \
85
	include/snapshot.h \
86
	include/stream_output.h \
Sam Hocevar's avatar
Sam Hocevar committed
87
	include/variables.h \
88
	include/video_output.h \
89
	include/vlc_access.h \
90
	include/vlc_bits.h \
91
	include/vlc_block.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
92
	include/vlc_block_helper.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
93
	include/vlc_codec.h \
94 95 96
	include/vlc_common.h \
	include/vlc_config.h \
	include/vlc_cpu.h \
97
	include/vlc_demux.h \
98
	include/vlc_error.h \
99
	include/vlc_es.h \
100
	include/vlc_es_out.h \
101
	include/vlc_filter.h \
102
	include/vlc_help.h \
103
	include/vlc_httpd.h \
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
104
	include/vlc_tls.h \
105
	include/vlc_input.h \
106
	include/vlc_interface.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
107
	include/vlc_keys.h \
108
	include/vlc_messages.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
109
	include/vlc_meta.h \
110 111
	include/vlc_objects.h \
	include/vlc_playlist.h \
112
	include/vlc_spu.h \
113
	include/vlc_stream.h \
114
	include/vlc_threads_funcs.h \
115
	include/vlc_threads.h \
116
	include/vlc_video.h \
117
	include/vlc_vlm.h \
118
	include/vlc_vod.h \
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)
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)
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
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 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 \
	extras/MacOSX/Resources/English.lproj/InfoPlist.strings \
161
	extras/MacOSX/Resources/English.lproj/vlc.scriptTerminology \
162 163 164 165 166 167 168 169
	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 \
170
	extras/MacOSX/Resources/divx.icns \
171
	extras/MacOSX/Resources/dv.icns \
172
	extras/MacOSX/Resources/generic.icns \
173 174 175 176
	extras/MacOSX/Resources/m3u.icns \
	extras/MacOSX/Resources/mov.icns \
	extras/MacOSX/Resources/mp3.icns \
	extras/MacOSX/Resources/mp4.icns \
177 178 179 180
	extras/MacOSX/Resources/mpeg.icns \
	extras/MacOSX/Resources/mpeg1.icns \
	extras/MacOSX/Resources/mpeg2.icns \
	extras/MacOSX/Resources/mpeg4.icns \
181 182 183 184 185 186
	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 \
187
	extras/MacOSX/Resources/vlc.icns \
188 189 190
	extras/MacOSX/Resources/vob.icns \
	extras/MacOSX/Resources/wma.icns \
	extras/MacOSX/Resources/wmv.icns \
191
	extras/MacOSX/Resources/pause.png \
192
	extras/MacOSX/Resources/pause_blue.png \
193
	extras/MacOSX/Resources/play.png \
194
	extras/MacOSX/Resources/play_blue.png \
195
	extras/MacOSX/Resources/stop.png \
196 197 198 199
	extras/MacOSX/Resources/stop_blue.png \
	extras/MacOSX/Resources/display.png \
	extras/MacOSX/Resources/display_slider.png \
	extras/MacOSX/Resources/display_track.png \
200 201
	extras/MacOSX/Resources/equalizerdrawer_active.png \
	extras/MacOSX/Resources/equalizerdrawer_blue.png \
202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218
	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 \
219
	extras/MacOSX/Resources/about_bg.png \
220
	extras/MacOSX/Resources/vlc.scriptSuite \
221
	extras/MacOSX/Resources/README \
222
	extras/MacOSX/vlc.pbproj/project.pbxproj \
223
	extras/MacOSX/macosx-dmg \
224 225 226
	$(NULL)

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

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

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

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

bin_SCRIPTS = vlc-config

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

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

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

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

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

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

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

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

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

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

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

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

Sam Hocevar's avatar
Sam Hocevar committed
397
bin_PROGRAMS = vlc
398

399
vlc_SOURCES = src/vlc.c
400

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

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

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

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

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

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

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

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

592 593 594 595 596 597 598
###############################################################################
# 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
599
package-win32-base:
600
# Check that tmp isn't in the way
Gildas Bazin's avatar
 
Gildas Bazin committed
601 602
	@if test -e "$(srcdir)/vlc-${VERSION}"; then \
	  echo "Error: please remove $(srcdir)/vlc-${VERSION}, it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
603
	  false; \
604
	else \
Gildas Bazin's avatar
 
Gildas Bazin committed
605
	  echo "OK."; mkdir -p "$(srcdir)/vlc-${VERSION}"; \
606
	fi
607

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

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

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

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

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

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

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

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

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

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

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

package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
	rm -Rf $(srcdir)/vlc-${VERSION}

package-win32-zip: package-win32-base package-win32-base-zip
# Clean up
	rm -Rf $(srcdir)/vlc-${VERSION}

package-win32: package-win32-base package-win32-base-exe package-win32-base-zip
682
# Clean up
Gildas Bazin's avatar
 
Gildas Bazin committed
683
	rm -Rf $(srcdir)/vlc-${VERSION}
684 685 686

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

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

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

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

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

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

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

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

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

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

783 784 785 786
###############################################################################
# Force rule
###############################################################################
FORCE: