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

5 6
NULL =

7 8 9
# SUBDIRS stores the directories where a "make" is required when building
# something. DIST_SUBDIRS stores the directories where nothing is built but
# which have makefiles with distribution information.
10 11 12 13 14
#  - 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
SUBDIRS = intl modules po . mozilla share m4
Sam Hocevar's avatar
Sam Hocevar committed
15
DIST_SUBDIRS = $(SUBDIRS) src debian doc ipkg lib autotools
16

17 18 19 20 21 22 23 24 25
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
	MAINTAINERS \
	README.MacOSX.rtf \
	bootstrap \
	install-win32 \
	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 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 70 71

HEADERS_include = \
	include/aout_internal.h \
	include/audio_output.h \
	include/beos_specific.h \
	include/configuration.h \
	include/darwin_specific.h \
72
	include/charset.h \
73
	include/codecs.h \
74
	include/ninput.h \
75 76 77 78 79
	include/input_ext-dec.h \
	include/input_ext-intf.h \
	include/input_ext-plugins.h \
	include/intf_eject.h \
	include/iso_lang.h \
80
	include/httpd.h \
81 82 83 84 85 86 87 88 89
	include/main.h \
	include/mmx.h \
	include/modules.h \
	include/modules_inner.h \
	include/mtime.h \
	include/network.h \
	include/os_specific.h \
	include/stream_control.h \
	include/stream_output.h \
Sam Hocevar's avatar
Sam Hocevar committed
90
	include/variables.h \
91
	include/video_output.h \
92
	include/vlc_block.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
93
	include/vlc_block_helper.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
94
	include/vlc_codec.h \
95 96 97
	include/vlc_common.h \
	include/vlc_config.h \
	include/vlc_cpu.h \
98
	include/vlc_error.h \
99
	include/vlc_interface.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
100
	include/vlc_keys.h \
101 102 103 104 105
	include/vlc_messages.h \
	include/vlc_objects.h \
	include/vlc_playlist.h \
	include/vlc_threads.h \
	include/vlc_threads_funcs.h \
106
	include/vlc_video.h \
107
	include/vout_synchro.h \
108
	include/win32_specific.h \
109
	include/osd.h \
110
	$(NULL)
111 112

HEADERS_include_built = \
113 114
	include/vlc_symbols.h \
	$(NULL)
115 116

include/vlc_symbols.h: Makefile $(HEADERS_include)
Sam Hocevar's avatar
Sam Hocevar committed
117
	srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
118 119

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

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

125 126
# These dependencies are mandatory
$(SOURCES): include/vlc_symbols.h
127
$(SOURCES_libvlc): src/misc/modules_plugin.h src/misc/modules_builtin.h $(LIB_intl)
128

129 130 131 132 133
###############################################################################
# Optional libintl - FIXME, bad dependencies
###############################################################################

intl/libintl.a: FORCE
Sam Hocevar's avatar
Sam Hocevar committed
134
	cd $(top_builddir)/intl && $(MAKE) $(AM_MAKEFLAGS)
135 136 137 138 139

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

140 141 142 143 144 145 146 147 148
###############################################################################
# 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 \
149
	extras/MacOSX/Resources/English.lproj/vlc.scriptTerminology \
150 151 152 153 154 155 156 157
	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 \
158
	extras/MacOSX/Resources/divx.icns \
159
	extras/MacOSX/Resources/dv.icns \
160
	extras/MacOSX/Resources/generic.icns \
161 162 163 164
	extras/MacOSX/Resources/m3u.icns \
	extras/MacOSX/Resources/mov.icns \
	extras/MacOSX/Resources/mp3.icns \
	extras/MacOSX/Resources/mp4.icns \
165 166 167 168
	extras/MacOSX/Resources/mpeg.icns \
	extras/MacOSX/Resources/mpeg1.icns \
	extras/MacOSX/Resources/mpeg2.icns \
	extras/MacOSX/Resources/mpeg4.icns \
169 170 171 172 173 174
	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 \
175
	extras/MacOSX/Resources/vlc.icns \
176 177 178
	extras/MacOSX/Resources/vob.icns \
	extras/MacOSX/Resources/wma.icns \
	extras/MacOSX/Resources/wmv.icns \
179 180 181 182 183
	extras/MacOSX/Resources/back.png \
	extras/MacOSX/Resources/begin.png \
	extras/MacOSX/Resources/end.png \
	extras/MacOSX/Resources/forw.png \
	extras/MacOSX/Resources/list.png \
184 185
	extras/MacOSX/Resources/pause.png \
	extras/MacOSX/Resources/play.png \
186
	extras/MacOSX/Resources/prefs.png \
187
	extras/MacOSX/Resources/slow.png \
188
	extras/MacOSX/Resources/stop.png \
189
	extras/MacOSX/Resources/vlc_hg.png \
190
	extras/MacOSX/Resources/about_bg.png \
191
	extras/MacOSX/Resources/vlc.scriptSuite \
192
	extras/MacOSX/Resources/README \
193
	extras/MacOSX/vlc.pbproj/project.pbxproj \
194
	extras/MacOSX/macosx-dmg \
195 196 197
	$(NULL)

###############################################################################
198
# MS Visual Studio and eMbedded Visual Studio projects
199 200 201 202
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
203 204
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
205
	msvc/vlc.dsp.in \
206
	msvc/config.h.in \
207
	msvc/modules_builtin_msvc.h \
208
	evc/vlc.vcw \
209
	evc/libvlc.vcp.in \
210
	evc/vlc.vcp.in \
211
	evc/plugins.vcp.in \
212
	evc/vlc.c \
213
	evc/config.h.in \
214
	evc/modules_builtin_evc.h \
215 216
	$(NULL)

Gildas Bazin's avatar
 
Gildas Bazin committed
217
dist-hook:
218
	mv $(distdir)/vlc.ebuild $(distdir)/vlc-${VERSION}.ebuild
Sam Hocevar's avatar
Sam Hocevar committed
219
	cd $(distdir) && srcdir=$(srcdir) $(srcdir)/toolbox --update-vc
Gildas Bazin's avatar
 
Gildas Bazin committed
220

221 222 223 224 225 226
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config

Sam Hocevar's avatar
Sam Hocevar committed
227
lib_LIBRARIES = lib/libvlc.a $(LIBRARIES_libvlc_pic)
228 229

lib_libvlc_a_SOURCES = $(SOURCES_libvlc)
Gildas Bazin's avatar
 
Gildas Bazin committed
230
dist_lib_libvlc_a_SOURCES = src/misc/modules_plugin.h
Sam Hocevar's avatar
Sam Hocevar committed
231 232 233
lib_libvlc_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
lib_libvlc_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc`
lib_libvlc_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc`
234 235

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
236 237 238
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`
239 240

if HAVE_BEOS
241
OPT_SOURCES_libvlc_beos = $(SOURCES_libvlc_beos)
242 243
endif
if HAVE_DARWIN
244
OPT_SOURCES_libvlc_darwin = $(SOURCES_libvlc_darwin)
245 246
endif
if HAVE_WIN32
247
OPT_SOURCES_libvlc_win32 = $(SOURCES_libvlc_win32)
248 249
endif
if BUILD_DIRENT
250
OPT_SOURCES_libvlc_dirent = $(SOURCES_libvlc_dirent)
251 252
endif
if BUILD_GETOPT
253
OPT_SOURCES_libvlc_getopt = $(SOURCES_libvlc_getopt)
254
endif
255
if BUILD_MOZILLA
256
if !HAVE_WIN32
257 258
LIBRARIES_libvlc_pic = lib/libvlc_pic.a
endif
259
endif
260 261

EXTRA_DIST += \
262 263 264 265 266
	$(SOURCES_libvlc_beos) \
	$(SOURCES_libvlc_darwin) \
	$(SOURCES_libvlc_win32) \
	$(SOURCES_libvlc_dirent) \
	$(SOURCES_libvlc_getopt) \
267 268
	$(NULL)

269
SOURCES_libvlc_beos = \
270
	src/misc/beos_specific.cpp \
271 272
	$(NULL)

273
SOURCES_libvlc_darwin = \
274
	src/misc/darwin_specific.m \
275 276
	$(NULL)

277
SOURCES_libvlc_win32 = \
278 279 280
	src/misc/win32_specific.c \
	$(NULL)

281
SOURCES_libvlc_dirent = \
282 283 284 285
	src/extras/dirent.c \
	src/extras/dirent.h \
	$(NULL)

286
SOURCES_libvlc_getopt = \
287 288 289 290 291
	src/extras/getopt.c \
	src/extras/getopt.h \
	src/extras/getopt1.c \
	$(NULL)

292
SOURCES_libvlc_common = \
293 294 295 296 297 298
	src/libvlc.c \
	src/libvlc.h \
	src/interface/interface.c \
	src/interface/intf_eject.c \
	src/playlist/playlist.c \
	src/input/input.c \
299
	src/input/stream.c \
300
	src/input/demux.c \
301 302
	src/input/subtitles.c \
        src/input/input_ext-plugins.c \
303 304 305 306 307 308 309 310 311 312 313
	src/input/input_ext-dec.c \
	src/input/input_ext-intf.c \
	src/input/input_dec.c \
	src/input/input_programs.c \
	src/input/input_clock.c \
	src/input/input_info.c \
	src/video_output/video_output.c \
	src/video_output/vout_pictures.c \
	src/video_output/vout_pictures.h \
	src/video_output/video_text.c \
	src/video_output/vout_subpictures.c \
314
	src/video_output/vout_synchro.c \
315 316 317 318 319 320 321 322
	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 \
323
	src/misc/charset.c \
324
	src/misc/mtime.c \
325
	src/misc/block.c \
326 327 328 329 330
	src/misc/modules.c \
	src/misc/threads.c \
	src/misc/cpu.c \
	src/misc/configuration.c \
	src/misc/iso_lang.c \
331
	src/misc/iso-639_def.h \
332 333
	src/misc/messages.c \
	src/misc/objects.c \
Sam Hocevar's avatar
Sam Hocevar committed
334
	src/misc/variables.c \
335
	src/misc/error.c \
336
	src/extras/libc.c \
337 338 339 340 341 342 343 344 345
	$(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) \
346
	$(NULL)
347 348 349 350 351

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

Sam Hocevar's avatar
Sam Hocevar committed
352
bin_PROGRAMS = vlc
353

354
vlc_SOURCES = src/vlc.c
355

Sam Hocevar's avatar
Sam Hocevar committed
356 357 358
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin`
vlc_LDADD = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
359

360 361
# 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
362
DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
363

Sam Hocevar's avatar
Sam Hocevar committed
364 365
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
	@rm -f $(top_builddir)/vlc$(EXEEXT)
366 367 368 369
	@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
370
	esac
Eric Petit's avatar
Eric Petit committed
371

372
if HAVE_BEOS
373
	xres -o $@ $(srcdir)/share/vlc_beos.rsrc
374
	mimeset -f $@
Sam Hocevar's avatar
Sam Hocevar committed
375
	rm -Rf $(srcdir)/locale ; mkdir -p "$(srcdir)/locale"
Eric Petit's avatar
Eric Petit committed
376
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
377 378 379
	  mkdir -p "$(srcdir)/locale/$${i}/LC_MESSAGES" ; \
	  cp "$(srcdir)/po/$${i}.gmo" \
	    "$(srcdir)/locale/$${i}/LC_MESSAGES/vlc.mo" || true ; \
Eric Petit's avatar
Eric Petit committed
380
	done
381 382
endif

Sam Hocevar's avatar
Sam Hocevar committed
383
# Install the modules and the symlinks
384
install-exec-local:
Sam Hocevar's avatar
Sam Hocevar committed
385
	for i in "" `$(VLC_CONFIG) --target plugin` ; do if test -n "$$i" ; then \
386 387
	  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
388
	fi ; done
389
	for i in "" `$(VLC_CONFIG) --target builtin` ; do if test -n "$$i" ; then \
390
	  echo $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
391
	  $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
Sam Hocevar's avatar
Sam Hocevar committed
392
	fi ; done
393 394 395 396 397 398
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
399
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
400 401
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
	  ln -s vlc "$(DESTDIR)$(bindir)/$$i" ; \
402 403 404 405
	fi ; done

if HAVE_DARWIN
# Create the MacOS X app
406
vlc_app_DATA = VLC.app
407
vlc_appdir = $(bindir)
Sam Hocevar's avatar
Sam Hocevar committed
408
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458
	@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 \
	    info.h \
	    info.m \
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
	    prefs.h \
	    prefs.m \
	    vout.h \
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
	cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'
	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
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
Sam Hocevar's avatar
Sam Hocevar committed
459
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
460 461 462
	  if test -n "$$i" ; \
	    then $(INSTALL) "$$i$(LIBEXT)" \
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
463
	  fi ; done
Loïc Minier's avatar
Loïc Minier committed
464 465 466 467 468 469 470 471
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http
	$(INSTALL) -m 644 $(srcdir)/share/http/*.html \
	    $(top_builddir)/VLC.app/Contents/MacOS/share/http
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin
	$(INSTALL) -m 644 $(srcdir)/share/http/admin/*.html \
	    $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
472
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
473 474 475 476 477 478 479 480 481
	  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 ; \
482
	done
Loïc Minier's avatar
Loïc Minier committed
483
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
484 485 486
endif

if HAVE_WIN32
487
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
488 489 490
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
491
	$(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 $@
492 493
endif

494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511
###############################################################################
# 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); }; }

512 513 514 515 516 517 518 519
###############################################################################
# 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.
#
# Check that tmp isn't in the way
Gildas Bazin's avatar
 
Gildas Bazin committed
520 521 522
package-win32-base:
	@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
523
	  false; \
524
	else \
Gildas Bazin's avatar
 
Gildas Bazin committed
525
	  echo "OK."; mkdir -p "$(srcdir)/vlc-${VERSION}"; \
526 527
	fi
# Create installation script
Gildas Bazin's avatar
 
Gildas Bazin committed
528
	cp "$(srcdir)/install-win32" "$(srcdir)/vlc-${VERSION}/nsi"
529
# Copy relevant files
Gildas Bazin's avatar
 
Gildas Bazin committed
530 531
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(srcdir)/vlc-${VERSION}/"
	$(STRIP) "$(srcdir)/vlc-${VERSION}/vlc$(EXEEXT)"
Gildas Bazin's avatar
 
Gildas Bazin committed
532
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
533 534
	  do cp "$(srcdir)/$$file" "$(srcdir)/vlc-${VERSION}/$${file}.txt" ; \
	  unix2dos "$(srcdir)/vlc-${VERSION}/$${file}.txt" ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
535

Gildas Bazin's avatar
 
Gildas Bazin committed
536
	mkdir -p "$(srcdir)/vlc-${VERSION}/plugins"
Sam Hocevar's avatar
Sam Hocevar committed
537
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Sam Hocevar's avatar
Sam Hocevar committed
538
	  if test -n "$$i" ; then \
Gildas Bazin's avatar
 
Gildas Bazin committed
539 540
	    $(INSTALL) "$(srcdir)/$$i$(LIBEXT)" \
            "$(srcdir)/vlc-${VERSION}/plugins/" ; \
Sam Hocevar's avatar
Sam Hocevar committed
541
	  fi ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
542

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

Gildas Bazin's avatar
 
Gildas Bazin committed
546
	mkdir $(srcdir)/vlc-${VERSION}/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
547
	for i in $(ALL_LINGUAS); do \
Gildas Bazin's avatar
 
Gildas Bazin committed
548
	  mkdir -p "$(srcdir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
549
	  cp "$(srcdir)/po/$${i}.gmo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
550 551
	    "$(srcdir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
552 553
	done

Gildas Bazin's avatar
 
Gildas Bazin committed
554
	mkdir -p $(srcdir)/vlc-${VERSION}/skins/default
555
	for i in $(srcdir)/share/skins/default/*.*; do \
Gildas Bazin's avatar
 
Gildas Bazin committed
556
	  cp $$i $(srcdir)/vlc-${VERSION}/skins/default/ || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
557
	done
558
	for i in $(srcdir)/doc/skins/*.txt; do \
Gildas Bazin's avatar
 
Gildas Bazin committed
559
	  cp $$i $(srcdir)/vlc-${VERSION}/skins/ || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
560 561
	done

Gildas Bazin's avatar
 
Gildas Bazin committed
562
	mkdir -p "$(srcdir)/vlc-${VERSION}/http/admin"
Gildas Bazin's avatar
 
Gildas Bazin committed
563 564 565 566 567 568 569 570 571 572
	cp $(srcdir)/share/http/*.html $(srcdir)/vlc-${VERSION}/http/ ;
	cp $(srcdir)/share/http/admin/*.html \
           $(srcdir)/vlc-${VERSION}/http/admin/ ;
	cp $(srcdir)/share/http/admin/.access \
           $(srcdir)/vlc-${VERSION}/http/admin/ ;

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

Gildas Bazin's avatar
 
Gildas Bazin committed
574
package-win32-base-zip:
575
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
576
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
577 578 579 580 581 582 583 584 585 586

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
587
# Clean up
Gildas Bazin's avatar
 
Gildas Bazin committed
588
	rm -Rf $(srcdir)/vlc-${VERSION}
589 590 591

package-beos:
# Check that tmp isn't in the way
592
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
593 594
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
	  false; \
595
	else \
Sam Hocevar's avatar
Sam Hocevar committed
596
	  echo "OK."; mkdir $(srcdir)/tmp; \
597
	fi
598

599
# Copy relevant files
600 601
	mkdir -p $(srcdir)/tmp/vlc
	cd $(srcdir) && \
Sam Hocevar's avatar
Sam Hocevar committed
602
	  cp vlc AUTHORS COPYING ChangeLog README THANKS NEWS tmp/vlc/
603
# We cannot use ${PLUGIN_FILES} as it looks like it is too "long" for the BeOS shell...
604
	if [ `find $(srcdir)/modules -name "lib*_plugin.so" | wc -l` -gt 0 ]; then \
Sam Hocevar's avatar
Sam Hocevar committed
605 606
	  mkdir -p $(srcdir)/tmp/vlc/plugins; \
	  find $(srcdir)/modules -name "lib*_plugin.so" | xargs -i{} cp {} $(srcdir)/tmp/vlc/plugins/; \
607 608
	fi
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
609 610
	  mkdir -p $(srcdir)/tmp/vlc/locale/$${i}/LC_MESSAGES ; \
	  cp $(srcdir)/po/$${i}.gmo $(srcdir)/tmp/vlc/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
611 612 613
	done

# Create package with debug symbols
614 615
	mimeset -f $(srcdir)/tmp/vlc/* $(srcdir)/tmp/vlc/*/*
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION}
616 617
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/
618 619

# Create package without debug symbols
620 621 622 623
	mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc
	strip $(srcdir)/tmp/vlc/vlc
	if [ -d $(srcdir)/tmp/vlc/plugins ]; then \
	  strip $(srcdir)/tmp/vlc/plugins/lib*_plugin.so; \
624
	fi
625 626 627
	xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc
	mimeset -f $(srcdir)/tmp/vlc/* $(srcdir)/tmp/vlc/*/*
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION}
628 629
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/
630

631
# Clean up
632
	rm -Rf $(srcdir)/tmp
633 634 635

package-macosx:
# Check that tmp isn't in the way
Loïc Minier's avatar
Loïc Minier committed
636 637
	@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
638
	  false; \
639
	else \
Loïc Minier's avatar
Loïc Minier committed
640
	  echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
641 642 643
	fi

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

# Create disk image 
Loïc Minier's avatar
Loïc Minier committed
648
	$(srcdir)/extras/MacOSX/macosx-dmg 18 "vlc-${VERSION}" $(top_builddir)/tmp/* 
649 650

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

Sam Hocevar's avatar
Sam Hocevar committed
653 654 655
###############################################################################
# Stamp rules
###############################################################################
656
clean: clean-stamp
Sam Hocevar's avatar
Sam Hocevar committed
657
clean-stamp:
658
	rm -f stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
659 660 661 662 663 664 665 666 667 668

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

669 670 671 672
###############################################################################
# Force rule
###############################################################################
FORCE: